cleanup
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / remoting / source / CdmServerInfo.java
index 987766eb801b6cc236aca29fcd655f01bc004cb2..2bda6955a5780c71db1fb8d5217b1d7dea82f7d2 100644 (file)
@@ -19,7 +19,7 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.ClientProtocolException;
@@ -39,6 +39,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration;
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.config.CdmSourceException;
 import eu.etaxonomy.cdm.config.ConfigFileUtil;
 import eu.etaxonomy.cdm.config.ICdmSource;
@@ -56,7 +57,7 @@ public class CdmServerInfo {
 
     public static final Logger logger = Logger.getLogger(CdmServerInfo.class);
 
-    private final static String CDMSERVER_PREFIX = "cdmserver/";
+    protected final static String CDMSERVER_PREFIX = "cdmserver/";
     private final static String NAME_PRODUCTION = "cybertaxonomy.org";
     private final static String SERVER_PRODUCTION = "api.cybertaxonomy.org";
 
@@ -75,13 +76,13 @@ public class CdmServerInfo {
     public final static int NULL_PORT = -1;
     public final static String NULL_PORT_STRING = "N/A";
 
-    private static final String CDM_REMOTE_SERVERS_CONFIG_FILE = "cdm_remote_servers.json";
+    protected static final String CDM_REMOTE_SERVERS_CONFIG_FILE = "cdm_remote_servers.json";
 
 
     private final String name;
     private final String server;
     private int port;
-    private final List<CdmInstanceInfo> instances;
+    protected final List<CdmInstanceInfo> instances;
 
     private String cdmlibServicesVersion = "";
     private String cdmlibServicesLastModified = "";
@@ -135,6 +136,8 @@ public class CdmServerInfo {
         } else {
             addInstancesViaHttp();
         }
+
+
         Collections.sort(instances, new Comparator<CdmInstanceInfo>() {
             @Override
             public int compare(CdmInstanceInfo cii1, CdmInstanceInfo cii2){
@@ -266,6 +269,7 @@ public class CdmServerInfo {
                 return CdmRemoteLocalhostSource.NewInstance(name,
                         server,
                         port,
+                        instance.getDataSource(),
                         instance.name
                         );
             }else{
@@ -379,7 +383,7 @@ public class CdmServerInfo {
         return result;
     }
 
-    public static List<CdmServerInfo> getCdmServers() {
+    public static List<CdmServerInfo> getCdmServers(boolean isLocal) {
         List<CdmServerInfoConfig> configList;
         File file = new File(ConfigFileUtil.perUserCdmFolderFallback(), CDM_REMOTE_SERVERS_CONFIG_FILE);
         if (file.exists()){
@@ -387,17 +391,20 @@ public class CdmServerInfo {
         }else{
             configList = loadFromConfigFile(new File(ConfigFileUtil.perUserCdmFolderFallback(), CDM_REMOTE_SERVERS_CONFIG_FILE));
         }
-        List<CdmServerInfo> serverInfoList = new ArrayList<CdmServerInfo>(configList.size());
+        List<CdmServerInfo> serverInfoList = new ArrayList<>(configList.size());
         for(CdmServerInfoConfig config : configList) {
             serverInfoList.add(new CdmServerInfo(config));
         }
-        // The local host managed server must not be in the config file
-        CdmServerInfoConfig localHostManagedConfig = new CdmServerInfoConfig(NAME_LOCALHOST_MGD, SERVER_LOCALHOST, NULL_PORT, CDMSERVER_PREFIX, false);
-        serverInfoList.add(new CdmServerInfo(localHostManagedConfig));
+        // The local host managed server must not be in the config file, this should be moved and only added when plugin is installed
+        if (isLocal){
+            CdmServerInfoConfig localHostManagedConfig = new CdmServerInfoConfig(NAME_LOCALHOST_MGD, SERVER_LOCALHOST, NULL_PORT, CDMSERVER_PREFIX, false);
+            serverInfoList.add(new CdmServerInfo(localHostManagedConfig));
+        }
+
         return serverInfoList;
     }
 
-    private static List<CdmServerInfoConfig>  loadFromConfigFile(File file) {
+    protected static List<CdmServerInfoConfig>  loadFromConfigFile(File file) {
 
         List<CdmServerInfoConfig> serverList = null;
 
@@ -460,7 +467,7 @@ public class CdmServerInfo {
         String value = System.getProperty("cdm.server.dev.port");
         boolean available = false;
         CdmInstanceInfo devInstance = null;
-        if(value != null && !value.isEmpty()) {
+        if(CdmUtils.isNotBlank(value)) {
             int devPort = Integer.valueOf(value);
             CdmServerInfo devCii = new CdmServerInfo(new CdmServerInfoConfig(NAME_LOCALHOST_DEV, SERVER_LOCALHOST_DEV, devPort, "", false));
             try {