abstract protected Response getStoryPart(String uri, WLoginResult login);
+ abstract protected Response setStoryPart(String uri, String value,
+ WLoginResult login) throws IOException;
+
abstract protected Response getCover(String uri, WLoginResult login)
throws IOException;
abstract protected Story story(String luid, WLoginResult login)
throws IOException;
+ protected abstract Response imprt(String uri, String url,
+ WLoginResult login) throws IOException;
+
+ protected abstract Response imprtProgress(String uri, WLoginResult login);
+
+ protected abstract Response delete(String uri, WLoginResult login)
+ throws IOException;
+
+ /**
+ * Wait until all operations are done and stop the server.
+ * <p>
+ * All the new R/W operations will be refused after a call to stop.
+ */
+ protected abstract Response stop(WLoginResult login);
+
public WebLibraryServerHtml(boolean secure) throws IOException {
Integer port = Instance.getInstance().getConfig()
.getInteger(Config.SERVER_PORT);
} else if (WebLibraryUrls.isListUrl(uri)) {
rep = getList(uri, login);
} else if (WebLibraryUrls.isStoryUrl(uri)) {
- rep = getStoryPart(uri, login);
+ String value = params.get("value");
+ if (value != null) {
+ rep = setStoryPart(uri, value, login);
+ } else {
+ rep = getStoryPart(uri, login);
+ }
} else if (WebLibraryUrls.isViewUrl(uri)) {
rep = getViewer(cookies, uri, login);
} else if (WebLibraryUrls.LOGOUT_URL.equals(uri)) {
session.getCookies().delete("cookie");
cookies.remove("cookie");
rep = loginPage(login(false, false), uri);
+ } else if (WebLibraryUrls.isImprtUrl(uri)) {
+ String url = params.get("url");
+ if (url != null) {
+ rep = imprt(uri, url, login);
+ } else {
+ rep = imprtProgress(uri, login);
+ }
+ } else if (WebLibraryUrls.isDeleteUrl(uri)) {
+ rep = delete(uri, login);
+ } else if (WebLibraryUrls.EXIT_URL.equals(uri)) {
+ rep = WebLibraryServerHtml.this.stop(login);
} else {
getTraceHandler().error(
"Supported URL was not processed: "
}
};
- if (ssf != null)
-
- {
+ if (ssf != null) {
getTraceHandler().trace("Install SSL on the web server...");
server.makeSecure(ssf, null);
getTraceHandler().trace("Done.");
}
}
+ protected void doStop() {
+ server.stop();
+ }
+
/**
* The traces handler for this {@link WebLibraryServerHtml}.
*