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;
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;
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";
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 = "";
} else {
addInstancesViaHttp();
}
+
+
Collections.sort(instances, new Comparator<CdmInstanceInfo>() {
@Override
public int compare(CdmInstanceInfo cii1, CdmInstanceInfo cii2){
return CdmRemoteLocalhostSource.NewInstance(name,
server,
port,
+ instance.getDataSource(),
instance.name
);
}else{
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()){
}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;
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 {