X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibrary.java;h=9fa8c66190174bd1a92536b995d181a16bc8744a;hb=f433d15308b70e23280a65cef8c54002a7a971ce;hp=077a857cf9a748ddbd242b1af625b853ecf6d75e;hpb=5db598bc6386aaabe69f2eed55b03625c72c236b;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/library/RemoteLibrary.java b/src/be/nikiroo/fanfix/library/RemoteLibrary.java index 077a857..9fa8c66 100644 --- a/src/be/nikiroo/fanfix/library/RemoteLibrary.java +++ b/src/be/nikiroo/fanfix/library/RemoteLibrary.java @@ -21,6 +21,8 @@ import be.nikiroo.utils.serial.server.ConnectActionClientObject; * This {@link BasicLibrary} will access a remote server to list the available * stories, and download the ones you try to load to the local directory * specified in the configuration. + *

+ * This remote library uses a custom fanfix:// protocol. * * @author niki */ @@ -35,18 +37,13 @@ public class RemoteLibrary extends BasicLibrary { } @Override - public Object send(Object data) throws IOException, - NoSuchFieldException, NoSuchMethodException, + public Object send(Object data) + throws IOException, NoSuchFieldException, NoSuchMethodException, ClassNotFoundException { Object rep = super.send(data); if (rep instanceof RemoteLibraryException) { RemoteLibraryException remoteEx = (RemoteLibraryException) rep; - IOException cause = remoteEx.getCause(); - if (cause == null) { - cause = new IOException("IOException"); - } - - throw cause; + throw remoteEx.unwrapException(); } return rep; @@ -61,8 +58,6 @@ public class RemoteLibrary extends BasicLibrary { // informative only (server will make the actual checks) private boolean rw; - // TODO: error handling is not up to par! - /** * Create a {@link RemoteLibrary} linked to the given server. *

@@ -85,7 +80,7 @@ public class RemoteLibrary extends BasicLibrary { *

  • wl: flag to allow access to all the stories (bypassing the * whitelist if it exists)
  • * - * + *

    * Some examples: *