diff src/nabble/model/export/ImportServerImpl.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nabble/model/export/ImportServerImpl.java	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,34 @@
+package nabble.model.export;
+
+import fschmidt.util.java.ProxyIntoThread;
+import nabble.model.Init;
+import nabble.model.ModelHome;
+import nabble.model.Site;
+import nabble.view.lib.Jtp;
+
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.rmi.RemoteException;
+
+
+public final class ImportServerImpl implements ImportServer {
+	private static final long timeout = Init.get("importTimeout",1000L*60*60);  // 1 hour
+
+	public Import newImport(String permalink,long nodeId) throws RemoteException, MalformedURLException {
+		URL url = new URL(permalink);
+		String domain = url.getHost();
+		Long siteId = Jtp.getSiteIdFromDomain(domain);
+		Site site = ModelHome.getSite(siteId);
+
+		AbstractImportImpl imp = new ImportImpl(site);
+		ProxyIntoThread<Import> pit = new ProxyIntoThread<Import>( "importing "+nodeId, timeout, imp, Import.class );
+		imp.setProxy(pit);
+		return Init.rmiExport(pit.newInstance());
+	}
+
+	private static final ImportServerImpl importServer = new ImportServerImpl();
+
+	public static void bind() {
+		Init.rmiBind("import",importServer);
+	}
+}