view 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 source

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);
	}
}