flexible server path prefix and option skip cdmlib version test per server
authorAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 19 Jan 2016 10:41:13 +0000 (11:41 +0100)
committerAndreas Kohlbecker <a.kohlbecker@bgbm.org>
Tue, 19 Jan 2016 10:41:13 +0000 (11:41 +0100)
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/CdmServerInfoTest.java

index d172547d7cc66583ab30fbc6d157b85660032c4e..b5a0f8af844a92c4feed53ce2d1daad6eeae795c 100644 (file)
@@ -48,7 +48,7 @@ import eu.etaxonomy.taxeditor.remoting.server.CDMServerUtils;
 public class CdmServerInfo {
     public static final Logger logger = Logger.getLogger(CdmServerInfo.class);
 
-    private final static String CDMSERVER_PREFIX = "";
+    private final static String CDMSERVER_PREFIX = "cdmserver/";
     private final static String NAME_PRODUCTION = "cybertaxonomy.org";
     private final static String SERVER_PRODUCTION = "api.cybertaxonomy.org";
 
@@ -88,11 +88,17 @@ public class CdmServerInfo {
     private String cdmlibServicesVersion = "";
     private String cdmlibServicesLastModified = "";
 
+    private String prefix = "";
 
-    public CdmServerInfo(String name, String server, int port) {
+    private boolean ignoreCdmLibVersion = false;
+
+
+    public CdmServerInfo(String name, String server, int port, String prefix, boolean ignoreCdmLibVersion) {
         this.name = name;
         this.server = server;
         this.port = port;
+        this.prefix = prefix;
+        this.ignoreCdmLibVersion = ignoreCdmLibVersion;
         instances = new ArrayList<CdmInstanceInfo>();
 
     }
@@ -142,7 +148,7 @@ public class CdmServerInfo {
     }
 
     public void updateInfo() throws CDMServerException {
-        String url = "http://" + server + ":" + String.valueOf(port) + "/" + CDMSERVER_PREFIX + "/info.jsp";
+        String url = "http://" + server + ":" + String.valueOf(port) + "/" + prefix + "info.jsp";
         String responseBody = getResponse(url);
         if(responseBody != null) {
             try {
@@ -157,7 +163,7 @@ public class CdmServerInfo {
 
     public void addInstancesViaHttp() throws CDMServerException {
         updateInfo();
-        String url = "http://" + server + ":" + String.valueOf(port) + "/" + CDMSERVER_PREFIX + "/instances.jsp";
+        String url = "http://" + server + ":" + String.valueOf(port) + "/" + prefix + "instances.jsp";
         String responseBody = getResponse(url);
         if(responseBody != null) {
             try {
@@ -310,8 +316,11 @@ public class CdmServerInfo {
 
         String serverVersion = cdmlibServicesVersion;
         String serverCdmlibLastModified = cdmlibServicesLastModified;
-
-        return compareCdmlibServicesVersion(serverVersion, serverCdmlibLastModified);
+        if(ignoreCdmLibVersion) {
+            return 0;
+        } else {
+            return compareCdmlibServicesVersion(serverVersion, serverCdmlibLastModified);
+        }
     }
 
 
@@ -369,14 +378,14 @@ public class CdmServerInfo {
 
     public static List<CdmServerInfo> getCdmServers() {
         if(cdmServerInfoList == null) {
-            cdmServerInfoList = new ArrayList<CdmServerInfo>();
-//            cdmServerInfoList.add(new CdmServerInfo(NAME_PRODUCTION, SERVER_PRODUCTION, 80));
-            //cdmServerInfoList.add(new CdmServerInfo(NAME_INTEGRATION, SERVER_INTEGRATION, 80));
-            cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_1, SERVER_DEMO_1, 80));
-           // cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_2, SERVER_DEMO_2, 80));
-           cdmServerInfoList.add(new CdmServerInfo(NAME_TEST, SERVER_TEST, 80));
-            cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST, SERVER_LOCALHOST, 8080));
-            cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST_MGD, SERVER_LOCALHOST,NULL_PORT));
+           cdmServerInfoList = new ArrayList<CdmServerInfo>();
+           // cdmServerInfoList.add(new CdmServerInfo(NAME_PRODUCTION, SERVER_PRODUCTION, 80, ""));
+           //cdmServerInfoList.add(new CdmServerInfo(NAME_INTEGRATION, SERVER_INTEGRATION, 80, CDMSERVER_PREFIX));
+           cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_1, SERVER_DEMO_1, 80, CDMSERVER_PREFIX, false));
+           // cdmServerInfoList.add(new CdmServerInfo(NAME_DEMO_2, SERVER_DEMO_2, 80, CDMSERVER_PREFIX));
+           cdmServerInfoList.add(new CdmServerInfo(NAME_TEST, SERVER_TEST, 80, CDMSERVER_PREFIX, false));
+           cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST, SERVER_LOCALHOST, 8080, CDMSERVER_PREFIX, true));
+           cdmServerInfoList.add(new CdmServerInfo(NAME_LOCALHOST_MGD, SERVER_LOCALHOST, NULL_PORT, CDMSERVER_PREFIX, false));
         }
         return cdmServerInfoList;
     }
@@ -411,7 +420,7 @@ public class CdmServerInfo {
         CdmInstanceInfo devInstance = null;
         if(value != null && !value.isEmpty()) {
             int devPort = Integer.valueOf(value);
-            CdmServerInfo devCii = new CdmServerInfo(NAME_LOCALHOST_DEV, SERVER_LOCALHOST_DEV, devPort);
+            CdmServerInfo devCii = new CdmServerInfo(NAME_LOCALHOST_DEV, SERVER_LOCALHOST_DEV, devPort, "", false);
             try {
                 devInstance = devCii.addInstance(NAME_INSTANCE_LOCALHOST_DEV, BASEPATH_LOCALHOST_DEV);
                 available = devCii.pingInstance(devInstance, devPort);
index d968fe56471e8ad3c7d520f34c2096b908c557d4..d1eb71224b53c4e9a6fd04adada6e3ddf63e5c58 100644 (file)
@@ -42,7 +42,7 @@ public class CdmServerInfoTest extends UnitilsJUnit4 {
     @Ignore // this should be targetting integration or production
     @Test
     public void pingInstancesTest() {
-        CdmServerInfo csii = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080);
+        CdmServerInfo csii = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false);
         try {
             csii.refreshInstances();
             List<CdmInstanceInfo> instances = csii.getInstances();
@@ -56,7 +56,7 @@ public class CdmServerInfoTest extends UnitilsJUnit4 {
 
     @Test
     public void refreshWrongInstancesTest() {
-        CdmServerInfo wrongCsii = new CdmServerInfo("local", "local", 8080);
+        CdmServerInfo wrongCsii = new CdmServerInfo("local", "local", 8080, "noserver", false);
         try {
             wrongCsii.refreshInstances();
             List<CdmInstanceInfo> instances = wrongCsii.getInstances();
@@ -69,7 +69,7 @@ public class CdmServerInfoTest extends UnitilsJUnit4 {
     @Ignore // this should be targetting integration or production
     @Test
     public void refreshInstancesTest() throws CDMServerException {
-        CdmServerInfo cdmServerInfo = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080);
+        CdmServerInfo cdmServerInfo = new CdmServerInfo("edit-test", "test.e-taxonomy.eu", 8080, "cdmserver/", false);
         cdmServerInfo.refreshInstances();
         List<CdmInstanceInfo> instances = cdmServerInfo.getInstances();
         Assert.assertTrue(instances != null && !instances.isEmpty());