X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibraryServer.java;h=aa5f3056a2536981850498c17fb5a6e560bd1f4f;hb=c8d48938ca540d7b619a2c19bd76623d689b72cb;hp=7d5a0ae10d988f1a79f52f7732dfb0411e5f057e;hpb=e1de8087ab1623f7624018af905ea3bb0ef45802;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java index 7d5a0ae..aa5f305 100644 --- a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java +++ b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java @@ -92,7 +92,7 @@ public class RemoteLibraryServer extends ServerObject { } } - String trace = "[" + command + "] "; + String trace = "[ " + command + "] "; for (Object arg : args) { trace += arg + " "; } @@ -103,12 +103,39 @@ public class RemoteLibraryServer extends ServerObject { return null; } + long start = new Date().getTime(); + Object rep = doRequest(action, command, args); + + getTraceHandler().trace( + String.format("[>%s]: %d ms", command, + (new Date().getTime() - start))); + + return rep; + } + + private Object doRequest(ConnectActionServerObject action, String command, + Object[] args) throws NoSuchFieldException, NoSuchMethodException, + ClassNotFoundException, IOException { if ("PING".equals(command)) { return "PONG"; } else if ("GET_METADATA".equals(command)) { if ("*".equals(args[0])) { Progress pg = createPgForwarder(action); - List metas = Instance.getLibrary().getMetas(pg); + + List metas = new ArrayList(); + + for (MetaData meta : Instance.getLibrary().getMetas(pg)) { + MetaData light; + if (meta.getCover() == null) { + light = meta; + } else { + light = meta.clone(); + light.setCover(null); + } + + metas.add(light); + } + forcePgDoneSent(pg); return metas.toArray(new MetaData[] {}); } @@ -158,10 +185,10 @@ public class RemoteLibraryServer extends ServerObject { } else if ("SET_SOURCE_COVER".equals(command)) { Instance.getLibrary().setSourceCover((String) args[0], (String) args[1]); - } else if ("CHANGE_SOURCE".equals(command)) { + } else if ("CHANGE_STA".equals(command)) { Progress pg = createPgForwarder(action); - Instance.getLibrary().changeSource((String) args[0], - (String) args[1], pg); + Instance.getLibrary().changeSTA((String) args[0], (String) args[1], + (String) args[2], (String) args[3], pg); forcePgDoneSent(pg); } else if ("EXIT".equals(command)) { stop(0, false); @@ -304,9 +331,10 @@ public class RemoteLibraryServer extends ServerObject { Instance.getTraceHandler().error(e); } - isDoneForwarded[0] = pg.isDone(); lastTime[0] = new Date().getTime(); } + + isDoneForwarded[0] = (pg.getProgress() >= pg.getMax()); } });