X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibraryServer.java;h=4f89a1fa19263c9d4bedf513274442660d3a023f;hb=541f433a46c106d9e22c6057797258856ed8b705;hp=583629382662294b9e6fb7e1279cd6001c35dc02;hpb=62c63b0724f4bc45999cb2e7186b4b3ada479a0a;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 5836293..0000000 --- a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java +++ /dev/null @@ -1,112 +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 String arrays (first item is the key, - * second is the command, the rest are the arguments): - *

- * - * @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(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; - } -}