From fcd76b34070bcce99c0e01f3d2b64ea3d1f154f9 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Thu, 19 May 2016 18:33:59 +0000 Subject: [PATCH] SSDM-3543 : V3 AS API - improve context information in exceptions - make IIdentityHolder available in all progress classes + report progress in verify executors SVN: 36554 --- .../openbis-v3-api-test/html/test/common.js | 5 + .../html/test/test-update.js | 6 +- .../server/asapi/v3/context/Progress.java | 26 +++-- .../asapi/v3/context/ProgressDetails.java | 52 ++++++++++ .../ProgressDetailsToStringBuilder.java} | 6 +- .../ProgressDetailsToStringStyle.java} | 10 +- .../asapi/v3/context/ProgressFormatter.java | 2 +- .../dataset/CreateDataSetExecutor.java | 4 +- .../dataset/UpdateDataSetExecutor.java | 4 +- .../UpdateDataSetPropertyExecutor.java | 5 +- ...ifyDataSetSampleAndExperimentExecutor.java | 23 ++++- .../entity/AbstractCreateEntityExecutor.java | 15 +-- ...ctSetEntityExperimentRelationExecutor.java | 4 +- ...stractSetEntitySampleRelationExecutor.java | 4 +- ...stractSetEntityToManyRelationExecutor.java | 10 +- ...bstractSetEntityToOneRelationExecutor.java | 12 ++- .../entity/AbstractUpdateEntityExecutor.java | 14 +-- ...actUpdateEntityToManyRelationExecutor.java | 9 +- ...ractUpdateEntityToOneRelationExecutor.java | 10 +- .../experiment/CreateExperimentExecutor.java | 4 +- .../experiment/UpdateExperimentExecutor.java | 6 +- .../UpdateExperimentPropertyExecutor.java | 5 +- .../material/CreateMaterialExecutor.java | 4 +- .../material/UpdateMaterialExecutor.java | 4 +- .../UpdateMaterialPropertyExecutor.java | 5 +- .../project/CreateProjectExecutor.java | 4 +- .../project/UpdateProjectExecutor.java | 4 +- ...IAbstractUpdateEntityPropertyExecutor.java | 4 +- .../UpdateEntityPropertyExecutor.java | 35 ++++--- .../VerifyEntityPropertyExecutor.java | 4 +- .../executor/sample/CreateSampleExecutor.java | 4 +- .../sample/SetSampleContainerExecutor.java | 6 +- .../executor/sample/UpdateSampleExecutor.java | 6 +- .../sample/UpdateSamplePropertyExecutor.java | 5 +- .../sample/VerifySampleContainerExecutor.java | 39 +++++--- .../VerifySampleExperimentExecutor.java | 4 +- .../sample/VerifySampleParentsExecutor.java | 23 ++++- .../sample/VerifySampleProjectExecutor.java | 4 +- .../executor/space/CreateSpaceExecutor.java | 4 +- .../v3/executor/tag/CreateTagExecutor.java | 4 +- .../entity/progress/CheckAccessProgress.java | 35 ++++++- .../entity/progress/CheckDataProgress.java | 34 ++++++- ...ntityProgress.java => CreateProgress.java} | 19 +++- .../entity/progress/EntityProgress.java | 95 +++++++++++++++++++ ...Progress.java => SetRelationProgress.java} | 20 +++- .../UpdateEntityPropertyProgress.java | 59 ------------ .../progress/UpdatePropertyProgress.java | 48 ++++++++++ ...gress.java => UpdateRelationProgress.java} | 20 +++- ...ntityProgress.java => VerifyProgress.java} | 8 +- .../generic/shared/basic/IIdentityHolder.java | 25 +++++ .../openbis/generic/shared/dto/DataPE.java | 5 +- .../generic/shared/dto/ExperimentPE.java | 3 +- ...EntityInformationWithPropertiesHolder.java | 4 +- .../generic/shared/dto/MaterialPE.java | 5 +- .../generic/shared/dto/MetaprojectPE.java | 15 ++- .../openbis/generic/shared/dto/ProjectPE.java | 3 +- .../openbis/generic/shared/dto/SamplePE.java | 3 +- .../openbis/generic/shared/dto/SpacePE.java | 23 ++++- .../api/v3/as/dto/common/create/ICreation.js | 7 ++ .../api/v3/as/dto/common/update/IUpdate.js | 7 ++ .../ProgressDetailsToStringBuilderTest.java} | 6 +- .../progress => context}/TestClass.java | 2 +- .../UpdateEntityPropertyExecutorTest.java | 9 +- .../systemtest/asapi/v3/CreateSampleTest.java | 2 +- .../attachment/create/AttachmentCreation.java | 5 +- .../asapi/v3/dto/common/create/ICreation.java | 30 ++++++ .../asapi/v3/dto/common/update/IUpdate.java | 30 ++++++ .../dto/dataset/create/DataSetCreation.java | 4 +- .../dataset/create/LinkedDataCreation.java | 5 +- .../dataset/create/PhysicalDataCreation.java | 5 +- .../v3/dto/dataset/update/DataSetUpdate.java | 4 +- .../dto/dataset/update/LinkedDataUpdate.java | 5 +- .../dataset/update/PhysicalDataUpdate.java | 5 +- .../experiment/create/ExperimentCreation.java | 4 +- .../experiment/update/ExperimentUpdate.java | 4 +- .../dto/material/create/MaterialCreation.java | 4 +- .../dto/material/update/MaterialUpdate.java | 4 +- .../dto/project/create/ProjectCreation.java | 4 +- .../v3/dto/project/update/ProjectUpdate.java | 4 +- .../v3/dto/sample/create/SampleCreation.java | 4 +- .../v3/dto/sample/update/SampleUpdate.java | 4 +- .../v3/dto/space/create/SpaceCreation.java | 5 +- .../v3/dto/space/update/SpaceUpdate.java | 5 +- .../asapi/v3/dto/tag/create/TagCreation.java | 4 +- .../asapi/v3/dto/tag/update/TagUpdate.java | 4 +- .../create/VocabularyTermCreation.java | 5 +- .../update/VocabularyTermUpdate.java | 5 +- .../generic/sharedapi/v3/dictionary.txt | 4 +- 88 files changed, 712 insertions(+), 301 deletions(-) create mode 100644 openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetails.java rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/{helper/entity/progress/EntityProgressToStringBuilder.java => context/ProgressDetailsToStringBuilder.java} (83%) rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/{helper/entity/progress/EntityProgressToStringStyle.java => context/ProgressDetailsToStringStyle.java} (93%) rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/{CreateEntityProgress.java => CreateProgress.java} (61%) create mode 100644 openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgress.java rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/{SetEntityRelationProgress.java => SetRelationProgress.java} (57%) delete mode 100644 openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityPropertyProgress.java create mode 100644 openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdatePropertyProgress.java rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/{UpdateEntityRelationProgress.java => UpdateRelationProgress.java} (57%) rename openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/{VerifyEntityProgress.java => VerifyProgress.java} (72%) create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IIdentityHolder.java create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/create/ICreation.js create mode 100644 openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/update/IUpdate.js rename openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/{helper/entity/progress/EntityProgressToStringBuilderTest.java => context/ProgressDetailsToStringBuilderTest.java} (96%) rename openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/{helper/entity/progress => context}/TestClass.java (94%) create mode 100644 openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/create/ICreation.java create mode 100644 openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/update/IUpdate.java diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js index 229e4cb244a..9d7e9ef86af 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/common.js @@ -482,6 +482,11 @@ define([ 'jquery', 'openbis', 'underscore', 'test/dtos' ], function($, openbis, this.assertEqual(actual, false, msg); }; + this.assertContains = function(actual, expected, msg) { + actual = actual ? actual : ""; + this.assertTrue(actual.indexOf(expected) >= 0, msg); + }; + this.assertEqual = function(actual, expected, msg) { this.assert.equal(actual, expected, msg); }; diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js index db0eb5a600e..3cf0b9a2288 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-update.js @@ -152,8 +152,7 @@ define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, open } var fCheckError = function(error, permId) { - c.assertEqual(error, "Space id cannot be null (Context: [updating relation project-space (1/1) [ProjectUpdate[projectId=ProjectPermId[permId=" + permId.getPermId() + "]]]])", - "Error"); + c.assertContains(error, "Space id cannot be null", "Error"); } testUpdate(c, fCreate, fUpdate, c.findProject, null, fCheckError); @@ -263,8 +262,7 @@ define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, open } var fCheckError = function(error, permId) { - c.assertEqual(error, "Project id cannot be null (Context: [updating relation experiment-project (1/1) [ExperimentUpdate[experimentId=ExperimentPermId[permId=" + permId.getPermId() - + "], properties={}]]])", "Error"); + c.assertContains(error, "Project id cannot be null", "Error"); } testUpdate(c, fCreate, fUpdate, c.findExperiment, null, fCheckError); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/Progress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/Progress.java index 56f8df3493d..df714a4d8bc 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/Progress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/Progress.java @@ -16,8 +16,6 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.context; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.EntityProgressToStringBuilder; - /** * @author pkupczyk */ @@ -30,8 +28,6 @@ public class Progress implements IProgress private boolean detailsCreated = false; - private Object detailsObject; - private String details; private Integer numItemsProcessed; @@ -43,10 +39,9 @@ public class Progress implements IProgress this.label = label; } - public Progress(String label, Object detailsObject, int numItemsProcessed, int totalItemsToProcess) + public Progress(String label, int numItemsProcessed, int totalItemsToProcess) { this.label = label; - this.detailsObject = detailsObject; this.numItemsProcessed = numItemsProcessed; this.totalItemsToProcess = totalItemsToProcess; } @@ -62,21 +57,22 @@ public class Progress implements IProgress { if (false == detailsCreated) { - details = createDetails(detailsObject); + details = createDetails(); detailsCreated = true; } return details; } - protected String createDetails(Object object) + protected String createDetails() { - if (object != null) - { - return EntityProgressToStringBuilder.toString(object); - } else - { - return null; - } + ProgressDetails detailsObject = new ProgressDetails(); + updateDetails(detailsObject); + return detailsObject.toString(); + } + + protected void updateDetails(ProgressDetails detailsObject) + { + } @Override diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetails.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetails.java new file mode 100644 index 00000000000..0c79d4c4012 --- /dev/null +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetails.java @@ -0,0 +1,52 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.server.asapi.v3.context; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author pkupczyk + */ +public class ProgressDetails +{ + + private Map<String, Object> map = new LinkedHashMap<String, Object>(); + + public void set(String name, Object value) + { + if (value != null) + { + map.put(name, ProgressDetailsToStringBuilder.toString(value)); + } + } + + public void set(String name, ProgressDetails details) + { + if (details != null) + { + map.put(name, ProgressDetailsToStringBuilder.toString(details.map)); + } + } + + @Override + public String toString() + { + return ProgressDetailsToStringBuilder.toString(map); + } + +} diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilder.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilder.java similarity index 83% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilder.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilder.java index 72147d7b51c..a91d417fb9e 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilder.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilder.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; +package ch.ethz.sis.openbis.generic.server.asapi.v3.context; /** * @author pkupczyk */ -public class EntityProgressToStringBuilder +public class ProgressDetailsToStringBuilder { public static String toString(Object object) @@ -31,7 +31,7 @@ public class EntityProgressToStringBuilder StringBuffer buffer = new StringBuffer(); - new EntityProgressToStringStyle().append(buffer, null, object, true); + new ProgressDetailsToStringStyle().append(buffer, null, object, true); String str = buffer.toString(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringStyle.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringStyle.java similarity index 93% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringStyle.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringStyle.java index 3dd3f9d677f..a27d6901478 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringStyle.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringStyle.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; +package ch.ethz.sis.openbis.generic.server.asapi.v3.context; import java.util.Collection; import java.util.Map; @@ -28,14 +28,14 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue; /** * @author pkupczyk */ -public final class EntityProgressToStringStyle extends ToStringStyle +public final class ProgressDetailsToStringStyle extends ToStringStyle { - public static final ToStringStyle ENTITY_PROGRESS_STYLE = new EntityProgressToStringStyle(); + public static final ToStringStyle PROGRESS_STYLE = new ProgressDetailsToStringStyle(); private static final long serialVersionUID = 1L; - EntityProgressToStringStyle() + ProgressDetailsToStringStyle() { super(); this.setContentStart("["); @@ -52,7 +52,7 @@ public final class EntityProgressToStringStyle extends ToStringStyle private Object readResolve() { - return ENTITY_PROGRESS_STYLE; + return PROGRESS_STYLE; } @Override diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressFormatter.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressFormatter.java index b2f45e9309e..83253a95fc9 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressFormatter.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressFormatter.java @@ -36,7 +36,7 @@ public class ProgressFormatter if (progress.getDetails() != null) { - result.append(" [" + progress.getDetails() + "]"); + result.append(" " + progress.getDetails()); } return result.toString(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetExecutor.java index 54778a89e0b..fd69ab0c5a7 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetExecutor.java @@ -46,7 +46,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.Collectio import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckDataProgress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.DataSetPEByExperimentOrSampleIdentifierValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -159,7 +159,7 @@ public class CreateDataSetExecutor extends AbstractCreateEntityExecutor<DataSetC @Override public IProgress createProgress(DataSetCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetExecutor.java index de83166bc55..4971b5c52bb 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetExecutor.java @@ -35,7 +35,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IUpdateTagForEnt import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.DataSetPEByExperimentOrSampleIdentifierValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -147,7 +147,7 @@ public class UpdateDataSetExecutor extends AbstractUpdateEntityExecutor<DataSetU @Override public IProgress createProgress(DataSetUpdate key, DataPE value, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(key, "dataset-tag", objectIndex, totalObjectCount); + return new UpdateRelationProgress(key, value, "dataset-tag", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetPropertyExecutor.java index ff7e804d9a1..b5e6a0e088e 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/UpdateDataSetPropertyExecutor.java @@ -26,7 +26,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; /** * @author pkupczyk @@ -41,7 +41,8 @@ public class UpdateDataSetPropertyExecutor implements IUpdateDataSetPropertyExec @Override @RolesAllowed({ RoleWithHierarchy.SPACE_POWER_USER, RoleWithHierarchy.SPACE_ETL_SERVER }) @Capability("UPDATE_DATASET_PROPERTY") - public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + public void update(IOperationContext context, + MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { executor.update(context, holderToEntityMap); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/VerifyDataSetSampleAndExperimentExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/VerifyDataSetSampleAndExperimentExecutor.java index 05d8626ac4f..d9951c5749e 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/VerifyDataSetSampleAndExperimentExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/VerifyDataSetSampleAndExperimentExecutor.java @@ -23,8 +23,11 @@ import javax.annotation.Resource; import org.springframework.stereotype.Component; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer; import ch.systemsx.cisd.openbis.generic.server.business.bo.util.DataSetTypeWithoutExperimentChecker; @@ -51,12 +54,22 @@ public class VerifyDataSetSampleAndExperimentExecutor implements IVerifyDataSetS } @Override - public void verify(IOperationContext context, CollectionBatch<DataPE> batch) + public void verify(final IOperationContext context, CollectionBatch<DataPE> batch) { - for (DataPE dataSet : batch.getObjects()) - { - verify(context, dataSet); - } + new CollectionBatchProcessor<DataPE>(context, batch) + { + @Override + public void process(DataPE dataSet) + { + verify(context, dataSet); + } + + @Override + public IProgress createProgress(DataPE object, int objectIndex, int totalObjectCount) + { + return new VerifyProgress(object, objectIndex, totalObjectCount); + } + }; } private void verify(IOperationContext context, DataPE dataSet) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityExecutor.java index 52b5c990afb..9baa1621770 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityExecutor.java @@ -29,6 +29,7 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; @@ -40,13 +41,13 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchP import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckAccessProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckDataProgress; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; -import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public abstract class AbstractCreateEntityExecutor<CREATION, PE extends IIdHolder, PERM_ID extends IObjectId> implements - ICreateEntityExecutor<CREATION, PERM_ID> +public abstract class AbstractCreateEntityExecutor<CREATION extends ICreation, PE extends IIdentityHolder, PERM_ID extends IObjectId> + implements ICreateEntityExecutor<CREATION, PERM_ID> { @Autowired @@ -106,15 +107,15 @@ public abstract class AbstractCreateEntityExecutor<CREATION, PE extends IIdHolde new MapBatchProcessor<CREATION, PE>(context, batch) { @Override - public void process(CREATION key, PE value) + public void process(CREATION creation, PE entity) { - checkAccess(context, value); + checkAccess(context, entity); } @Override - public IProgress createProgress(CREATION key, PE value, int objectIndex, int totalObjectCount) + public IProgress createProgress(CREATION creation, PE entity, int objectIndex, int totalObjectCount) { - return new CheckAccessProgress(key, objectIndex, totalObjectCount); + return new CheckAccessProgress(entity, creation, objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityExperimentRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityExperimentRelationExecutor.java index 88617f0a645..7596de25d82 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityExperimentRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityExperimentRelationExecutor.java @@ -21,17 +21,19 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.UnauthorizedObjectAccessException; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.experiment.IMapExperimentByIdExecutor; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentByIdentiferValidator; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; /** * @author pkupczyk */ -public abstract class AbstractSetEntityExperimentRelationExecutor<ENTITY_CREATION, ENTITY_PE> extends +public abstract class AbstractSetEntityExperimentRelationExecutor<ENTITY_CREATION extends ICreation, ENTITY_PE extends IIdentityHolder> extends AbstractSetEntityToOneRelationExecutor<ENTITY_CREATION, ENTITY_PE, IExperimentId, ExperimentPE> { diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntitySampleRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntitySampleRelationExecutor.java index ff3cad9d094..e69cfbcb3c5 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntitySampleRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntitySampleRelationExecutor.java @@ -21,17 +21,19 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.ISampleId; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.UnauthorizedObjectAccessException; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample.IMapSampleByIdExecutor; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleByIdentiferValidator; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; /** * @author pkupczyk */ -public abstract class AbstractSetEntitySampleRelationExecutor<ENTITY_CREATION, ENTITY_PE> extends +public abstract class AbstractSetEntitySampleRelationExecutor<ENTITY_CREATION extends ICreation, ENTITY_PE extends IIdentityHolder> extends AbstractSetEntityToOneRelationExecutor<ENTITY_CREATION, ENTITY_PE, ISampleId, SamplePE> { diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToManyRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToManyRelationExecutor.java index d4485e7c330..d5c549daff1 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToManyRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToManyRelationExecutor.java @@ -23,19 +23,21 @@ import java.util.Map; import javax.annotation.Resource; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetRelationProgress; import ch.systemsx.cisd.openbis.generic.server.ComponentNames; import ch.systemsx.cisd.openbis.generic.server.business.IRelationshipService; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public abstract class AbstractSetEntityToManyRelationExecutor<ENTITY_CREATION, ENTITY_PE, RELATED_ID extends IObjectId, RELATED_PE> +public abstract class AbstractSetEntityToManyRelationExecutor<ENTITY_CREATION extends ICreation, ENTITY_PE extends IIdentityHolder, RELATED_ID extends IObjectId, RELATED_PE> { @Resource(name = ComponentNames.RELATIONSHIP_SERVICE) @@ -70,9 +72,9 @@ public abstract class AbstractSetEntityToManyRelationExecutor<ENTITY_CREATION, E } @Override - public IProgress createProgress(ENTITY_CREATION key, ENTITY_PE value, int objectIndex, int totalObjectCount) + public IProgress createProgress(ENTITY_CREATION creation, ENTITY_PE entity, int objectIndex, int totalObjectCount) { - return new SetEntityRelationProgress(key, getRelationName(), objectIndex, totalObjectCount); + return new SetRelationProgress(entity, creation, getRelationName(), objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToOneRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToOneRelationExecutor.java index 51e67eeeaca..f3712d42606 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToOneRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractSetEntityToOneRelationExecutor.java @@ -22,20 +22,22 @@ import java.util.Map; import org.springframework.stereotype.Component; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.ObjectNotFoundException; import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetRelationProgress; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ @Component -public abstract class AbstractSetEntityToOneRelationExecutor<ENTITY_CREATION, ENTITY_PE, RELATED_ID, RELATED_PE> implements - ISetEntityRelationsExecutor<ENTITY_CREATION, ENTITY_PE> +public abstract class AbstractSetEntityToOneRelationExecutor<ENTITY_CREATION extends ICreation, ENTITY_PE extends IIdentityHolder, RELATED_ID, RELATED_PE> + implements ISetEntityRelationsExecutor<ENTITY_CREATION, ENTITY_PE> { @Override @@ -81,9 +83,9 @@ public abstract class AbstractSetEntityToOneRelationExecutor<ENTITY_CREATION, EN } @Override - public IProgress createProgress(ENTITY_CREATION key, ENTITY_PE value, int objectIndex, int totalObjectCount) + public IProgress createProgress(ENTITY_CREATION creation, ENTITY_PE entity, int objectIndex, int totalObjectCount) { - return new SetEntityRelationProgress(key, getRelationName(), objectIndex, totalObjectCount); + return new SetRelationProgress(entity, creation, getRelationName(), objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityExecutor.java index a0a08fdaa8d..2e458809c86 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityExecutor.java @@ -30,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.ObjectNotFoundException; import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; @@ -41,12 +42,13 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchP import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckAccessProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckDataProgress; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; -import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public abstract class AbstractUpdateEntityExecutor<UPDATE, PE extends IIdHolder, ID extends IObjectId> implements IUpdateEntityExecutor<UPDATE> +public abstract class AbstractUpdateEntityExecutor<UPDATE extends IUpdate, PE extends IIdentityHolder, ID extends IObjectId> + implements IUpdateEntityExecutor<UPDATE> { @Autowired @@ -101,15 +103,15 @@ public abstract class AbstractUpdateEntityExecutor<UPDATE, PE extends IIdHolder, new MapBatchProcessor<UPDATE, PE>(context, batch) { @Override - public void process(UPDATE key, PE value) + public void process(UPDATE update, PE entity) { - checkAccess(context, getId(key), value); + checkAccess(context, getId(update), entity); } @Override - public IProgress createProgress(UPDATE key, PE value, int objectIndex, int totalObjectCount) + public IProgress createProgress(UPDATE update, PE entity, int objectIndex, int totalObjectCount) { - return new CheckAccessProgress(key, objectIndex, totalObjectCount); + return new CheckAccessProgress(entity, update, objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToManyRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToManyRelationExecutor.java index 7ba75e03112..a790f425894 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToManyRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToManyRelationExecutor.java @@ -25,6 +25,7 @@ import java.util.Set; import javax.annotation.Resource; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateActionAdd; @@ -35,14 +36,16 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.openbis.generic.server.ComponentNames; import ch.systemsx.cisd.openbis.generic.server.business.IRelationshipService; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public abstract class AbstractUpdateEntityToManyRelationExecutor<ENTITY_UPDATE, ENTITY_PE, RELATED_ID, RELATED_PE> implements +public abstract class AbstractUpdateEntityToManyRelationExecutor<ENTITY_UPDATE extends IUpdate, ENTITY_PE extends IIdentityHolder, RELATED_ID, RELATED_PE> + implements IUpdateEntityRelationsWithCacheExecutor<ENTITY_UPDATE, ENTITY_PE, RELATED_ID, RELATED_PE> { @@ -107,7 +110,7 @@ public abstract class AbstractUpdateEntityToManyRelationExecutor<ENTITY_UPDATE, @Override public IProgress createProgress(ENTITY_UPDATE key, ENTITY_PE value, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(key, getRelationName(), objectIndex, totalObjectCount); + return new UpdateRelationProgress(key, value, getRelationName(), objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToOneRelationExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToOneRelationExecutor.java index f2eca35e915..49a3a1f8859 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToOneRelationExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractUpdateEntityToOneRelationExecutor.java @@ -27,20 +27,22 @@ import org.springframework.beans.factory.annotation.Autowired; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.ObjectNotFoundException; import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.openbis.generic.server.business.IRelationshipService; import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public abstract class AbstractUpdateEntityToOneRelationExecutor<ENTITY_UPDATE, ENTITY_PE, RELATED_ID, RELATED_PE> implements - IUpdateEntityRelationsExecutor<ENTITY_UPDATE, ENTITY_PE>, +public abstract class AbstractUpdateEntityToOneRelationExecutor<ENTITY_UPDATE extends IUpdate, ENTITY_PE extends IIdentityHolder, RELATED_ID, RELATED_PE> + implements IUpdateEntityRelationsExecutor<ENTITY_UPDATE, ENTITY_PE>, IUpdateEntityRelationsWithCacheExecutor<ENTITY_UPDATE, ENTITY_PE, RELATED_ID, RELATED_PE> { @@ -129,7 +131,7 @@ public abstract class AbstractUpdateEntityToOneRelationExecutor<ENTITY_UPDATE, E @Override public IProgress createProgress(ENTITY_UPDATE key, ENTITY_PE value, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(key, getRelationName(), objectIndex, totalObjectCount); + return new UpdateRelationProgress(key, value, getRelationName(), objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/CreateExperimentExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/CreateExperimentExecutor.java index 058a50027a7..d91737df15e 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/CreateExperimentExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/CreateExperimentExecutor.java @@ -43,7 +43,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IAddTagToEntityE import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -109,7 +109,7 @@ public class CreateExperimentExecutor extends AbstractCreateEntityExecutor<Exper @Override public IProgress createProgress(ExperimentCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentExecutor.java index 40d5f0c2e2b..86cd249ec28 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentExecutor.java @@ -35,7 +35,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IUpdateTagForEnt import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -137,7 +137,7 @@ public class UpdateExperimentExecutor extends AbstractUpdateEntityExecutor<Exper @Override public IProgress createProgress(ExperimentUpdate update, ExperimentPE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "experiment-tag", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "experiment-tag", objectIndex, totalObjectCount); } }; } @@ -158,7 +158,7 @@ public class UpdateExperimentExecutor extends AbstractUpdateEntityExecutor<Exper @Override public IProgress createProgress(ExperimentUpdate update, ExperimentPE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "experiment-attachment", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "experiment-attachment", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentPropertyExecutor.java index e8cb7c3d60e..eaf26991523 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/experiment/UpdateExperimentPropertyExecutor.java @@ -26,7 +26,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; /** * @author pkupczyk @@ -41,7 +41,8 @@ public class UpdateExperimentPropertyExecutor implements IUpdateExperimentProper @Override @RolesAllowed({ RoleWithHierarchy.SPACE_USER, RoleWithHierarchy.SPACE_ETL_SERVER }) @Capability("UPDATE_EXPERIMENT_PROPERTY") - public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + public void update(IOperationContext context, + MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { executor.update(context, holderToEntityMap); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/CreateMaterialExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/CreateMaterialExecutor.java index 0e448fa12e1..3b641f03d10 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/CreateMaterialExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/CreateMaterialExecutor.java @@ -40,7 +40,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IAddTagToEntityE import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.ComponentNames; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -96,7 +96,7 @@ public class CreateMaterialExecutor extends AbstractCreateEntityExecutor<Materia @Override public IProgress createProgress(MaterialCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialExecutor.java index 186d1a87834..26c687e8985 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialExecutor.java @@ -34,7 +34,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IUpdateTagForEnt import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -117,7 +117,7 @@ public class UpdateMaterialExecutor extends AbstractUpdateEntityExecutor<Materia @Override public IProgress createProgress(MaterialUpdate update, MaterialPE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "material-tag", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "material-tag", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialPropertyExecutor.java index 96d8de4fa5e..595ed8247ae 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/UpdateMaterialPropertyExecutor.java @@ -26,7 +26,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; /** * @author pkupczyk @@ -41,7 +41,8 @@ public class UpdateMaterialPropertyExecutor implements IUpdateMaterialPropertyEx @Override @RolesAllowed({ RoleWithHierarchy.INSTANCE_ADMIN, RoleWithHierarchy.INSTANCE_ETL_SERVER }) @Capability("UPDATE_MATERIAL_PROPERTY") - public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + public void update(IOperationContext context, + MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { executor.update(context, holderToEntityMap); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/CreateProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/CreateProjectExecutor.java index 881258ad96a..791c6274b60 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/CreateProjectExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/CreateProjectExecutor.java @@ -40,7 +40,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractCreat import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -96,7 +96,7 @@ public class CreateProjectExecutor extends AbstractCreateEntityExecutor<ProjectC @Override public IProgress createProgress(ProjectCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/UpdateProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/UpdateProjectExecutor.java index 189c3c06816..d32896c747f 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/UpdateProjectExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/UpdateProjectExecutor.java @@ -34,7 +34,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractUpdat import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -131,7 +131,7 @@ public class UpdateProjectExecutor extends AbstractUpdateEntityExecutor<ProjectU @Override public IProgress createProgress(ProjectUpdate update, ProjectPE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "project-attachment", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "project-attachment", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/IAbstractUpdateEntityPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/IAbstractUpdateEntityPropertyExecutor.java index 9c63de6e68a..72d318abbc2 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/IAbstractUpdateEntityPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/IAbstractUpdateEntityPropertyExecutor.java @@ -19,7 +19,7 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.property; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; /** * @author pkupczyk @@ -27,6 +27,6 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; public interface IAbstractUpdateEntityPropertyExecutor { - public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap); + public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutor.java index c94a040c00c..7f31d48a7dc 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutor.java @@ -31,12 +31,13 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityPropertyProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdatePropertyProgress; import ch.systemsx.cisd.openbis.generic.server.dataaccess.EntityPropertiesConverter; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityPropertyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.MaterialPE; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; @@ -69,9 +70,10 @@ public class UpdateEntityPropertyExecutor implements IUpdateEntityPropertyExecut @Override public void update(final IOperationContext context, - final MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + final MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { - final MapBatch<IEntityPropertiesHolder, Map<String, String>> entityToPropertiesMap = getEntityToPropertiesMap(holderToEntityMap); + final MapBatch<IEntityInformationWithPropertiesHolder, Map<String, String>> entityToPropertiesMap = + getEntityToPropertiesMap(holderToEntityMap); if (entityToPropertiesMap == null || entityToPropertiesMap.isEmpty()) { @@ -80,10 +82,10 @@ public class UpdateEntityPropertyExecutor implements IUpdateEntityPropertyExecut final Map<EntityKind, EntityPropertiesConverter> converters = new HashMap<EntityKind, EntityPropertiesConverter>(); - new MapBatchProcessor<IEntityPropertiesHolder, Map<String, String>>(context, entityToPropertiesMap) + new MapBatchProcessor<IEntityInformationWithPropertiesHolder, Map<String, String>>(context, entityToPropertiesMap) { @Override - public void process(IEntityPropertiesHolder propertiesHolder, Map<String, String> properties) + public void process(IEntityInformationWithPropertiesHolder propertiesHolder, Map<String, String> properties) { EntityKind entityKind = propertiesHolder.getEntityType().getEntityKind(); @@ -98,28 +100,30 @@ public class UpdateEntityPropertyExecutor implements IUpdateEntityPropertyExecut } @Override - public IProgress createProgress(IEntityPropertiesHolder propertiesHolder, Map<String, String> properties, int objectIndex, - int totalObjectCount) + public IProgress createProgress(IEntityInformationWithPropertiesHolder propertiesHolder, Map<String, String> properties, + int objectIndex, int totalObjectCount) { - return new UpdateEntityPropertyProgress(propertiesHolder, properties, objectIndex, totalObjectCount); + return new UpdatePropertyProgress(propertiesHolder, properties, objectIndex, totalObjectCount); } }; } - private MapBatch<IEntityPropertiesHolder, Map<String, String>> getEntityToPropertiesMap( - final MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + private MapBatch<IEntityInformationWithPropertiesHolder, Map<String, String>> getEntityToPropertiesMap( + final MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { if (holderToEntityMap == null || holderToEntityMap.isEmpty()) { return null; } - Map<IEntityPropertiesHolder, Map<String, String>> entityToPropertiesMap = new HashMap<IEntityPropertiesHolder, Map<String, String>>(); + Map<IEntityInformationWithPropertiesHolder, Map<String, String>> entityToPropertiesMap = + new HashMap<IEntityInformationWithPropertiesHolder, Map<String, String>>(); - for (Map.Entry<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> entry : holderToEntityMap.getObjects().entrySet()) + for (Map.Entry<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> entry : holderToEntityMap.getObjects() + .entrySet()) { IPropertiesHolder holder = entry.getKey(); - IEntityPropertiesHolder entity = entry.getValue(); + IEntityInformationWithPropertiesHolder entity = entry.getValue(); if (holder.getProperties() != null && false == holder.getProperties().isEmpty()) { @@ -132,8 +136,9 @@ public class UpdateEntityPropertyExecutor implements IUpdateEntityPropertyExecut return null; } - return new MapBatch<IEntityPropertiesHolder, Map<String, String>>(holderToEntityMap.getBatchIndex(), holderToEntityMap.getFromObjectIndex(), - holderToEntityMap.getToObjectIndex(), entityToPropertiesMap, holderToEntityMap.getTotalObjectCount()); + return new MapBatch<IEntityInformationWithPropertiesHolder, Map<String, String>>(holderToEntityMap.getBatchIndex(), + holderToEntityMap.getFromObjectIndex(), holderToEntityMap.getToObjectIndex(), entityToPropertiesMap, + holderToEntityMap.getTotalObjectCount()); } private void update(IOperationContext context, IEntityPropertiesHolder propertiesHolder, Map<String, String> properties, diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/VerifyEntityPropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/VerifyEntityPropertyExecutor.java index 1263e5aa4e4..ddf1f2e4029 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/VerifyEntityPropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/VerifyEntityPropertyExecutor.java @@ -27,7 +27,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.openbis.generic.server.dataaccess.EntityPropertiesConverter; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; @@ -78,7 +78,7 @@ public class VerifyEntityPropertyExecutor implements IVerifyEntityPropertyExecut @Override public IProgress createProgress(IEntityInformationWithPropertiesHolder object, int objectIndex, int totalObjectCount) { - return new VerifyEntityProgress(objectIndex, totalObjectCount); + return new VerifyProgress(object, objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/CreateSampleExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/CreateSampleExecutor.java index 650d9c283c7..a7613a39d19 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/CreateSampleExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/CreateSampleExecutor.java @@ -52,7 +52,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.Collectio import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CheckDataProgress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.properties.PropertyUtils; import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer; @@ -150,7 +150,7 @@ public class CreateSampleExecutor extends AbstractCreateEntityExecutor<SampleCre @Override public IProgress createProgress(SampleCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleContainerExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleContainerExecutor.java index 48043d0d16c..8197f343667 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleContainerExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/SetSampleContainerExecutor.java @@ -28,7 +28,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.SetRelationProgress; import ch.systemsx.cisd.openbis.generic.server.ComponentNames; import ch.systemsx.cisd.openbis.generic.server.business.IRelationshipService; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -60,9 +60,9 @@ public class SetSampleContainerExecutor implements ISetSampleContainerExecutor } @Override - public IProgress createProgress(SampleCreation key, SamplePE value, int objectIndex, int totalObjectCount) + public IProgress createProgress(SampleCreation creation, SamplePE entity, int objectIndex, int totalObjectCount) { - return new SetEntityRelationProgress(key, "sample-container", objectIndex, totalObjectCount); + return new SetRelationProgress(entity, creation, "sample-container", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleExecutor.java index 9c147d85d9e..cf4cc99753a 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSampleExecutor.java @@ -35,7 +35,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.tag.IUpdateTagForEnt import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateEntityRelationProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.UpdateRelationProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleByIdentiferValidator; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -147,7 +147,7 @@ public class UpdateSampleExecutor extends AbstractUpdateEntityExecutor<SampleUpd @Override public IProgress createProgress(SampleUpdate update, SamplePE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "sample-tag", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "sample-tag", objectIndex, totalObjectCount); } }; } @@ -168,7 +168,7 @@ public class UpdateSampleExecutor extends AbstractUpdateEntityExecutor<SampleUpd @Override public IProgress createProgress(SampleUpdate update, SamplePE entity, int objectIndex, int totalObjectCount) { - return new UpdateEntityRelationProgress(update, "sample-attachment", objectIndex, totalObjectCount); + return new UpdateRelationProgress(update, entity, "sample-attachment", objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSamplePropertyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSamplePropertyExecutor.java index 4fd8e3deaea..4cc14a711d7 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSamplePropertyExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/UpdateSamplePropertyExecutor.java @@ -26,7 +26,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability; import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; /** * @author pkupczyk @@ -41,7 +41,8 @@ public class UpdateSamplePropertyExecutor implements IUpdateSamplePropertyExecut @Override @RolesAllowed({ RoleWithHierarchy.SPACE_USER, RoleWithHierarchy.SPACE_ETL_SERVER }) @Capability("UPDATE_SAMPLE_PROPERTY") - public void update(IOperationContext context, MapBatch<? extends IPropertiesHolder, ? extends IEntityPropertiesHolder> holderToEntityMap) + public void update(IOperationContext context, + MapBatch<? extends IPropertiesHolder, ? extends IEntityInformationWithPropertiesHolder> holderToEntityMap) { executor.update(context, holderToEntityMap); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleContainerExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleContainerExecutor.java index fc61273af9c..4bbff53601f 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleContainerExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleContainerExecutor.java @@ -18,8 +18,11 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample; import org.springframework.stereotype.Component; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.business.bo.SampleGenericBusinessRules; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -34,23 +37,33 @@ public class VerifySampleContainerExecutor implements IVerifySampleContainerExec @Override public void verify(IOperationContext context, CollectionBatch<SamplePE> batch) { - for (SamplePE sample : batch.getObjects()) - { - SamplePE containerCandidate = sample.getContainer(); - - while (containerCandidate != null) + new CollectionBatchProcessor<SamplePE>(context, batch) { - if (sample.equals(containerCandidate)) + @Override + public void process(SamplePE sample) { - throw UserFailureException.fromTemplate("'%s' cannot be it's own container.", - sample.getIdentifier()); + SamplePE containerCandidate = sample.getContainer(); + + while (containerCandidate != null) + { + if (sample.equals(containerCandidate)) + { + throw UserFailureException.fromTemplate("'%s' cannot be it's own container.", + sample.getIdentifier()); + } + containerCandidate = containerCandidate.getContainer(); + } + + SampleGenericBusinessRules.assertValidContainer(sample); + SampleGenericBusinessRules.assertValidComponents(sample); } - containerCandidate = containerCandidate.getContainer(); - } - SampleGenericBusinessRules.assertValidContainer(sample); - SampleGenericBusinessRules.assertValidComponents(sample); - } + @Override + public IProgress createProgress(SamplePE object, int objectIndex, int totalObjectCount) + { + return new VerifyProgress(object, objectIndex, totalObjectCount); + } + }; } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleExperimentExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleExperimentExecutor.java index 4a78806e68e..98b7e1f5ca1 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleExperimentExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleExperimentExecutor.java @@ -25,7 +25,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataDAO; @@ -105,7 +105,7 @@ public class VerifySampleExperimentExecutor implements IVerifySampleExperimentEx @Override public IProgress createProgress(SamplePE object, int objectIndex, int totalObjectCount) { - return new VerifyEntityProgress(objectIndex, totalObjectCount); + return new VerifyProgress(object, objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleParentsExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleParentsExecutor.java index 7cfaeb38289..a5ee40ae03d 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleParentsExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleParentsExecutor.java @@ -22,11 +22,14 @@ import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractVerifyEntityCyclesExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.relationship.IGetRelationshipIdExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.relationship.IGetRelationshipIdExecutor.RelationshipType; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.openbis.generic.server.business.bo.SampleGenericBusinessRules; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -46,11 +49,21 @@ public class VerifySampleParentsExecutor extends AbstractVerifyEntityCyclesExecu { super.verify(context, batch); - for (SamplePE sample : batch.getObjects()) - { - SampleGenericBusinessRules.assertValidParents(sample); - SampleGenericBusinessRules.assertValidChildren(sample); - } + new CollectionBatchProcessor<SamplePE>(context, batch) + { + @Override + public void process(SamplePE sample) + { + SampleGenericBusinessRules.assertValidParents(sample); + SampleGenericBusinessRules.assertValidChildren(sample); + } + + @Override + public IProgress createProgress(SamplePE object, int objectIndex, int totalObjectCount) + { + return new VerifyProgress(object, objectIndex, totalObjectCount); + } + }; } @Override diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleProjectExecutor.java index 5b7063d1aa3..1dc4e1470d7 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleProjectExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/VerifySampleProjectExecutor.java @@ -22,7 +22,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.VerifyProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -58,7 +58,7 @@ public class VerifySampleProjectExecutor implements IVerifySampleProjectExecutor @Override public IProgress createProgress(SamplePE object, int objectIndex, int totalObjectCount) { - return new VerifyEntityProgress(objectIndex, totalObjectCount); + return new VerifyProgress(object, objectIndex, totalObjectCount); } }; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/CreateSpaceExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/CreateSpaceExecutor.java index 4e908e62a63..4ea80234301 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/CreateSpaceExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/CreateSpaceExecutor.java @@ -35,7 +35,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractCreat import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.ComponentNames; import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationServiceUtils; @@ -86,7 +86,7 @@ public class CreateSpaceExecutor extends AbstractCreateEntityExecutor<SpaceCreat @Override public IProgress createProgress(SpaceCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/CreateTagExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/CreateTagExecutor.java index 686070470c4..4dbb6a349ae 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/CreateTagExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/CreateTagExecutor.java @@ -33,7 +33,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractCreat import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatch; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.CollectionBatchProcessor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; -import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateEntityProgress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress.CreateProgress; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.tag.TagAuthorization; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; @@ -83,7 +83,7 @@ public class CreateTagExecutor extends AbstractCreateEntityExecutor<TagCreation, @Override public IProgress createProgress(TagCreation object, int objectIndex, int totalObjectCount) { - return new CreateEntityProgress(object, objectIndex, totalObjectCount); + return new CreateProgress(object, objectIndex, totalObjectCount); } }; diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckAccessProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckAccessProgress.java index cd298ca1265..7a01ae881f9 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckAccessProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckAccessProgress.java @@ -16,19 +16,46 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public class CheckAccessProgress extends Progress +public class CheckAccessProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public CheckAccessProgress(Object object, int numItemsProcessed, int totalItemsToProcess) + private ICreation creation; + + private IUpdate update; + + public CheckAccessProgress(IIdentityHolder entity, ICreation creation, int numItemsProcessed, int totalItemsToProcess) + { + this(entity, numItemsProcessed, totalItemsToProcess); + this.creation = creation; + } + + public CheckAccessProgress(IIdentityHolder entity, IUpdate update, int numItemsProcessed, int totalItemsToProcess) + { + this(entity, numItemsProcessed, totalItemsToProcess); + this.update = update; + } + + private CheckAccessProgress(IIdentityHolder entity, int numItemsProcessed, int totalItemsToProcess) + { + super("checking access", entity, numItemsProcessed, totalItemsToProcess); + } + + @Override + protected void updateDetails(ProgressDetails details) { - super("checking access", object, numItemsProcessed, totalItemsToProcess); + super.updateDetails(details); + details.set("creation", creation); + details.set("update", update); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckDataProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckDataProgress.java index 5fbb20f2203..ec1f40d5a54 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckDataProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CheckDataProgress.java @@ -16,19 +16,45 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; /** * @author pkupczyk */ -public class CheckDataProgress extends Progress +public class CheckDataProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public CheckDataProgress(Object object, int numItemsProcessed, int totalItemsToProcess) + private ICreation creation; + + private IUpdate update; + + public CheckDataProgress(ICreation creation, int numItemsProcessed, int totalItemsToProcess) + { + this(numItemsProcessed, totalItemsToProcess); + this.creation = creation; + } + + public CheckDataProgress(IUpdate update, int numItemsProcessed, int totalItemsToProcess) + { + this(numItemsProcessed, totalItemsToProcess); + this.update = update; + } + + private CheckDataProgress(int numItemsProcessed, int totalItemsToProcess) + { + super("checking data", null, numItemsProcessed, totalItemsToProcess); + } + + @Override + protected void updateDetails(ProgressDetails details) { - super("checking data", object, numItemsProcessed, totalItemsToProcess); + super.updateDetails(details); + details.set("creation", creation); + details.set("update", update); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateEntityProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateProgress.java similarity index 61% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateEntityProgress.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateProgress.java index c1727963df7..5fa04560d49 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateEntityProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/CreateProgress.java @@ -16,19 +16,30 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; /** * @author pkupczyk */ -public class CreateEntityProgress extends Progress +public class CreateProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public CreateEntityProgress(Object object, int numItemsProcessed, int totalItemsToProcess) + private ICreation creation; + + public CreateProgress(ICreation creation, int numItemsProcessed, int totalItemsToProcess) + { + super("creating", null, numItemsProcessed, totalItemsToProcess); + this.creation = creation; + } + + @Override + protected void updateDetails(ProgressDetails details) { - super("creating", object, numItemsProcessed, totalItemsToProcess); + super.updateDetails(details); + details.set("creation", creation); } } \ No newline at end of file diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgress.java new file mode 100644 index 00000000000..f977fedea34 --- /dev/null +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgress.java @@ -0,0 +1,95 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; + +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; +import ch.systemsx.cisd.common.action.IDelegatedAction; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; + +/** + * @author pkupczyk + */ +public abstract class EntityProgress extends Progress +{ + + private static final long serialVersionUID = 1L; + + private IIdentityHolder entity; + + public EntityProgress(String label, IIdentityHolder entity, int numItemsProcessed, int totalItemsToProcess) + { + super(label, numItemsProcessed, totalItemsToProcess); + this.entity = entity; + } + + @Override + protected void updateDetails(ProgressDetails details) + { + if (entity != null) + { + final ProgressDetails entityDetails = new ProgressDetails(); + entityDetails.set("class", entity.getClass().getSimpleName()); + + // the entity might be in an inconsistent/incomplete state therefore we allow failures when retrieving the data + + setWithFailureAllowed(new IDelegatedAction() + { + @Override + public void execute() + { + entityDetails.set("id", entity.getId()); + } + }); + + setWithFailureAllowed(new IDelegatedAction() + { + @Override + public void execute() + { + entityDetails.set("permId", entity.getPermId()); + } + }); + + setWithFailureAllowed(new IDelegatedAction() + { + @Override + public void execute() + { + entityDetails.set("identifier", entity.getIdentifier()); + } + }); + + details.set("entity", entityDetails); + } + } + + private void setWithFailureAllowed(IDelegatedAction setAction) + { + try + { + setAction.execute(); + } catch (Exception e) + { + + } catch (AssertionError e) + { + + } + } + +} diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetEntityRelationProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetRelationProgress.java similarity index 57% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetEntityRelationProgress.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetRelationProgress.java index 71476dedd89..c4eec6ba810 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetEntityRelationProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/SetRelationProgress.java @@ -16,19 +16,31 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public class SetEntityRelationProgress extends Progress +public class SetRelationProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public SetEntityRelationProgress(Object object, String relationName, int numItemsProcessed, int totalItemsToProcess) + private ICreation creation; + + public SetRelationProgress(IIdentityHolder entity, ICreation creation, String relationName, int numItemsProcessed, int totalItemsToProcess) + { + super("setting relation " + relationName, entity, numItemsProcessed, totalItemsToProcess); + this.creation = creation; + } + + @Override + protected void updateDetails(ProgressDetails details) { - super("setting relation " + relationName, object, numItemsProcessed, totalItemsToProcess); + super.updateDetails(details); + details.set("creation", creation); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityPropertyProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityPropertyProgress.java deleted file mode 100644 index 7ab7844af47..00000000000 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityPropertyProgress.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2016 ETH Zuerich, CISD - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; - -import java.util.HashMap; -import java.util.Map; - -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; - -/** - * @author pkupczyk - */ -public class UpdateEntityPropertyProgress extends Progress -{ - - private static final long serialVersionUID = 1L; - - private IEntityPropertiesHolder propertiesHolder; - - private Map<String, String> properties; - - public UpdateEntityPropertyProgress(IEntityPropertiesHolder propertiesHolder, Map<String, String> properties, int numItemsProcessed, - int totalItemsToProcess) - { - super("updating properties", null, numItemsProcessed, totalItemsToProcess); - this.propertiesHolder = propertiesHolder; - this.properties = properties; - } - - @Override - protected String createDetails(Object object) - { - Map<String, Object> details = new HashMap<String, Object>(); - details.put("entityKind", propertiesHolder.getEntityType().getEntityKind()); - if (propertiesHolder.getId() != null) - { - details.put("entityId", propertiesHolder.getId()); - } - details.put("entityCode", propertiesHolder.getCode()); - details.put("properties", properties); - return super.createDetails(details); - } - -} diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdatePropertyProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdatePropertyProgress.java new file mode 100644 index 00000000000..902075a5b06 --- /dev/null +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdatePropertyProgress.java @@ -0,0 +1,48 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; + +import java.util.Map; + +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; + +/** + * @author pkupczyk + */ +public class UpdatePropertyProgress extends EntityProgress +{ + + private static final long serialVersionUID = 1L; + + private Map<String, String> properties; + + public UpdatePropertyProgress(IIdentityHolder entity, Map<String, String> properties, int numItemsProcessed, + int totalItemsToProcess) + { + super("updating properties", entity, numItemsProcessed, totalItemsToProcess); + this.properties = properties; + } + + @Override + protected void updateDetails(ProgressDetails details) + { + super.updateDetails(details); + details.set("properties", properties); + } + +} diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityRelationProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateRelationProgress.java similarity index 57% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityRelationProgress.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateRelationProgress.java index 7ca5e0c8da1..188398421a0 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateEntityRelationProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/UpdateRelationProgress.java @@ -16,19 +16,31 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; +import ch.ethz.sis.openbis.generic.server.asapi.v3.context.ProgressDetails; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public class UpdateEntityRelationProgress extends Progress +public class UpdateRelationProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public UpdateEntityRelationProgress(Object object, String relationName, int numItemsProcessed, int totalItemsToProcess) + private IUpdate update; + + public UpdateRelationProgress(IUpdate update, IIdentityHolder entity, String relationName, int numItemsProcessed, int totalItemsToProcess) + { + super("updating relation " + relationName, entity, numItemsProcessed, totalItemsToProcess); + this.update = update; + } + + @Override + protected void updateDetails(ProgressDetails details) { - super("updating relation " + relationName, object, numItemsProcessed, totalItemsToProcess); + super.updateDetails(details); + details.set("update", update); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyEntityProgress.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyProgress.java similarity index 72% rename from openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyEntityProgress.java rename to openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyProgress.java index 7d3d32fed11..f80024eb283 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyEntityProgress.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/VerifyProgress.java @@ -16,19 +16,19 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; -import ch.ethz.sis.openbis.generic.server.asapi.v3.context.Progress; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; /** * @author pkupczyk */ -public class VerifyEntityProgress extends Progress +public class VerifyProgress extends EntityProgress { private static final long serialVersionUID = 1L; - public VerifyEntityProgress(int numItemsProcessed, int totalItemsToProcess) + public VerifyProgress(IIdentityHolder entity, int numItemsProcessed, int totalItemsToProcess) { - super("verifying entity", null, numItemsProcessed, totalItemsToProcess); + super("verifying", entity, numItemsProcessed, totalItemsToProcess); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IIdentityHolder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IIdentityHolder.java new file mode 100644 index 00000000000..947f349b2d8 --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/IIdentityHolder.java @@ -0,0 +1,25 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.generic.shared.basic; + +/** + * @author pkupczyk + */ +public interface IIdentityHolder extends IIdHolder, IPermIdHolder, IIdentifierHolder +{ + +} diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java index 98a264e9161..ef3023c24bc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataPE.java @@ -70,6 +70,7 @@ import ch.systemsx.cisd.common.collection.UnmodifiableSetDecorator; import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant; import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.NullBridge; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; @@ -84,13 +85,13 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; * @author Bernd Rinn */ @Entity -@Table(name = TableNames.DATA_VIEW, uniqueConstraints = @UniqueConstraint(columnNames = ColumnNames.CODE_COLUMN)) +@Table(name = TableNames.DATA_VIEW, uniqueConstraints = @UniqueConstraint(columnNames = ColumnNames.CODE_COLUMN) ) @Inheritance(strategy = InheritanceType.JOINED) @Indexed(index = "DataPE") @ClassBridge(impl = DataGlobalSearchBridge.class) public class DataPE extends AbstractIdAndCodeHolder<DataPE> implements IEntityInformationWithPropertiesHolder, IMatchingEntity, IIdentifierHolder, IDeletablePE, - IEntityWithMetaprojects, IModifierAndModificationDateBean + IEntityWithMetaprojects, IModifierAndModificationDateBean, IIdentityHolder { private static final long serialVersionUID = IServer.VERSION; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java index f6ea04f2985..2708e8fa6bd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ExperimentPE.java @@ -70,6 +70,7 @@ import ch.systemsx.cisd.common.collection.UnmodifiableListDecorator; import ch.systemsx.cisd.common.collection.UnmodifiableSetDecorator; import ch.systemsx.cisd.common.reflection.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.openbis.generic.shared.IServer; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier; @@ -91,7 +92,7 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; @ClassBridge(impl = ExperimentGlobalSearchBridge.class) public class ExperimentPE extends AttachmentHolderPE implements IEntityInformationWithPropertiesHolder, IIdAndCodeHolder, Comparable<ExperimentPE>, - IModifierAndModificationDateBean, IMatchingEntity, IDeletablePE, IEntityWithMetaprojects, + IModifierAndModificationDateBean, IMatchingEntity, IDeletablePE, IEntityWithMetaprojects, IIdentityHolder, Serializable { private static final long serialVersionUID = IServer.VERSION; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/IEntityInformationWithPropertiesHolder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/IEntityInformationWithPropertiesHolder.java index 74cdba9ea52..081c020ec66 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/IEntityInformationWithPropertiesHolder.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/IEntityInformationWithPropertiesHolder.java @@ -16,10 +16,12 @@ package ch.systemsx.cisd.openbis.generic.shared.dto; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; + /** * @author Piotr Buczek */ public interface IEntityInformationWithPropertiesHolder extends IEntityInformationHolderDTO, - IEntityPropertiesHolder + IEntityPropertiesHolder, IIdentityHolder { } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java index 0b25fd44f29..d870f2df5cd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MaterialPE.java @@ -63,6 +63,7 @@ import org.hibernate.validator.constraints.Length; import ch.systemsx.cisd.common.collection.UnmodifiableSetDecorator; import ch.systemsx.cisd.common.reflection.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.openbis.generic.shared.IServer; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.util.EqualsHashUtils; @@ -75,12 +76,12 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; */ @Entity @Table(name = TableNames.MATERIALS_TABLE, uniqueConstraints = @UniqueConstraint(columnNames = { ColumnNames.CODE_COLUMN, - ColumnNames.MATERIAL_TYPE_COLUMN })) + ColumnNames.MATERIAL_TYPE_COLUMN }) ) @Indexed(index = "MaterialPE") @ClassBridge(impl = MaterialGlobalSearchBridge.class) public class MaterialPE implements IIdAndCodeHolder, Comparable<MaterialPE>, IEntityInformationWithPropertiesHolder, Serializable, IMatchingEntity, - IEntityWithMetaprojects + IEntityWithMetaprojects, IIdentityHolder { private static final long serialVersionUID = IServer.VERSION; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MetaprojectPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MetaprojectPE.java index ffb9ecead71..de15a40c833 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MetaprojectPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/MetaprojectPE.java @@ -53,6 +53,7 @@ import org.hibernate.search.annotations.Store; import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MetaprojectIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; import ch.systemsx.cisd.openbis.generic.shared.search.IgnoreCaseAnalyzer; @@ -62,11 +63,11 @@ import ch.systemsx.cisd.openbis.generic.shared.util.EqualsHashUtils; * @author Pawel Glyzewski */ @Entity -@Table(name = TableNames.METAPROJECTS_TABLE, uniqueConstraints = @UniqueConstraint(columnNames = { ColumnNames.NAME_COLUMN, ColumnNames.OWNER })) -public class MetaprojectPE implements Serializable, IIdHolder, ICodeHolder +@Table(name = TableNames.METAPROJECTS_TABLE, uniqueConstraints = @UniqueConstraint(columnNames = { ColumnNames.NAME_COLUMN, ColumnNames.OWNER }) ) +public class MetaprojectPE implements Serializable, IIdHolder, ICodeHolder, IIdentityHolder { private static final long serialVersionUID = IServer.VERSION; - + private transient Long id; private String name; @@ -115,6 +116,7 @@ public class MetaprojectPE implements Serializable, IIdHolder, ICodeHolder return getName(); } + @Override @Transient @Field(index = Index.YES, name = SearchFieldConstants.IDENTIFIER, store = Store.YES) @Analyzer(impl = IgnoreCaseAnalyzer.class) @@ -123,6 +125,13 @@ public class MetaprojectPE implements Serializable, IIdHolder, ICodeHolder return new MetaprojectIdentifier(getOwner() != null ? getOwner().getUserId() : null, getName()).format(); } + + @Override + @Transient + public String getPermId() + { + return null; + } @Column(name = ColumnNames.DESCRIPTION_COLUMN) public String getDescription() diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ProjectPE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ProjectPE.java index c96a20ce122..601e9e31b26 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ProjectPE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/ProjectPE.java @@ -61,6 +61,7 @@ import ch.systemsx.cisd.common.collection.UnmodifiableListDecorator; import ch.systemsx.cisd.common.reflection.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.shared.IServer; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.IdentifierHelper; @@ -77,7 +78,7 @@ import ch.systemsx.cisd.openbis.generic.shared.util.EqualsHashUtils; @UniqueConstraint(columnNames = { ColumnNames.CODE_COLUMN, ColumnNames.SPACE_COLUMN }) }) @Friend(toClasses = ExperimentPE.class) public final class ProjectPE extends AttachmentHolderPE implements Comparable<ProjectPE>, - IIdAndCodeHolder, IModifierAndModificationDateBean, Serializable + IIdAndCodeHolder, IModifierAndModificationDateBean, IIdentityHolder, Serializable { public static final ProjectPE[] EMPTY_ARRAY = new ProjectPE[0]; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java index d0a0dd9c38d..f5852f45764 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java @@ -71,6 +71,7 @@ import ch.systemsx.cisd.common.collection.UnmodifiableSetDecorator; import ch.systemsx.cisd.common.reflection.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.NullBridge; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; @@ -92,7 +93,7 @@ import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils; @ClassBridge(impl = SampleGlobalSearchBridge.class) public class SamplePE extends AttachmentHolderPE implements IIdAndCodeHolder, Comparable<SamplePE>, IEntityInformationWithPropertiesHolder, IMatchingEntity, IDeletablePE, - IEntityWithMetaprojects, IModifierAndModificationDateBean, Serializable + IEntityWithMetaprojects, IModifierAndModificationDateBean, IIdentityHolder, Serializable { private static final long serialVersionUID = IServer.VERSION; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SpacePE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SpacePE.java index 67a79d7ec88..5a58620cda3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SpacePE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SpacePE.java @@ -47,7 +47,9 @@ import org.hibernate.validator.constraints.Length; import ch.systemsx.cisd.common.reflection.ModifiedShortPrefixToStringStyle; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.shared.IServer; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstants; +import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; /** * A <i>Persistence Entity</i> which represents a group. @@ -55,10 +57,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.hibernate.SearchFieldConstant * @author Christian Ribeaud */ @Entity -@Table(name = TableNames.SPACES_TABLE, uniqueConstraints = -{ @UniqueConstraint(columnNames = -{ ColumnNames.CODE_COLUMN }) }) -public final class SpacePE extends HibernateAbstractRegistrationHolder implements IIdAndCodeHolder, +@Table(name = TableNames.SPACES_TABLE, uniqueConstraints = { @UniqueConstraint(columnNames = { ColumnNames.CODE_COLUMN }) }) +public final class SpacePE extends HibernateAbstractRegistrationHolder implements IIdAndCodeHolder, IIdentityHolder, Comparable<SpacePE>, Serializable { private static final long serialVersionUID = IServer.VERSION; @@ -98,6 +98,20 @@ public final class SpacePE extends HibernateAbstractRegistrationHolder implement this.id = id; } + @Override + @Transient + public String getPermId() + { + return code; + } + + @Override + @Transient + public String getIdentifier() + { + return new SpaceIdentifier(code).toString(); + } + @Transient public final Boolean isHome() { @@ -229,4 +243,5 @@ public final class SpacePE extends HibernateAbstractRegistrationHolder implement { this.samples = samples; } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/create/ICreation.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/create/ICreation.js new file mode 100644 index 00000000000..e2de35ec67d --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/create/ICreation.js @@ -0,0 +1,7 @@ +define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) { + var ICreation = function() { + }; + stjs.extend(ICreation, null, [], function(constructor, prototype) { + }, {}); + return ICreation; +}) \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/update/IUpdate.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/update/IUpdate.js new file mode 100644 index 00000000000..82f7c9296cf --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/update/IUpdate.js @@ -0,0 +1,7 @@ +define([ "stjs", "util/Exceptions" ], function(stjs, exceptions) { + var IUpdate = function() { + }; + stjs.extend(IUpdate, null, [], function(constructor, prototype) { + }, {}); + return IUpdate; +}) \ No newline at end of file diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilderTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilderTest.java similarity index 96% rename from openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilderTest.java rename to openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilderTest.java index a51262632b1..31dda17b916 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/EntityProgressToStringBuilderTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/ProgressDetailsToStringBuilderTest.java @@ -1,4 +1,4 @@ -package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; +package ch.ethz.sis.openbis.generic.server.asapi.v3.context; import static org.testng.Assert.assertEquals; @@ -10,7 +10,7 @@ import java.util.Map; import org.testng.annotations.Test; -public class EntityProgressToStringBuilderTest +public class ProgressDetailsToStringBuilderTest { @Test @@ -228,7 +228,7 @@ public class EntityProgressToStringBuilderTest private void assertToStringEquals(Object object, String expectedToString) { - assertEquals(EntityProgressToStringBuilder.toString(object), expectedToString); + assertEquals(ProgressDetailsToStringBuilder.toString(object), expectedToString); } } diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/TestClass.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/TestClass.java similarity index 94% rename from openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/TestClass.java rename to openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/TestClass.java index b84f1adc77c..110e23ef9dc 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/progress/TestClass.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/context/TestClass.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.progress; +package ch.ethz.sis.openbis.generic.server.asapi.v3.context; import java.util.Collection; import java.util.Map; diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutorTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutorTest.java index 15b20743138..24b2a2f1b97 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutorTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/property/UpdateEntityPropertyExecutorTest.java @@ -34,7 +34,7 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IEntityTypeDAO; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPropertyTypeDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityPropertyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; -import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityPropertiesHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IEntityInformationWithPropertiesHolder; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.managed_property.IManagedPropertyEvaluatorFactory; @@ -78,7 +78,7 @@ public class UpdateEntityPropertyExecutorTest extends AbstractEntityPropertyExec afterProperties.add(createEntityProperty("TEST_PROPERTY_2", "value 2")); afterProperties.add(createEntityProperty("TEST_PROPERTY_3", "value 3")); - final IEntityPropertiesHolder entityPropertiesHolder = context.mock(IEntityPropertiesHolder.class); + final IEntityInformationWithPropertiesHolder entityPropertiesHolder = context.mock(IEntityInformationWithPropertiesHolder.class); context.checking(new Expectations() { @@ -131,7 +131,7 @@ public class UpdateEntityPropertyExecutorTest extends AbstractEntityPropertyExec execute(entityPropertiesHolder, entityType, updatedPropertyValues); } - private void execute(IEntityPropertiesHolder entity, EntityTypePE entityType, final Map<String, String> propertiesMap) + private void execute(IEntityInformationWithPropertiesHolder entity, EntityTypePE entityType, final Map<String, String> propertiesMap) { UpdateEntityPropertyExecutor executor = new UpdateEntityPropertyExecutor(daoFactory, managedPropertyEvaluatorFactory); IPropertiesHolder holder = new IPropertiesHolder() @@ -160,7 +160,8 @@ public class UpdateEntityPropertyExecutorTest extends AbstractEntityPropertyExec return propertiesMap; } }; - MapBatch<IPropertiesHolder, IEntityPropertiesHolder> batch = new MapBatch<>(0, 0, 1, Collections.singletonMap(holder, entity), 1); + MapBatch<IPropertiesHolder, IEntityInformationWithPropertiesHolder> batch = + new MapBatch<>(0, 0, 1, Collections.singletonMap(holder, entity), 1); executor.update(operationContext, batch); } diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateSampleTest.java index 2625692269b..74970407fd1 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateSampleTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateSampleTest.java @@ -763,7 +763,7 @@ public class CreateSampleTest extends AbstractSampleTest Assert.fail("Expected user failure exception"); } catch (UserFailureException ufe) { - AssertionUtil.assertContains("cannot be it's own container. (Context: [])", ufe.getMessage()); + AssertionUtil.assertContains("cannot be it's own container", ufe.getMessage()); } } diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/attachment/create/AttachmentCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/attachment/create/AttachmentCreation.java index da995a3b0a5..37b8fc89a85 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/attachment/create/AttachmentCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/attachment/create/AttachmentCreation.java @@ -16,15 +16,14 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.create; -import java.io.Serializable; - +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.systemsx.cisd.base.annotation.JsonObject; /** * @author pkupczyk */ @JsonObject("as.dto.attachment.create.AttachmentCreation") -public class AttachmentCreation implements Serializable +public class AttachmentCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/create/ICreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/create/ICreation.java new file mode 100644 index 00000000000..7b2324351b4 --- /dev/null +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/create/ICreation.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create; + +import java.io.Serializable; + +import ch.systemsx.cisd.base.annotation.JsonObject; + +/** + * @author pkupczyk + */ +@JsonObject("as.dto.common.create.ICreation") +public interface ICreation extends Serializable +{ + +} diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/update/IUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/update/IUpdate.java new file mode 100644 index 00000000000..cd6504419c6 --- /dev/null +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/update/IUpdate.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update; + +import java.io.Serializable; + +import ch.systemsx.cisd.base.annotation.JsonObject; + +/** + * @author pkupczyk + */ +@JsonObject("as.dto.common.update.IUpdate") +public interface IUpdate extends Serializable +{ + +} diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/DataSetCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/DataSetCreation.java index ef667b9a0e1..93f4e2171ab 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/DataSetCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/DataSetCreation.java @@ -16,12 +16,12 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create; -import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.CreationId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICreationIdHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; @@ -37,7 +37,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.create.DataSetCreation") -public class DataSetCreation implements Serializable, ICreationIdHolder, IPropertiesHolder +public class DataSetCreation implements ICreation, ICreationIdHolder, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/LinkedDataCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/LinkedDataCreation.java index bc068755e29..5d6863b6edb 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/LinkedDataCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/LinkedDataCreation.java @@ -16,10 +16,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonProperty; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.IExternalDmsId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -27,7 +26,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.create.LinkedDataCreation") -public class LinkedDataCreation implements Serializable +public class LinkedDataCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/PhysicalDataCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/PhysicalDataCreation.java index f5f695b5028..5594a5a8bb5 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/PhysicalDataCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/create/PhysicalDataCreation.java @@ -16,10 +16,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonProperty; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.Complete; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IFileFormatTypeId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.ILocatorTypeId; @@ -30,7 +29,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.create.PhysicalDataCreation") -public class PhysicalDataCreation implements Serializable +public class PhysicalDataCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/DataSetUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/DataSetUpdate.java index 06bc5d4a369..cb72c1530a6 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/DataSetUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/DataSetUpdate.java @@ -16,7 +16,6 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,6 +25,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; @@ -38,7 +38,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.update.DataSetUpdate") -public class DataSetUpdate implements Serializable, IPropertiesHolder +public class DataSetUpdate implements IUpdate, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/LinkedDataUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/LinkedDataUpdate.java index 81ff22204d7..55b51c32a09 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/LinkedDataUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/LinkedDataUpdate.java @@ -16,12 +16,11 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.IExternalDmsId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,7 +28,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.update.LinkedDataUpdate") -public class LinkedDataUpdate implements Serializable +public class LinkedDataUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/PhysicalDataUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/PhysicalDataUpdate.java index 3e41b16dddb..257c3f4bee0 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/PhysicalDataUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/update/PhysicalDataUpdate.java @@ -16,12 +16,11 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.update; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IFileFormatTypeId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,7 +28,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.dataset.update.PhysicalDataUpdate") -public class PhysicalDataUpdate implements Serializable +public class PhysicalDataUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/create/ExperimentCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/create/ExperimentCreation.java index 45f0a930441..8b7f75ca3d7 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/create/ExperimentCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/create/ExperimentCreation.java @@ -16,12 +16,12 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.create; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.create.AttachmentCreation; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.IEntityTypeId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId; @@ -32,7 +32,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.experiment.create.ExperimentCreation") -public class ExperimentCreation implements Serializable, IPropertiesHolder +public class ExperimentCreation implements ICreation, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/update/ExperimentUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/update/ExperimentUpdate.java index a02b2185837..fd0d8723765 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/update/ExperimentUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/experiment/update/ExperimentUpdate.java @@ -16,7 +16,6 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.update; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.update.AttachmentListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId; @@ -38,7 +38,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.experiment.update.ExperimentUpdate") -public class ExperimentUpdate implements Serializable, IPropertiesHolder +public class ExperimentUpdate implements IUpdate, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/create/MaterialCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/create/MaterialCreation.java index 20652c29b31..92b218eab97 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/create/MaterialCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/create/MaterialCreation.java @@ -16,11 +16,11 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.material.create; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.CreationId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.IEntityTypeId; @@ -31,7 +31,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.material.create.MaterialCreation") -public class MaterialCreation implements Serializable, IPropertiesHolder +public class MaterialCreation implements ICreation, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/update/MaterialUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/update/MaterialUpdate.java index 092ea7d1ac0..17ed2b2c082 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/update/MaterialUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/material/update/MaterialUpdate.java @@ -16,7 +16,6 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.material.update; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.id.IMaterialId; @@ -35,7 +35,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author Jakub Straszewski */ @JsonObject("as.dto.material.update.MaterialUpdate") -public class MaterialUpdate implements Serializable, IPropertiesHolder +public class MaterialUpdate implements IUpdate, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/create/ProjectCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/create/ProjectCreation.java index e47c8e4863d..dd43c2b8f5d 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/create/ProjectCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/create/ProjectCreation.java @@ -16,10 +16,10 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.create; -import java.io.Serializable; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.create.AttachmentCreation; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.id.IPersonId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -28,7 +28,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.project.create.ProjectCreation") -public class ProjectCreation implements Serializable +public class ProjectCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/update/ProjectUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/update/ProjectUpdate.java index b08ad749a52..b2e8acca70a 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/update/ProjectUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/update/ProjectUpdate.java @@ -16,7 +16,6 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.update; -import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -24,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.update.AttachmentListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.IProjectId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId; @@ -33,7 +33,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.project.update.ProjectUpdate") -public class ProjectUpdate implements Serializable +public class ProjectUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java index 2dc8964a1d4..a57f44ea901 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/create/SampleCreation.java @@ -16,12 +16,12 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.create; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.create.AttachmentCreation; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.CreationId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.ICreationIdHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; @@ -36,7 +36,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.sample.create.SampleCreation") -public class SampleCreation implements Serializable, ICreationIdHolder, IPropertiesHolder +public class SampleCreation implements ICreation, ICreationIdHolder, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java index dd71c500396..eb9dace1f41 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/sample/update/SampleUpdate.java @@ -16,7 +16,6 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.update; -import java.io.Serializable; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.attachment.update.AttachmentListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IPropertiesHolder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId; @@ -39,7 +39,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.sample.update.SampleUpdate") -public class SampleUpdate implements Serializable, IPropertiesHolder +public class SampleUpdate implements IUpdate, IPropertiesHolder { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/create/SpaceCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/create/SpaceCreation.java index f414b90020a..260f1cad0d3 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/create/SpaceCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/create/SpaceCreation.java @@ -16,15 +16,14 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.space.create; -import java.io.Serializable; - +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.systemsx.cisd.base.annotation.JsonObject; /** * @author pkupczyk */ @JsonObject("as.dto.space.create.SpaceCreation") -public class SpaceCreation implements Serializable +public class SpaceCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/update/SpaceUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/update/SpaceUpdate.java index 8cfe940b573..db88419f4ad 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/update/SpaceUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/update/SpaceUpdate.java @@ -16,12 +16,11 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.space.update; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.ISpaceId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,7 +28,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.space.update.SpaceUpdate") -public class SpaceUpdate implements Serializable +public class SpaceUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/create/TagCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/create/TagCreation.java index 89b7fcc8a45..67a406df6e4 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/create/TagCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/create/TagCreation.java @@ -16,9 +16,9 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.create; -import java.io.Serializable; import java.util.List; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.IExperimentId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.id.IMaterialId; @@ -29,7 +29,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.tag.create.TagCreation") -public class TagCreation implements Serializable +public class TagCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/update/TagUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/update/TagUpdate.java index 990adc8d568..23b2fff9353 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/update/TagUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/update/TagUpdate.java @@ -16,13 +16,13 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.update; -import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IdListUpdateValue; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.ListUpdateValue.ListUpdateAction; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.IDataSetId; @@ -36,7 +36,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.tag.update.TagUpdate") -public class TagUpdate implements Serializable +public class TagUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/create/VocabularyTermCreation.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/create/VocabularyTermCreation.java index 1242e92d4d6..53c976b6c4b 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/create/VocabularyTermCreation.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/create/VocabularyTermCreation.java @@ -16,8 +16,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.create; -import java.io.Serializable; - +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.create.ICreation; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.IVocabularyId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.IVocabularyTermId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -26,7 +25,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.vocabulary.create.VocabularyTermCreation") -public class VocabularyTermCreation implements Serializable +public class VocabularyTermCreation implements ICreation { private static final long serialVersionUID = 1L; diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/update/VocabularyTermUpdate.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/update/VocabularyTermUpdate.java index 083196382c4..79c20776546 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/update/VocabularyTermUpdate.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/update/VocabularyTermUpdate.java @@ -16,12 +16,11 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.update; -import java.io.Serializable; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.FieldUpdateValue; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.update.IUpdate; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.IVocabularyTermId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -29,7 +28,7 @@ import ch.systemsx.cisd.base.annotation.JsonObject; * @author pkupczyk */ @JsonObject("as.dto.vocabulary.update.VocabularyTermUpdate") -public class VocabularyTermUpdate implements Serializable +public class VocabularyTermUpdate implements IUpdate { private static final long serialVersionUID = 1L; diff --git a/openbis_api/sourceTest/java/ch/ethz/sis/openbis/generic/sharedapi/v3/dictionary.txt b/openbis_api/sourceTest/java/ch/ethz/sis/openbis/generic/sharedapi/v3/dictionary.txt index 724e7e3bbc3..e05445f9faf 100644 --- a/openbis_api/sourceTest/java/ch/ethz/sis/openbis/generic/sharedapi/v3/dictionary.txt +++ b/openbis_api/sourceTest/java/ch/ethz/sis/openbis/generic/sharedapi/v3/dictionary.txt @@ -1148,4 +1148,6 @@ get Added get Removed get Set I Material Properties Holder -set Material Property \ No newline at end of file +set Material Property +I Creation +I Update \ No newline at end of file -- GitLab