X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibraryServer.java;h=f92c37e8e2ecaf6a1b7604d6b0c914a56b03131a;hb=8831d290121e3a77f535ce06d61968a26ccf172a;hp=55c50c1b44e13fc7c682211529ac83d00098f018;hpb=22b2b942b8e2ca32e03d5e54f787a7efe10bcd04;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java deleted file mode 100644 index 55c50c1..0000000 --- a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java +++ /dev/null @@ -1,115 +0,0 @@ -package be.nikiroo.fanfix.library; - -import java.io.IOException; -import java.security.InvalidParameterException; -import java.util.List; - -import be.nikiroo.fanfix.Instance; -import be.nikiroo.fanfix.data.MetaData; -import be.nikiroo.fanfix.data.Story; -import be.nikiroo.utils.Version; -import be.nikiroo.utils.serial.server.ConnectActionServerObject; -import be.nikiroo.utils.serial.server.ServerObject; - -/** - * Create a new remote server that will listen for order on the given port. - *

- * The available commands are given as arrays of objects (first item is the key, - * second is the command, the rest are the arguments). - *

- * The key is always a String, the commands are also Strings; the parameters - * vary depending upon the command. - *

- * - * @author niki - */ -public class RemoteLibraryServer extends ServerObject { - private final String key; - - /** - * Create a new remote server (will not be active until - * {@link RemoteLibraryServer#start()} is called). - * - * @param key - * the key that will restrict access to this server - * @param port - * the port to listen on - * - * @throws IOException - * in case of I/O error - */ - public RemoteLibraryServer(String key, int port) throws IOException { - super("Fanfix remote library", port, true); - this.key = key; - } - - @Override - protected Object onRequest(ConnectActionServerObject action, - Version clientVersion, Object data) throws Exception { - String key = ""; - String command = ""; - Object[] args = new Object[0]; - if (data instanceof Object[]) { - Object[] dataArray = (Object[]) data; - if (dataArray.length >= 2) { - args = new Object[dataArray.length - 2]; - for (int i = 2; i < dataArray.length; i++) { - args[i - 2] = dataArray[i]; - } - - key = "" + dataArray[0]; - command = "" + dataArray[1]; - } - } - - System.out.print("[" + command + "] "); - for (Object arg : args) { - System.out.print(arg + " "); - } - System.out.println(""); - - if (!key.equals(this.key)) { - System.out.println("Key rejected."); - throw new SecurityException("Invalid key"); - } - - // TODO: progress (+send name + %age info back to client) - - if ("GET_METADATA".equals(command)) { - if (args[0].equals("*")) { - List metas = Instance.getLibrary().getMetas(null); - return metas.toArray(new MetaData[] {}); - } - throw new InvalidParameterException( - "only * is valid here, but you passed: " + args[0]); - } else if ("GET_STORY".equals(command)) { - return Instance.getLibrary().getStory("" + args[0], null); - } else if ("SAVE_STORY".equals(command)) { - Instance.getLibrary().save((Story) args[0], "" + args[1], null); - } else if ("DELETE_STORY".equals(command)) { - Instance.getLibrary().delete("" + args[0]); - } else if ("GET_COVER".equals(command)) { - return Instance.getLibrary().getCover("" + args[0]); - } else if ("GET_SOURCE_COVER".equals(command)) { - return Instance.getLibrary().getSourceCover("" + args[0]); - } else if ("SET_SOURCE_COVER".equals(command)) { - Instance.getLibrary().setSourceCover("" + args[0], "" + args[1]); - } else if ("EXIT".equals(command)) { - stop(0, false); - } - - return null; - } -}