Fix remote saving
[nikiroo-utils.git] / src / be / nikiroo / fanfix / library / RemoteLibraryServer.java
index 6a62b6f09e5373e0afcd0151019cebc3dc21084c..c93f0f35c600b90a05ded37322da4751f90a0d4e 100644 (file)
@@ -32,7 +32,7 @@ import be.nikiroo.utils.serial.server.ServerObject;
  * <li>[md5] GET_STORY [luid]: will return the given story if it exists (or NULL
  * if not)</li>
  * <li>[md5] SAVE_STORY [luid]: save the story (that must be sent just after the
- * command) with the given LUID</li>
+ * command) with the given LUID, then return the LUID</li>
  * <li>[md5] DELETE_STORY [luid]: delete the story of LUID luid</li>
  * <li>[md5] GET_COVER [luid]: return the cover of the story</li>
  * <li>[md5] GET_SOURCE_COVER [source]: return the cover for this source</li>
@@ -98,7 +98,7 @@ public class RemoteLibraryServer extends ServerObject {
                if ("PING".equals(command)) {
                        return "PONG";
                } else if ("GET_METADATA".equals(command)) {
-                       if (args[0].equals("*")) {
+                       if ("*".equals(args[0])) {
                                List<MetaData> metas = Instance.getLibrary().getMetas(
                                                createPgForwarder(action));
                                return metas.toArray(new MetaData[] {});
@@ -106,14 +106,15 @@ public class RemoteLibraryServer extends ServerObject {
                        throw new InvalidParameterException(
                                        "only * is valid here, but you passed: " + args[0]);
                } else if ("GET_STORY".equals(command)) {
-                       MetaData meta = Instance.getLibrary().getInfo("" + args[0]);
+                       MetaData meta = Instance.getLibrary().getInfo((String) args[0]);
                        meta = meta.clone();
                        meta.setCover(null);
 
                        action.send(meta);
                        action.rec();
 
-                       Story story = Instance.getLibrary().getStory("" + args[0], null);
+                       Story story = Instance.getLibrary()
+                                       .getStory((String) args[0], null);
                        for (Object obj : breakStory(story)) {
                                action.send(obj);
                                action.rec();
@@ -130,15 +131,17 @@ public class RemoteLibraryServer extends ServerObject {
                        }
 
                        Story story = rebuildStory(list);
-                       Instance.getLibrary().save(story, "" + args[0], null);
+                       Instance.getLibrary().save(story, (String) args[0], null);
+                       return story.getMeta().getLuid();
                } else if ("DELETE_STORY".equals(command)) {
-                       Instance.getLibrary().delete("" + args[0]);
+                       Instance.getLibrary().delete((String) args[0]);
                } else if ("GET_COVER".equals(command)) {
-                       return Instance.getLibrary().getCover("" + args[0]);
+                       return Instance.getLibrary().getCover((String) args[0]);
                } else if ("GET_SOURCE_COVER".equals(command)) {
-                       return Instance.getLibrary().getSourceCover("" + args[0]);
+                       return Instance.getLibrary().getSourceCover((String) args[0]);
                } else if ("SET_SOURCE_COVER".equals(command)) {
-                       Instance.getLibrary().setSourceCover("" + args[0], "" + args[1]);
+                       Instance.getLibrary().setSourceCover((String) args[0],
+                                       (String) args[1]);
                } else if ("EXIT".equals(command)) {
                        stop(0, false);
                }