From 32b57653f6383b2b90a63161cb63ebeb8ac5fa47 Mon Sep 17 00:00:00 2001
From: anttil <anttil>
Date: Tue, 14 Feb 2017 11:56:10 +0000
Subject: [PATCH] SSDM-4722: Revert changes that broke backwards compatibility.

SVN: 37741
---
 ...ExternalDataManagementSystemImmutable.java | 13 +++++++++++++
 ...ExternalDataManagementSystemImmutable.java |  6 ++++++
 .../api/v1/IExternalDataManagementSystem.java |  4 ++++
 .../v1/impl/ExternalDataManagementSystem.java | 19 +++++++++++++++++++
 .../ExternalDataManagementSystemWrapper.java  | 10 ++++++++++
 .../externaldms/ExternalDmsAddressType.java   | 18 ------------------
 .../dto/ExternalDataManagementSystemType.java | 17 -----------------
 7 files changed, 52 insertions(+), 35 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ExternalDataManagementSystemImmutable.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ExternalDataManagementSystemImmutable.java
index 8f2c47e3622..ef28dd6c89f 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ExternalDataManagementSystemImmutable.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ExternalDataManagementSystemImmutable.java
@@ -17,6 +17,7 @@
 package ch.systemsx.cisd.etlserver.registrator.api.v2.impl;
 
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExternalDataManagementSystemImmutable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalDataManagementSystemType;
 
 /**
  * @author Jakub Straszewski
@@ -56,4 +57,16 @@ public class ExternalDataManagementSystemImmutable implements
         return externalDMS.getCode();
     }
 
+    @Override
+    public String getAddress()
+    {
+        return externalDMS.getAddress();
+    }
+
+    @Override
+    public ExternalDataManagementSystemType getAddressType()
+    {
+        return externalDMS.getAddressType();
+    }
+
 }
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/internal/v2/IExternalDataManagementSystemImmutable.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/internal/v2/IExternalDataManagementSystemImmutable.java
index 090a1fdfbfb..db6e27ae8a4 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/internal/v2/IExternalDataManagementSystemImmutable.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/api/internal/v2/IExternalDataManagementSystemImmutable.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2;
 
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalDataManagementSystemType;
+
 /**
  * @author Jakub Straszewski
  */
@@ -27,5 +29,9 @@ public interface IExternalDataManagementSystemImmutable
 
     String getUrlTemplate();
 
+    String getAddress();
+
+    ExternalDataManagementSystemType getAddressType();
+
     boolean isOpenBIS();
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IExternalDataManagementSystem.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IExternalDataManagementSystem.java
index d257e4ffb23..5e38ff42e2c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IExternalDataManagementSystem.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IExternalDataManagementSystem.java
@@ -25,6 +25,10 @@ public interface IExternalDataManagementSystem extends IExternalDataManagementSy
 {
     public void setLabel(String label);
 
+    public void setUrlTemplate(String urlTemplate);
+
+    public void setOpenBIS(boolean openBIS);
+
     public void setAddress(String address);
 
     public void setAddressType(ExternalDataManagementSystemType addressType);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystem.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystem.java
index 37e08072996..dccf3755f71 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystem.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystem.java
@@ -49,4 +49,23 @@ public class ExternalDataManagementSystem extends ExternalDataManagementSystemIm
         getExternalDataManagementSystem().setAddressType(addressType);
         getExternalDataManagementSystem().setOpenBIS(ExternalDataManagementSystemType.OPENBIS.equals(addressType));
     }
+
+    @Override
+    public void setUrlTemplate(String urlTemplate)
+    {
+        setAddress(urlTemplate);
+    }
+
+    @Override
+    public void setOpenBIS(boolean openBIS)
+    {
+        if (openBIS)
+        {
+            setAddressType(ExternalDataManagementSystemType.OPENBIS);
+        } else
+        {
+            setAddressType(ExternalDataManagementSystemType.URL);
+        }
+    }
+
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystemWrapper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystemWrapper.java
index 9fa8a18127f..9e9061b33fc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystemWrapper.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExternalDataManagementSystemWrapper.java
@@ -37,6 +37,16 @@ public class ExternalDataManagementSystemWrapper extends ExternalDataManagementS
     {
     }
 
+    @Override
+    public void setUrlTemplate(String urlTemplate)
+    {
+    }
+
+    @Override
+    public void setOpenBIS(boolean openBIS)
+    {
+    }
+
     @Override
     public void setAddress(String address)
     {
diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDmsAddressType.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDmsAddressType.java
index 528737ee85e..806f1d7b483 100644
--- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDmsAddressType.java
+++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/externaldms/ExternalDmsAddressType.java
@@ -1,7 +1,5 @@
 package ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
 import ch.systemsx.cisd.base.annotation.JsonObject;
 import ch.systemsx.cisd.common.annotation.TechPreview;
 
@@ -10,20 +8,4 @@ import ch.systemsx.cisd.common.annotation.TechPreview;
 public enum ExternalDmsAddressType
 {
     OPENBIS, URL, FILE_SYSTEM;
-
-    @JsonIgnore
-    public static ExternalDmsAddressType fromString(String str)
-    {
-        switch (str)
-        {
-            case "OPENBIS":
-                return ExternalDmsAddressType.OPENBIS;
-            case "URL":
-                return ExternalDmsAddressType.URL;
-            case "FILE_SYSTEM":
-                return ExternalDmsAddressType.FILE_SYSTEM;
-            default:
-                throw new IllegalArgumentException("Unknown address type " + str);
-        }
-    }
 }
\ No newline at end of file
diff --git a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalDataManagementSystemType.java b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalDataManagementSystemType.java
index 75f259ec84f..d9d97dcc69d 100644
--- a/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalDataManagementSystemType.java
+++ b/openbis_api/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalDataManagementSystemType.java
@@ -6,21 +6,4 @@ import ch.systemsx.cisd.base.annotation.JsonObject;
 public enum ExternalDataManagementSystemType
 {
     OPENBIS, URL, FILE_SYSTEM;
-
-    public static ExternalDataManagementSystemType fromString(String str)
-    {
-        if ("OPENBIS".equals(str))
-        {
-            return ExternalDataManagementSystemType.OPENBIS;
-        } else if ("URL".equals(str))
-        {
-            return ExternalDataManagementSystemType.URL;
-        } else if ("FILE_SYSTEM".equals(str))
-        {
-            return ExternalDataManagementSystemType.FILE_SYSTEM;
-        } else
-        {
-            throw new IllegalArgumentException("Unknown type " + str);
-        }
-    }
 }
-- 
GitLab