+ // 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));
+ return serverInfoList;
+ }
+
+
+ /**
+ * @param file
+ * @throws IOException
+ * @throws FileNotFoundException
+ * @throws JsonMappingException
+ * @throws JsonParseException
+ */
+ private static List<CdmServerInfoConfig> loadFromConfigFile(File file) {
+
+ List<CdmServerInfoConfig> serverList = null;
+
+ ObjectMapper mapper = new ObjectMapper();
+
+ if(!file.exists()) {
+ logger.info("The remote server config file '" + file.getAbsolutePath() +
+ "' does not yet exist, it will be created based on the defaults.");
+ try {
+ serverList = createDefaultServerConfigList();
+ mapper.writerWithDefaultPrettyPrinter().writeValue(new FileOutputStream(file), serverList);
+
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ } else {
+ try {
+ serverList = mapper.readValue(new FileInputStream(file), new TypeReference<List<CdmServerInfoConfig>>(){});
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ return serverList;
+
+
+ }
+
+
+ /**
+ *
+ */
+ private static List<CdmServerInfoConfig> createDefaultServerConfigList() {
+
+ List<CdmServerInfoConfig> serverInfoList = new ArrayList<CdmServerInfoConfig>();
+ serverInfoList.add(new CdmServerInfoConfig(NAME_PRODUCTION, SERVER_PRODUCTION, 80, "", false));
+ serverInfoList.add(new CdmServerInfoConfig(NAME_DEMO_1, SERVER_DEMO_1, 80, CDMSERVER_PREFIX, false));
+ serverInfoList.add(new CdmServerInfoConfig(NAME_LOCALHOST, SERVER_LOCALHOST, 8080, CDMSERVER_PREFIX, true));
+ return serverInfoList;