X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibraryServer.java;h=8d24c9f6d29c69cdea48ef0d41a6dfe1b654c500;hb=5f42f329b6d1dd0d61f49dd9947fe487c39160ee;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..8d24c9f 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[] {}); } @@ -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()); } });