X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibrary.java;h=ffcf8f19c9c34f2923a969443aaaaee69eba30b8;hb=41029926975167de96709f739f8393a127925a7e;hp=dc95f0d4ca761229e451ab714bb979155b771345;hpb=e1de8087ab1623f7624018af905ea3bb0ef45802;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/RemoteLibrary.java b/src/be/nikiroo/fanfix/library/RemoteLibrary.java index dc95f0d..ffcf8f1 100644 --- a/src/be/nikiroo/fanfix/library/RemoteLibrary.java +++ b/src/be/nikiroo/fanfix/library/RemoteLibrary.java @@ -58,6 +58,7 @@ public class RemoteLibrary extends BasicLibrary { ConnectActionClientObject action = null; try { + Instance.getTraceHandler().trace("Getting remote lib status..."); action = new ConnectActionClientObject(host, port, true) { @Override public void action(Version serverVersion) throws Exception { @@ -91,6 +92,7 @@ public class RemoteLibrary extends BasicLibrary { } } + Instance.getTraceHandler().trace("Remote lib status: " + result[0]); return result[0]; } @@ -120,14 +122,24 @@ public class RemoteLibrary extends BasicLibrary { @Override public Image getCustomSourceCover(final String source) { + return getCustomCover(source, "SOURCE"); + } + + @Override + public Image getCustomAuthorCover(final String author) { + return getCustomCover(author, "AUTHOR"); + } + + // type: "SOURCE" or "AUTHOR" + private Image getCustomCover(final String source, final String type) { final Image[] result = new Image[1]; try { new ConnectActionClientObject(host, port, true) { @Override public void action(Version serverVersion) throws Exception { - Object rep = send(new Object[] { md5, - "GET_CUSTOM_SOURCE_COVER", source }); + Object rep = send(new Object[] { md5, "GET_CUSTOM_COVER", + type, source }); result[0] = (Image) rep; } @@ -265,11 +277,22 @@ public class RemoteLibrary extends BasicLibrary { @Override public void setSourceCover(final String source, final String luid) { + setCover(source, luid, "SOURCE"); + } + + @Override + public void setAuthorCover(final String author, final String luid) { + setCover(author, luid, "AUTHOR"); + } + + // type = "SOURCE" | "AUTHOR" + private void setCover(final String value, final String luid, + final String type) { try { new ConnectActionClientObject(host, port, true) { @Override public void action(Version serverVersion) throws Exception { - send(new Object[] { md5, "SET_SOURCE_COVER", source, luid }); + send(new Object[] { md5, "SET_COVER", type, value, luid }); } @Override @@ -285,6 +308,13 @@ public class RemoteLibrary extends BasicLibrary { @Override // Could work (more slowly) without it public Story imprt(final URL url, Progress pg) throws IOException { + // Import the file locally if it is actually a file + if (url == null || url.getProtocol().equalsIgnoreCase("file")) { + return super.imprt(url, pg); + } + + // Import it remotely if it is an URL + if (pg == null) { pg = new Progress(); } @@ -341,8 +371,9 @@ public class RemoteLibrary extends BasicLibrary { @Override // Could work (more slowly) without it - public synchronized void changeSource(final String luid, - final String newSource, Progress pg) throws IOException { + protected synchronized void changeSTA(final String luid, + final String newSource, final String newTitle, + final String newAuthor, Progress pg) throws IOException { final Progress pgF = pg == null ? new Progress() : pg; try { @@ -351,8 +382,8 @@ public class RemoteLibrary extends BasicLibrary { public void action(Version serverVersion) throws Exception { Progress pg = pgF; - Object rep = send(new Object[] { md5, "CHANGE_SOURCE", - luid, newSource }); + Object rep = send(new Object[] { md5, "CHANGE_STA", luid, + newSource, newTitle, newAuthor }); while (true) { if (!RemoteLibraryServer.updateProgress(pg, rep)) { break; @@ -420,7 +451,7 @@ public class RemoteLibrary extends BasicLibrary { } @Override - protected void deleteInfo(String luid) { + protected void invalidateInfo(String luid) { // Will be taken care of directly server side } @@ -446,6 +477,8 @@ public class RemoteLibrary extends BasicLibrary { /** * Return the meta of the given story or a list of all known metas if the * luid is "*". + *

+ * Will not get the covers. * * @param luid * the luid of the story or *