X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Flauncher%2FMain.java;h=1a77291c28903120079f430661ca181f7ac4a6dd;hb=aecb3399b756d2ba04223bc6f553999fce73f9fb;hp=997cdecc4842b0759b183bbdc243c32137c3a0fa;hpb=02b341aa6dcd14dc311f6ea218e199f20e242f36;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/launcher/Main.java b/src/be/nikiroo/jvcard/launcher/Main.java index 997cdec..1a77291 100644 --- a/src/be/nikiroo/jvcard/launcher/Main.java +++ b/src/be/nikiroo/jvcard/launcher/Main.java @@ -9,6 +9,7 @@ import java.util.LinkedList; import java.util.List; import be.nikiroo.jvcard.Card; +import be.nikiroo.jvcard.launcher.CardResult.MergeCallback; import be.nikiroo.jvcard.parsers.Format; import be.nikiroo.jvcard.remote.Command; import be.nikiroo.jvcard.remote.SimpleSocket; @@ -27,7 +28,7 @@ import be.nikiroo.jvcard.resources.Trans.StringId; */ public class Main { static public final String APPLICATION_TITLE = "jVcard"; - static public final String APPLICATION_VERSION = "1.0-beta2-dev"; + static public final String APPLICATION_VERSION = "1.0-beta3-dev"; static private final int ERR_NO_FILE = 1; static private final int ERR_SYNTAX = 2; @@ -35,15 +36,18 @@ public class Main { static private Trans transService; /** - * Translate the given {@link StringId}. + * Translate the given {@link StringId} into user text. * - * @param id + * @param stringId * the ID to translate + * @param values + * the values to insert instead of the place holders in the + * translation * - * @return the translation + * @return the translated text with the given value where required */ - static public String trans(StringId id) { - return transService.trans(id); + static public String trans(StringId id, String... values) { + return transService.trans(id, (String[]) values); } /** @@ -167,6 +171,12 @@ public class Main { } } + // Force headless mode if we run in forced-text mode + if (textMode != null && textMode) { + // same as -Djava.awt.headless=true + System.setProperty("java.awt.headless", "true"); + } + if (unicode) { utf8(); } @@ -243,13 +253,18 @@ public class Main { * @param input * a filename or a remote jvcard url with named resource (e.g.: * jvcard://localhost:4444/coworkers.vcf) + * @param callback + * the {@link MergeCallback} to call in case of conflict, or NULL + * to disallow conflict management (the {@link Card} will not be + * allowed to synchronise in case of conflicts) * * @return the {@link Card} * * @throws IOException * in case of IO error or remoting not available */ - static public Card getCard(String input) throws IOException { + static public CardResult getCard(String input, MergeCallback callback) + throws IOException { boolean remote = false; Format format = Format.Abook; String ext = input; @@ -265,12 +280,13 @@ public class Main { remote = true; } - Card card = null; + CardResult card = null; try { if (remote) { - card = Optional.syncCard(input); + card = Optional.syncCard(input, callback); } else { - card = new Card(new File(input), format); + card = new CardResult(new Card(new File(input), format), false, + false, false); } } catch (IOException ioe) { throw ioe;