From dd71f528c68feb094e758dd3ed76f00d47bea649 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Wed, 7 Nov 2012 09:26:01 +0000
Subject: [PATCH] BIS-190 SP-295 remove readonly metaproject from dropbox
 transaction

SVN: 27518
---
 .../v1/IDataSetRegistrationTransaction.java   | 19 ++-----------
 .../registrator/api/v1/IMetaproject.java      | 10 +++++++
 .../api/v1/impl/AbstractTransactionState.java | 15 +++--------
 .../impl/DataSetRegistrationTransaction.java  | 27 ++-----------------
 .../registrator/api/v1/impl/Metaproject.java  |  4 +--
 ...aSetRegistrationTransactionV2Delegate.java | 17 ++----------
 .../v2/IDataSetRegistrationTransactionV2.java | 19 ++-----------
 7 files changed, 24 insertions(+), 87 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java
index 0b5afdb9e52..88b1f50cc16 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IDataSetRegistrationTransaction.java
@@ -28,7 +28,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmut
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExternalDataManagementSystemImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable;
-import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IProjectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
@@ -244,28 +243,14 @@ public interface IDataSetRegistrationTransaction
      * 
      * @return metaproject with given name for current user.
      */
-    IMetaprojectImmutable getMetaproject(String name);
+    IMetaproject getMetaproject(String name);
 
     /**
      * Only allowed when the user is not available.
      * 
      * @return metaproject with given name for specified user.
      */
-    IMetaprojectImmutable getMetaproject(String name, String ownerId);
-
-    /**
-     * Only allowed when the user is available.
-     * 
-     * @return metaproject with given name for current user.
-     */
-    IMetaproject getMetaprojectForUpdate(String name);
-
-    /**
-     * Only allowed when the user is not available.
-     * 
-     * @return metaproject with given name for specified user.
-     */
-    IMetaproject getMetaprojectForUpdate(String name, String ownerId);
+    IMetaproject getMetaproject(String name, String ownerId);
 
     // File operations -- The source and destination paths are local to the incoming data set folder
     // or incoming directory if the data set is just one file
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IMetaproject.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IMetaproject.java
index 5720631cda3..80eba1db330 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IMetaproject.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/IMetaproject.java
@@ -27,9 +27,19 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectI
 public interface IMetaproject extends IMetaprojectImmutable
 {
 
+    /**
+     * set this metaproject description
+     */
     void setDescription(String description);
 
+    /**
+     * add assignments to this metaproject
+     */
     void addEntity(IMetaprojectContent entity);
 
+    /**
+     * remove assigned entity from this metaproject
+     */
     void removeEntity(IMetaprojectContent entity);
+
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractTransactionState.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractTransactionState.java
index 6b21fa16d97..914d566f3a7 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractTransactionState.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/AbstractTransactionState.java
@@ -52,7 +52,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable;
-import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.AtomicEntityOperationDetails;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
@@ -701,19 +700,12 @@ public abstract class AbstractTransactionState<T extends DataSetInformation>
             return metaproject;
         }
 
-        public IMetaprojectImmutable getMetaproject(String name, String ownerId)
-        {
-            ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject dto =
-                    openBisService.tryGetMetaproject(name, ownerId);
-            return new MetaprojectImmutable(dto);
-        }
-
-        public IMetaproject getMetaprojectForUpdate(String name, String ownerId)
+        public Metaproject getMetaproject(String name, String ownerId)
         {
             ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject dto =
                     openBisService.tryGetMetaproject(name, ownerId);
 
-            IMetaproject metaproject = findExistingMetaprojectLocally(dto);
+            Metaproject metaproject = findExistingMetaprojectLocally(dto);
 
             if (metaproject == null)
             {
@@ -723,7 +715,8 @@ public abstract class AbstractTransactionState<T extends DataSetInformation>
             return metaproject;
         }
 
-        public IMetaproject findExistingMetaprojectLocally(ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject dto)
+        public Metaproject findExistingMetaprojectLocally(
+                ch.systemsx.cisd.openbis.generic.shared.basic.dto.Metaproject dto)
         {
             for (Metaproject m : metaprojectsToBeUpdated)
             {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
index acd0933cd91..af9b6c23b36 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/DataSetRegistrationTransaction.java
@@ -66,7 +66,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmut
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExternalDataManagementSystemImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable;
-import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IProjectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
@@ -466,7 +465,7 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem
     }
 
     @Override
-    public IMetaprojectImmutable getMetaproject(String name)
+    public IMetaproject getMetaproject(String name)
     {
         if (getUserId() == null)
         {
@@ -477,7 +476,7 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem
     }
 
     @Override
-    public IMetaprojectImmutable getMetaproject(String name, String ownerId)
+    public IMetaproject getMetaproject(String name, String ownerId)
     {
         if (getUserId() != null && false == getUserId().equals(ownerId))
         {
@@ -487,28 +486,6 @@ public class DataSetRegistrationTransaction<T extends DataSetInformation> implem
         return getStateAsLiveState().getMetaproject(name, ownerId);
     }
 
-    @Override
-    public IMetaproject getMetaprojectForUpdate(String name)
-    {
-        if (getUserId() == null)
-        {
-            throw new IllegalArgumentException(
-                    "Cannot get a metaproject when user is not available nor specified. ");
-        }
-        return getStateAsLiveState().getMetaprojectForUpdate(name, getUserId());
-    }
-
-    @Override
-    public IMetaproject getMetaprojectForUpdate(String name, String ownerId)
-    {
-        if (getUserId() != null && false == getUserId().equals(ownerId))
-        {
-            throw new IllegalArgumentException(
-                    "Cannot get metaproject for different user then the current one.");
-        }
-        return getStateAsLiveState().getMetaprojectForUpdate(name, ownerId);
-    }
-
     @Override
     public String moveFile(String src, IDataSet dst)
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Metaproject.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Metaproject.java
index 51218a723b9..0b152a5f145 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Metaproject.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/Metaproject.java
@@ -81,12 +81,12 @@ public class Metaproject extends MetaprojectImmutable implements IMetaproject
         removedEntities.add(id);
     }
 
-    public Set<IObjectId> getAddedEntities()
+    Set<IObjectId> getAddedEntities()
     {
         return addedEntities;
     }
 
-    public Set<IObjectId> getRemovedEntities()
+    Set<IObjectId> getRemovedEntities()
     {
         return removedEntities;
     }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
index 74f6d17cfc0..f48be0cdeb1 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/DataSetRegistrationTransactionV2Delegate.java
@@ -37,7 +37,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmut
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExternalDataManagementSystemImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable;
-import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IProjectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
@@ -213,25 +212,13 @@ public class DataSetRegistrationTransactionV2Delegate implements IDataSetRegistr
     }
 
     @Override
-    public IMetaprojectImmutable getMetaproject(String name)
+    public IMetaproject getMetaproject(String name)
     {
         return transaction.getMetaproject(name);
     }
 
     @Override
-    public IMetaproject getMetaprojectForUpdate(String name)
-    {
-        return transaction.getMetaprojectForUpdate(name);
-    }
-
-    @Override
-    public IMetaproject getMetaprojectForUpdate(String name, String ownerId)
-    {
-        return transaction.getMetaprojectForUpdate(name, ownerId);
-    }
-
-    @Override
-    public IMetaprojectImmutable getMetaproject(String name, String ownerId)
+    public IMetaproject getMetaproject(String name, String ownerId)
     {
         return transaction.getMetaproject(name, ownerId);
     }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
index b845c29d08e..6e32cf2f101 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/IDataSetRegistrationTransactionV2.java
@@ -36,7 +36,6 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IDataSetImmut
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExternalDataManagementSystemImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMaterialImmutable;
-import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IMetaprojectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IProjectImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISearchService;
@@ -232,28 +231,14 @@ public interface IDataSetRegistrationTransactionV2
      * 
      * @return Read-only metaproject with given name for current user.
      */
-    IMetaprojectImmutable getMetaproject(String name);
+    IMetaproject getMetaproject(String name);
 
     /**
      * Only allowed when the user is not available.
      * 
      * @return Read-only metaproject with given name for specified user.
      */
-    IMetaprojectImmutable getMetaproject(String name, String ownerId);
-
-    /**
-     * Only allowed when the user is available.
-     * 
-     * @return metaproject with given name for current user.
-     */
-    IMetaproject getMetaprojectForUpdate(String name);
-
-    /**
-     * Only allowed when the user is not available.
-     * 
-     * @return metaproject with given name for specified user.
-     */
-    IMetaproject getMetaprojectForUpdate(String name, String ownerId);
+    IMetaproject getMetaproject(String name, String ownerId);
 
     // File operations -- The source and destination paths are local to the incoming data set folder
     // or incoming directory if the data set is just one file
-- 
GitLab