Skip to content
Snippets Groups Projects
Commit 43b2473d authored by gakin's avatar gakin
Browse files

SSDM-4389 : Get hold of MasterDataRegistrationTRansaction to use in master data retrieval.

SVN: 37491
parent d04a6b18
No related branches found
No related tags found
No related merge requests found
......@@ -15,10 +15,18 @@
*/
package ch.ethz.sis.openbis.generic.server.dss;
import org.apache.commons.lang.time.DateUtils;
import ch.ethz.sis.openbis.generic.server.EntityRetriever;
import ch.systemsx.cisd.common.spring.HttpInvokerUtils;
import ch.systemsx.cisd.common.ssl.SslCertificateHelper;
import ch.systemsx.cisd.openbis.dss.generic.server.oaipmh.JythonBasedRequestHandler;
import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.IRequestHandlerPluginScriptRunner;
import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider;
import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IMasterDataRegistrationTransaction;
import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl.EncapsulatedCommonServer;
import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl.MasterDataRegistrationService;
import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
import ch.systemsx.cisd.openbis.generic.shared.dto.SessionContextDTO;
/**
......@@ -32,8 +40,19 @@ public class ResourceSyncRequestHandler extends JythonBasedRequestHandler
protected void setVariables(IRequestHandlerPluginScriptRunner runner, SessionContextDTO session)
{
super.setVariables(runner, session);
String url = ServiceProvider.getConfigProvider().getOpenBisServerUrl() + properties.get("server-url");
String openBisUrl = ServiceProvider.getConfigProvider().getOpenBisServerUrl();
SslCertificateHelper.trustAnyCertificate(openBisUrl);
ICommonServer commonService =
HttpInvokerUtils.createServiceStub(ICommonServer.class, openBisUrl + "/openbis/rmi-common",
5 * DateUtils.MILLIS_PER_MINUTE);
EncapsulatedCommonServer encapsulatedServer = EncapsulatedCommonServer.create(commonService, session.getSessionToken());
MasterDataRegistrationService service = new MasterDataRegistrationService(encapsulatedServer);
IMasterDataRegistrationTransaction masterDataRegistrationTransaction = service.transaction();
runner.setVariable(V3_ENTITY_RETRIEVER_VARIABLE_NAME,
EntityRetriever.createWithSessionToken(ServiceProvider.getV3ApplicationService(), session.getSessionToken()));
EntityRetriever.createWithMasterDataRegistationTransaction(ServiceProvider.getV3ApplicationService(), session.getSessionToken(),
masterDataRegistrationTransaction));
}
}
......@@ -80,6 +80,8 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria
import ch.ethz.sis.openbis.generic.shared.entitygraph.Edge;
import ch.ethz.sis.openbis.generic.shared.entitygraph.EntityGraph;
import ch.ethz.sis.openbis.generic.shared.entitygraph.Node;
import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IMasterDataRegistrationTransaction;
import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IPropertyTypeImmutable;
public class EntityRetriever
{
......@@ -87,19 +89,28 @@ public class EntityRetriever
private final IApplicationServerApi v3Api;
private final IMasterDataRegistrationTransaction masterDataRegistrationTransaction;
private final String sessionToken;
private static final int TIMEOUT = 10000;
private EntityRetriever(IApplicationServerApi v3Api, String sessionToken)
private EntityRetriever(IApplicationServerApi v3Api, String sessionToken, IMasterDataRegistrationTransaction masterDataRegistrationTransaction)
{
this.v3Api = v3Api;
this.sessionToken = sessionToken;
this.masterDataRegistrationTransaction = masterDataRegistrationTransaction;
}
public static EntityRetriever createWithMasterDataRegistationTransaction(IApplicationServerApi v3Api, String sessionToken,
IMasterDataRegistrationTransaction masterDataRegistrationTransaction)
{
return new EntityRetriever(v3Api, sessionToken, masterDataRegistrationTransaction);
}
public static EntityRetriever createWithSessionToken(IApplicationServerApi v3Api, String sessionToken)
{
return new EntityRetriever(v3Api, sessionToken);
return new EntityRetriever(v3Api, sessionToken, null);
}
public EntityGraph<Node<?>> getEntityGraph(String spaceId)
......@@ -557,12 +568,16 @@ public class EntityRetriever
}
}
public List<IPropertyTypeImmutable> listPropertyTypes()
{
return masterDataRegistrationTransaction.listPropertyTypes();
}
private List<DataSetType> getDataSetTypes()
{
DataSetTypeSearchCriteria searchCriteria = new DataSetTypeSearchCriteria();
DataSetTypeFetchOptions fetchOptions = new DataSetTypeFetchOptions();
fetchOptions.withPropertyAssignments().withPropertyType().withVocabulary();
// withPropertyAssignments.withPropertyType();
SearchResult<DataSetType> searchResult = v3Api.searchDataSetTypes(sessionToken, searchCriteria, fetchOptions);
return searchResult.getObjects();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment