diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetTypeGrid.java index acd47b06a1751f787360ac1df7e9dab7006eb4d4..7bf476cc33aab15300d0947dcabb020b9af707cf 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/DataSetTypeGrid.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.data; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.createOrDelete; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; @@ -38,6 +40,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetCo import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Script; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ScriptType; @@ -276,4 +280,16 @@ public class DataSetTypeGrid extends AbstractEntityTypeGrid<DataSetType> { return (AddEntityTypeDialog<DataSetType>) createRegisterEntityTypeDialog("New DataSet", newType, newType.getEntityKind()); } + + @Override + public DatabaseModificationKind[] getRelevantModifications() + { + return new DatabaseModificationKind[] { createOrDelete(ObjectKind.DATASET_TYPE), + edit(ObjectKind.DATASET_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE), + edit(ObjectKind.PROPERTY_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT), + edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) + }; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentTypeGrid.java index 1fdf34c68a07d865cabfd3aa79e58fd611362656..2594baa367a6522a7ddb034c9d845794adc4b26a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/experiment/ExperimentTypeGrid.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.createOrDelete; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; @@ -27,6 +29,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ID import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; @@ -57,10 +61,11 @@ public class ExperimentTypeGrid extends AbstractEntityTypeGrid<ExperimentType> } @Override - public AddEntityTypeDialog<ExperimentType> getNewDialog(ExperimentType newType) { + public AddEntityTypeDialog<ExperimentType> getNewDialog(ExperimentType newType) + { return (AddEntityTypeDialog<ExperimentType>) createRegisterEntityTypeDialog("New Experiment", newType, newType.getEntityKind()); } - + @Override protected void listTableRows( DefaultResultSetConfig<String, TableModelRowWithObject<ExperimentType>> resultSetConfig, @@ -94,4 +99,16 @@ public class ExperimentTypeGrid extends AbstractEntityTypeGrid<ExperimentType> { return new ExperimentType(); } + + @Override + public DatabaseModificationKind[] getRelevantModifications() + { + return new DatabaseModificationKind[] { createOrDelete(ObjectKind.EXPERIMENT_TYPE), + edit(ObjectKind.EXPERIMENT_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE), + edit(ObjectKind.PROPERTY_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT), + edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) + }; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialTypeGrid.java index 4bef76e19f74c25e5b607be972c2ccdcd319bd67..eb4d0c7a7b0bbf329c2c2edc107059df00646d65 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/material/MaterialTypeGrid.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.material; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.createOrDelete; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; @@ -27,6 +29,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ID import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; @@ -57,10 +61,11 @@ public class MaterialTypeGrid extends AbstractEntityTypeGrid<MaterialType> } @Override - public AddEntityTypeDialog<MaterialType> getNewDialog(MaterialType newType) { + public AddEntityTypeDialog<MaterialType> getNewDialog(MaterialType newType) + { return (AddEntityTypeDialog<MaterialType>) createRegisterEntityTypeDialog("New Material", newType, newType.getEntityKind()); } - + @Override protected void listTableRows( DefaultResultSetConfig<String, TableModelRowWithObject<MaterialType>> resultSetConfig, @@ -94,4 +99,16 @@ public class MaterialTypeGrid extends AbstractEntityTypeGrid<MaterialType> { return new MaterialType(); } + + @Override + public DatabaseModificationKind[] getRelevantModifications() + { + return new DatabaseModificationKind[] { createOrDelete(ObjectKind.MATERIAL_TYPE), + edit(ObjectKind.MATERIAL_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE), + edit(ObjectKind.PROPERTY_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT), + edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) + }; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java index dcac16375adcec14cf26a2aa1d30bd2671a63b05..31537ecd706804278d5b1d1245d5102c0a4e4945 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleTypeGrid.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.createOrDelete; +import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.edit; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict; @@ -35,6 +37,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.Dialo import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TypedTableResultSet; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRowWithObject; @@ -82,10 +86,11 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> } @Override - public AddEntityTypeDialog<SampleType> getNewDialog(SampleType newType) { + public AddEntityTypeDialog<SampleType> getNewDialog(SampleType newType) + { return (AddEntityTypeDialog<SampleType>) createRegisterEntityTypeDialog("New Sample", newType, newType.getEntityKind()); } - + @Override protected void listTableRows( DefaultResultSetConfig<String, TableModelRowWithObject<SampleType>> resultSetConfig, @@ -286,4 +291,17 @@ public class SampleTypeGrid extends AbstractEntityTypeGrid<SampleType> } } + + @Override + public DatabaseModificationKind[] getRelevantModifications() + { + return new DatabaseModificationKind[] { createOrDelete(ObjectKind.SAMPLE_TYPE), + edit(ObjectKind.SAMPLE_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE), + edit(ObjectKind.PROPERTY_TYPE), + createOrDelete(ObjectKind.PROPERTY_TYPE_ASSIGNMENT), + edit(ObjectKind.PROPERTY_TYPE_ASSIGNMENT) + }; + } + } 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 f2dd4a19009f5a3284b8f92ee7c020407e037796..c8a1e4e10428a7504248b626f542b95a87e6599f 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 @@ -496,21 +496,23 @@ public interface ICommonServer extends IServer * Creates and assigns property type to entity type. */ @Transactional - @DatabaseCreateOrDeleteModification(value = ObjectKind.PROPERTY_TYPE) + @DatabaseCreateOrDeleteModification(value = { ObjectKind.PROPERTY_TYPE, ObjectKind.PROPERTY_TYPE_ASSIGNMENT, ObjectKind.DATASET_TYPE, + ObjectKind.SAMPLE_TYPE, ObjectKind.EXPERIMENT_TYPE, ObjectKind.MATERIAL_TYPE }) public String registerEntitytypeAndAssignPropertyTypes(final String sessionToken, NewETNewPTAssigments newETNewPTAssigments); /** * Updates and assigns property type to entity type. */ @Transactional - @DatabaseCreateOrDeleteModification(value = ObjectKind.PROPERTY_TYPE) + @DatabaseCreateOrDeleteModification(value = { ObjectKind.PROPERTY_TYPE, ObjectKind.PROPERTY_TYPE_ASSIGNMENT, ObjectKind.DATASET_TYPE, + ObjectKind.SAMPLE_TYPE, ObjectKind.EXPERIMENT_TYPE, ObjectKind.MATERIAL_TYPE }) public String updateEntitytypeAndPropertyTypes(final String sessionToken, NewETNewPTAssigments newETNewPTAssigments); /** * Creates and assigns property type to entity type. */ @Transactional - @DatabaseCreateOrDeleteModification(value = ObjectKind.PROPERTY_TYPE) + @DatabaseCreateOrDeleteModification(value = { ObjectKind.PROPERTY_TYPE, ObjectKind.PROPERTY_TYPE_ASSIGNMENT }) public String registerAndAssignPropertyType(final String sessionToken, PropertyType propertyType, NewETPTAssignment assignment); /**