/** * Constructs a server manager. * * @param store * @param rscManager */ public EntryStore(final IdvObjectStore store, final IdvResourceManager rscManager) { notNull(store); notNull(rscManager); this.idvStore = store; this.trie = new PatriciaTrie<>(new CharSequenceKeyAnalyzer()); this.ADDE_DIRECTORY = getAddeRootDirectory(); this.ADDE_BIN = ADDE_DIRECTORY + File.separator + "bin"; this.ADDE_DATA = ADDE_DIRECTORY + File.separator + "data"; this.localPort = Constants.LOCAL_ADDE_PORT; this.restartingMcserv = false; this.lastAdded = arrList(); AnnotationProcessor.process(this); McIDASV mcv = McIDASV.getStaticMcv(); USER_DIRECTORY = mcv.getUserDirectory(); ADDE_RESOLV = mcv.getUserFile("RESOLV.SRV"); MCTRACE = "0"; if (McIDASV.isWindows()) { ADDE_MCSERVL = ADDE_BIN + "\\mcservl.exe"; } else { ADDE_MCSERVL = ADDE_BIN + "/mcservl"; } try { Set<LocalAddeEntry> locals = EntryTransforms.readResolvFile(ADDE_RESOLV); putEntries(trie, locals); } catch (IOException e) { logger.warn("EntryStore: RESOLV.SRV missing; expected=\"" + ADDE_RESOLV + '"'); } XmlResourceCollection userResource = rscManager.getXmlResources(ResourceManager.RSC_NEW_USERSERVERS); XmlResourceCollection sysResource = rscManager.getXmlResources(IdvResourceManager.RSC_ADDESERVER); Set<AddeEntry> systemEntries = extractResourceEntries(EntrySource.SYSTEM, sysResource); Set<AddeEntry> prefEntries = extractPreferencesEntries(store); prefEntries = removeDeletedSystemEntries(prefEntries, systemEntries); Set<AddeEntry> userEntries = extractUserEntries(userResource); userEntries = removeDeletedSystemEntries(userEntries, systemEntries); putEntries(trie, prefEntries); putEntries(trie, userEntries); putEntries(trie, systemEntries); saveEntries(); }
/** * Get the xml resource collection that defines the image default xml * * @return Image defaults resources */ protected XmlResourceCollection getImageDefaults() { XmlResourceCollection ret = null; try { ControlContext controlContext = getControlContext(); if (controlContext != null) { IdvResourceManager irm = controlContext.getResourceManager(); ret = irm.getXmlResources(IdvResourceManager.RSC_IMAGEDEFAULTS); if (ret.hasWritableResource()) { imageDefaultsDocument = ret.getWritableDocument("<imagedefaults></imagedefaults>"); imageDefaultsRoot = ret.getWritableRoot("<imagedefaults></imagedefaults>"); } } } catch (Exception e) { logger.error("problem trying to set up xml document", e); } return ret; }