tabular-data-manager/src/main/java/org/gcube/portlets/user/td/server/TabularDataServiceImpl.java

80 lines
2.8 KiB
Java

package org.gcube.portlets.user.td.server;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.application.framework.core.session.SessionManager;
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
import org.gcube.portlets.user.td.client.rpc.TabularDataService;
import org.gcube.portlets.user.td.gwtservice.shared.Constants;
import org.gcube.portlets.user.tdwx.datasource.td.TDXDataSourceFactory;
import org.gcube.portlets.user.tdwx.server.datasource.DataSourceXFactoryRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
//import org.gcube.portlets.user.td.ciw.server.CSVTDImporter;
//import org.gcube.portlets.user.td.importer.server.TabularDataImporterManager;
/**
* The server side implementation of the RPC service.
*/
@SuppressWarnings("serial")
public class TabularDataServiceImpl extends RemoteServiceServlet implements TabularDataService {
protected static Logger logger = LoggerFactory.getLogger(TabularDataServiceImpl.class);
/**
* {@inheritDoc}
*/
@Override
public void init() throws ServletException {
super.init();
/*System.out.println("initializing the TabularDataImportManager");
TabularDataImporterManager importerManager = new TabularDataImporterManager();
//importerManager.scanAvailableImporters();
importerManager.add(new CSVTDImporter());
importerManager.setupImporters();
*/
//register the demo csv target
//CSVTargetRegistry.getInstance().add(new DemoCSVTarget());
//System.out.println("Registered DemoCSVTarget");
//ScopeProvider.instance.get();
System.out.println("Fix JAXP: jdk.xml.entityExpansionLimit=0");
System.setProperty("jdk.xml.entityExpansionLimit", "0");
System.out.println("initializing TDXDataSourceFactory");
DataSourceXFactoryRegistry.getInstance().add(new TDXDataSourceFactory());
}
protected static ASLSession getAslSession(HttpSession httpSession)
{
String username = (String) httpSession.getAttribute(ScopeHelper.USERNAME_ATTRIBUTE);
if (username == null) {
logger.warn("no user found in session, using test one");
username = Constants.DEFAULT_USER;
String scope = Constants.DEFAULT_SCOPE;
httpSession.setAttribute(ScopeHelper.USERNAME_ATTRIBUTE, username);
ASLSession session = SessionManager.getInstance().getASLSession(httpSession.getId(), username);
session.setScope(scope);
return session;
} else {
return SessionManager.getInstance().getASLSession(httpSession.getId(), username);
}
}
/**
* {@inheritDoc}
*/
public String greetServer(String input) throws IllegalArgumentException {
getAslSession(this.getThreadLocalRequest().getSession());
return "Hello";
}
}