diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java index cbc4486a436a9034203b908cb252993c083917e3..c1a28f807e3a19dbcb38ede306d860404375b792 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java @@ -784,6 +784,11 @@ public interface ICommonClientService extends IClientService */ public Material getMaterialInfo(MaterialIdentifier identifier) throws UserFailureException; + /** + * For given {@link MaterialIdentifier} returns the corresponding {@link Material}. + */ + public Material getMaterialInfo(TechId techId) throws UserFailureException; + /** * For given {@link MaterialIdentifier} returns the corresponding * {@link IEntityInformationHolderWithPermId}. diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java index eadc781f65577bfff369c6c7ef5428136f4a32a3..a0e87eb0d6264647b2987ad48f8d61e1eff57ecb 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java @@ -692,6 +692,11 @@ public interface ICommonClientServiceAsync extends IClientServiceAsync public void getMaterialInfo(MaterialIdentifier materialIdentifier, AsyncCallback<Material> callback); + /** + * @see ICommonClientService#getMaterialInfo(TechId) + */ + public Material getMaterialInfo(TechId techId, AsyncCallback<Material> callback); + /** * @see ICommonClientService#getMaterialInformationHolder(MaterialIdentifier) */ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java index 42797c1e6934be9f5e9cdc6ce5b15e61981dece1..56cd5a3ac3835b96c68f7199c4b528b42a15335e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java @@ -1955,6 +1955,21 @@ public final class CommonClientService extends AbstractClientService implements } } + public Material getMaterialInfo(TechId techId) + throws ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException + { + final String sessionToken = getSessionToken(); + try + { + final Material material = commonServer.getMaterialInfo(sessionToken, techId); + transformXML(material); + return material; + } catch (final ch.systemsx.cisd.common.exceptions.UserFailureException e) + { + throw UserFailureExceptionTranslator.translate(e); + } + } + public String getTemplate(EntityKind entityKind, String type, boolean autoGenerate, boolean withExperiments, BatchOperationKind operationKind) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index 9715122a24d2c3fe087f6647e8c026c5e4428cf2..13a98bf00085ab3c33f769b7c42e243750bbcaa9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -183,6 +183,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomFilterPE; import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationHolderDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialPE; import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.NewRoleAssignment; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; @@ -1586,6 +1587,16 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt return MaterialTranslator.translate(materialBO.getMaterial()); } + public Material getMaterialInfo(final String sessionToken, final TechId materialId) + { + final Session session = getSession(sessionToken); + final IMaterialBO materialBO = businessObjectFactory.createMaterialBO(session); + materialBO.loadDataByTechId(materialId); + materialBO.enrichWithProperties(); + final MaterialPE material = materialBO.getMaterial(); + return MaterialTranslator.translate(material, true); + } + public IEntityInformationHolderWithPermId getMaterialInformationHolder(String sessionToken, MaterialIdentifier identifier) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java index 9a003a8c76be70db5da1b19c1d655aa55db8e3d2..02a46f3ade1caa8607bf53613b3723aebf416a02 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java @@ -767,6 +767,12 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe return null; } + public Material getMaterialInfo(final String sessionToken, final TechId materialId) + { + logAccess(sessionToken, "get_material_info", "ID(%s)", materialId); + return null; + } + public Date updateMaterial(String sessionToken, TechId materialId, List<IEntityProperty> properties, Date version) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java index c1ed9bd8b4cfea7558b885ffff21462e12e14d75..d4a129d61d2c957a886d299c43cf214a7b15eea6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java @@ -1020,6 +1020,13 @@ public interface ICommonServer extends IServer @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) public Material getMaterialInfo(String sessionToken, MaterialIdentifier identifier); + /** + * For given {@link TechId} returns the corresponding {@link Material}. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) + public Material getMaterialInfo(String sessionToken, TechId materialId); + /** * For given {@link MaterialIdentifier} returns the corresponding * {@link IEntityInformationHolder}. diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientService.java index 1363d956e8e1c09c5ba6eb1002aea7bd0d995673..effeb4fef160c5678777a9098333be7eb7c2528a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientService.java @@ -32,7 +32,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdates; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample; @@ -107,11 +106,6 @@ public interface IGenericClientService extends IClientService public List<BatchRegistrationResult> updateExperiments(final ExperimentType experimentType, final String sessionKey) throws UserFailureException; - /** - * For given {@link TechId} returns corresponding {@link Material}. - */ - public Material getMaterialInfo(final TechId materialId) throws UserFailureException; - /** * For given {@link TechId} returns corresponding {@link ExternalData}. */ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientServiceAsync.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientServiceAsync.java index fb626504f1a8de097998198c0d62574519340e77..293c940df31ecfc167ddcc0af95fd3053f1b7cc5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientServiceAsync.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/IGenericClientServiceAsync.java @@ -34,7 +34,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdates; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample; @@ -90,12 +89,6 @@ public interface IGenericClientServiceAsync extends IClientServiceAsync final AsyncCallback<List<BatchRegistrationResult>> asyncCallback) throws UserFailureException; - /** - * @see IGenericClientService#getMaterialInfo(TechId) - */ - public void getMaterialInfo(TechId materialId, - final AsyncCallback<Material> materialInfoCallback); - /** * @see IGenericClientService#getDataSetInfo(TechId) */ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialEditForm.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialEditForm.java index a60486cf72871db19628296533326058835c3801..c4a482d3fe2c3a8f4c1777577c3cf7e00b1a6c82 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialEditForm.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialEditForm.java @@ -132,7 +132,7 @@ public final class GenericMaterialEditForm extends @Override protected void loadForm() { - viewContext.getService().getMaterialInfo(techIdOrNull, + viewContext.getCommonService().getMaterialInfo(techIdOrNull, new MaterialInfoCallback(viewContext)); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java index 886203b9194af80f8801bca8600f9b795770f7b6..9311ef27986e5ecbedeb1c61bd59842d69c16892 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/material/GenericMaterialViewer.java @@ -83,7 +83,7 @@ abstract public class GenericMaterialViewer extends AbstractViewerWithVerticalSp protected void loadMaterialInfo(TechId materialTechId, AsyncCallback<Material> material) { - viewContext.getService().getMaterialInfo(materialTechId, material); + viewContext.getCommonService().getMaterialInfo(materialTechId, material); } }; viewer.reloadAllData(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java index 64a0e121dc3598bc23d7b13eb6e03bd4622d9fbf..8121483e16ef85c0c47d9492f25952c9737c1126 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java @@ -50,7 +50,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdates; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSetsWithTypes; @@ -187,20 +186,6 @@ public class GenericClientService extends AbstractClientService implements IGene } - public final Material getMaterialInfo(final TechId materialId) - { - try - { - final String sessionToken = getSessionToken(); - final Material material = genericServer.getMaterialInfo(sessionToken, materialId); - transformXML(material); - return material; - } catch (final ch.systemsx.cisd.common.exceptions.UserFailureException e) - { - throw UserFailureExceptionTranslator.translate(e); - } - } - public final ExternalData getDataSetInfo(final TechId datasetId) { try diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java index e538f35ff9929e8394c6a0b054627f652fa5cc33..4ed12dc99451035e36bb0e40d1d756f1998caa63 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java @@ -42,7 +42,6 @@ import ch.systemsx.cisd.openbis.generic.server.batch.BatchOperationExecutor; import ch.systemsx.cisd.openbis.generic.server.batch.IBatchOperation; import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager; import ch.systemsx.cisd.openbis.generic.server.business.bo.IExperimentBO; -import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.IMaterialTable; import ch.systemsx.cisd.openbis.generic.server.business.bo.IProjectBO; import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO; @@ -89,7 +88,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentBatchUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentUpdatesDTO; -import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialPE; import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleBatchUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -107,7 +105,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFa import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.translator.AttachmentTranslator; import ch.systemsx.cisd.openbis.generic.shared.translator.ExperimentTranslator; -import ch.systemsx.cisd.openbis.generic.shared.translator.MaterialTranslator; import ch.systemsx.cisd.openbis.generic.shared.translator.MaterialTypeTranslator; import ch.systemsx.cisd.openbis.generic.shared.translator.SampleTranslator; import ch.systemsx.cisd.openbis.generic.shared.util.ServerUtils; @@ -235,16 +232,6 @@ public final class GenericServer extends AbstractServer<IGenericServer> implemen ExperimentTranslator.LoadableFields.ATTACHMENTS); } - public Material getMaterialInfo(final String sessionToken, final TechId materialId) - { - final Session session = getSession(sessionToken); - final IMaterialBO materialBO = businessObjectFactory.createMaterialBO(session); - materialBO.loadDataByTechId(materialId); - materialBO.enrichWithProperties(); - final MaterialPE material = materialBO.getMaterial(); - return MaterialTranslator.translate(material, true); - } - public ExternalData getDataSetInfo(final String sessionToken, final TechId datasetId) { return commonServer.getDataSetInfo(sessionToken, datasetId); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServerLogger.java index 4b0fb1eb2c353fd29adabecde5cd7b68b0e96d1f..da756e54b7623b9170b4d415e4b4bc280bd49421 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServerLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServerLogger.java @@ -33,7 +33,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSetsWithTypes; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; @@ -93,12 +92,6 @@ final class GenericServerLogger extends AbstractServerLogger implements IGeneric newSample.getSampleType(), newSample.getIdentifier(), attachments.size()); } - public Material getMaterialInfo(final String sessionToken, final TechId materialId) - { - logAccess(sessionToken, "get_material_info", "ID(%s)", materialId); - return null; - } - public ExternalData getDataSetInfo(final String sessionToken, final TechId datasetId) { logAccess(sessionToken, "get_data_set_info", "ID(%s)", datasetId); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java index 7027063db24dba8e725cfec765bcc569cf59dda3..60370725b4c831179558f0b59d31bbb5cfbf5013 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java @@ -48,7 +48,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKin import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSetsWithTypes; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; @@ -101,13 +100,6 @@ public interface IGenericServer extends IServer @AuthorizationGuard(guardClass = NewSamplePredicate.class) final NewSample newSample, final Collection<NewAttachment> attachments); - /** - * For given {@link TechId} returns the corresponding {@link Material}. - */ - @Transactional(readOnly = true) - @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) - public Material getMaterialInfo(String sessionToken, TechId materialId); - /** * For given {@link TechId} returns the corresponding {@link ExternalData}. */ diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java index 13f04c7e46842c3d71098f4ab263b4377cdc5eac..20a416851eb62159188ad83b4911b982664b3c9c 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java @@ -64,6 +64,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GridCustomColumn; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewVocabulary; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType; @@ -577,6 +578,31 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest context.assertIsSatisfied(); } + @Test + public void testGetMaterialInfo() + { + final TechId id = new TechId(4711L); + context.checking(new Expectations() + { + { + prepareGetSessionToken(this); + + one(commonServer).getMaterialInfo(SESSION_TOKEN, id); + Material material = new Material(); + material.setProperties(Arrays.asList(createXmlProperty())); + will(returnValue(material)); + } + }); + + Material info = commonClientService.getMaterialInfo(id); + + IEntityProperty transformedXMLProperty = info.getProperties().get(0); + assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", + transformedXMLProperty.tryGetAsString()); + assertEquals("<root>hello</root>", transformedXMLProperty.tryGetOriginalValue()); + context.assertIsSatisfied(); + } + @Test public void testLogout() { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected index c1ed9bd8b4cfea7558b885ffff21462e12e14d75..d4a129d61d2c957a886d299c43cf214a7b15eea6 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected @@ -1020,6 +1020,13 @@ public interface ICommonServer extends IServer @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) public Material getMaterialInfo(String sessionToken, MaterialIdentifier identifier); + /** + * For given {@link TechId} returns the corresponding {@link Material}. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) + public Material getMaterialInfo(String sessionToken, TechId materialId); + /** * For given {@link MaterialIdentifier} returns the corresponding * {@link IEntityInformationHolder}. diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java index bd40ba91d547ca0ea2618009ce8186b918221105..4ef6d6c1358744a3452e9aaa5764e39b6cfa966e 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientServiceTest.java @@ -49,7 +49,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.GenericEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; @@ -212,31 +211,6 @@ public final class GenericClientServiceTest extends AbstractClientServiceTest context.assertIsSatisfied(); } - @Test - public void testGetMaterialInfo() - { - final TechId id = new TechId(4711L); - context.checking(new Expectations() - { - { - prepareGetSessionToken(this); - - one(genericServer).getMaterialInfo(SESSION_TOKEN, id); - Material material = new Material(); - material.setProperties(Arrays.asList(createXmlProperty())); - will(returnValue(material)); - } - }); - - Material info = genericClientService.getMaterialInfo(id); - - IEntityProperty transformedXMLProperty = info.getProperties().get(0); - assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><b>hello</b>", - transformedXMLProperty.tryGetAsString()); - assertEquals("<root>hello</root>", transformedXMLProperty.tryGetOriginalValue()); - context.assertIsSatisfied(); - } - @Test public final void testRegisterSample() { diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java.expected index 7027063db24dba8e725cfec765bcc569cf59dda3..60370725b4c831179558f0b59d31bbb5cfbf5013 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/plugin/generic/shared/IGenericServer.java.expected @@ -48,7 +48,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKin import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentUpdateResult; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSetsWithTypes; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment; @@ -101,13 +100,6 @@ public interface IGenericServer extends IServer @AuthorizationGuard(guardClass = NewSamplePredicate.class) final NewSample newSample, final Collection<NewAttachment> attachments); - /** - * For given {@link TechId} returns the corresponding {@link Material}. - */ - @Transactional(readOnly = true) - @RolesAllowed(RoleWithHierarchy.SPACE_OBSERVER) - public Material getMaterialInfo(String sessionToken, TechId materialId); - /** * For given {@link TechId} returns the corresponding {@link ExternalData}. */ diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java index 578497dee9416a1e16e7a26e5622d3edfcfef4ef..aa57e3112697cbc0f808c2f612ddbf2d8ecb6be4 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/BatchMaterialRegistrationAndUpdateTest.java @@ -188,7 +188,7 @@ public class BatchMaterialRegistrationAndUpdateTest extends SystemTestCase IEntityInformationHolderWithPermId m = commonClientService.getMaterialInformationHolder(new MaterialIdentifier(code, MATERIAL_TYPE)); - Material materialInfo = genericClientService.getMaterialInfo(new TechId(m.getId())); + Material materialInfo = commonClientService.getMaterialInfo(new TechId(m.getId())); assertEquals(code, materialInfo.getCode()); Collections.sort(materialInfo.getProperties(), new Comparator<IEntityProperty>() { diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ImagingMaterialViewer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ImagingMaterialViewer.java index 5854c2f0432947b2d8b588cc0734aede5aabb068..ca934c964dfbd291c184df7415ee247b5033d819 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ImagingMaterialViewer.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ImagingMaterialViewer.java @@ -26,11 +26,10 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.TabContent import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareComponent; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material; -import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.GenericViewContext; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.material.GenericMaterialViewer; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; -import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchCriteria; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchByProjectCriteria; +import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchCriteria; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.SingleExperimentSearchCriteria; /** @@ -70,8 +69,7 @@ public class ImagingMaterialViewer extends GenericMaterialViewer @Override protected void loadMaterialInfo(TechId materialTechId, AsyncCallback<Material> callback) { - new GenericViewContext(screeningViewContext.getCommonViewContext()).getService() - .getMaterialInfo(materialTechId, callback); + screeningViewContext.getCommonService().getMaterialInfo(materialTechId, callback); } @Override diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java index d93b2bcac28441d4742de054620688a5fd42df50..37460453df3b78d043d94a4e9c3081cf33c97778 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java @@ -264,7 +264,7 @@ public final class ScreeningServer extends AbstractServer<IScreeningServer> impl public Material getMaterialInfo(String sessionToken, TechId materialId) { - return genericServer.getMaterialInfo(sessionToken, materialId); + return commonServer.getMaterialInfo(sessionToken, materialId); } public Vocabulary getVocabulary(String sessionToken, String code) throws UserFailureException