Issue #2566 Refactored BandwidthManagerCreators to load spring files using Executor.extractSpringFiles.
Amend: Refactored Executor static modes specific methods into a EDEXModesUtil class in the edex.core.modes package. Move EdexMode, DefaultEdexMode, and EdexModesContainer to the same package. Change-Id: Ib6af9557ca8d875c5eff162b46bf56e2c041e0fb Former-commit-id:310597d856
[formerly3d34764022
] [formerly410a00c72a
] [formerly310597d856
[formerly3d34764022
] [formerly410a00c72a
] [formerly72df38075f
[formerly410a00c72a
[formerly 76a844ed3158bcc80dc0d4b751cad83d39fcbbc4]]]] Former-commit-id:72df38075f
Former-commit-id:fa097589d0
[formerlye18f7b2380
] [formerly d6d85c281b70c2e07827f44bc42368ab797e8062 [formerlyc54fe467a3
]] Former-commit-id: e96fbe2c0a9f49c38dbe9b9eb76448f730afdb58 [formerly3d592d0b38
] Former-commit-id:143e160eae
This commit is contained in:
parent
077ddd9818
commit
d1fa8c738b
13 changed files with 247 additions and 159 deletions
|
@ -236,7 +236,7 @@
|
||||||
<include>ebxml.*\.xml</include>
|
<include>ebxml.*\.xml</include>
|
||||||
<includeMode>dataDeliveryTemplate</includeMode>
|
<includeMode>dataDeliveryTemplate</includeMode>
|
||||||
<include>datadelivery-wfo-cron.xml</include>
|
<include>datadelivery-wfo-cron.xml</include>
|
||||||
<include>bandwidth-datadelivery-edex-impl-wfo.xml</include>
|
<include>bandwidth-datadelivery-.*-wfo.xml</include>
|
||||||
<exclude>.*datadelivery.*-ncf.*</exclude>
|
<exclude>.*datadelivery.*-ncf.*</exclude>
|
||||||
<exclude>.*datadelivery.*-monolithic.*</exclude>
|
<exclude>.*datadelivery.*-monolithic.*</exclude>
|
||||||
<exclude>harvester-*</exclude>
|
<exclude>harvester-*</exclude>
|
||||||
|
@ -246,7 +246,7 @@
|
||||||
<!-- Central Registry production mode -->
|
<!-- Central Registry production mode -->
|
||||||
<include>ebxml.*\.xml</include>
|
<include>ebxml.*\.xml</include>
|
||||||
<includeMode>dataDeliveryTemplate</includeMode>
|
<includeMode>dataDeliveryTemplate</includeMode>
|
||||||
<include>bandwidth-datadelivery-edex-impl-ncf.xml</include>
|
<include>bandwidth-datadelivery-.*-ncf.xml</include>
|
||||||
<exclude>.*datadelivery.*-wfo.*</exclude>
|
<exclude>.*datadelivery.*-wfo.*</exclude>
|
||||||
<exclude>.*datadelivery.*-monolithic.*</exclude>
|
<exclude>.*datadelivery.*-monolithic.*</exclude>
|
||||||
</mode>
|
</mode>
|
||||||
|
@ -298,7 +298,12 @@
|
||||||
<exclude>grid-metadata.xml</exclude>
|
<exclude>grid-metadata.xml</exclude>
|
||||||
<exclude>wxsrv-dataset-urn.xml</exclude>
|
<exclude>wxsrv-dataset-urn.xml</exclude>
|
||||||
</mode>
|
</mode>
|
||||||
|
<mode name="inMemoryBandwidthManager">
|
||||||
|
<!-- This is not an edex runtime mode -->
|
||||||
|
<include>bandwidth-datadelivery-inmemory-impl.xml</include>
|
||||||
|
<include>bandwidth-datadelivery.xml</include>
|
||||||
|
<include>bandwidth-datadelivery-wfo.xml</include>
|
||||||
|
</mode>
|
||||||
<!-- modes listed below are not supported in a production setting, they
|
<!-- modes listed below are not supported in a production setting, they
|
||||||
are for DEVELOPMENT purposes only -->
|
are for DEVELOPMENT purposes only -->
|
||||||
<mode name="devRegistry">
|
<mode name="devRegistry">
|
||||||
|
@ -306,6 +311,7 @@
|
||||||
<include>datadelivery-wfo-cron.xml</include>
|
<include>datadelivery-wfo-cron.xml</include>
|
||||||
<includeMode>dataDeliveryTemplate</includeMode>
|
<includeMode>dataDeliveryTemplate</includeMode>
|
||||||
<include>bandwidth-datadelivery-edex-impl-monolithic.xml</include>
|
<include>bandwidth-datadelivery-edex-impl-monolithic.xml</include>
|
||||||
|
<include>bandwidth-datadelivery-wfo.xml</include>
|
||||||
<exclude>.*datadelivery.*-ncf.*</exclude>
|
<exclude>.*datadelivery.*-ncf.*</exclude>
|
||||||
</mode>
|
</mode>
|
||||||
<mode name="sbnSimulator">
|
<mode name="sbnSimulator">
|
||||||
|
|
|
@ -8,6 +8,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
Export-Package: com.raytheon.uf.edex.core,
|
Export-Package: com.raytheon.uf.edex.core,
|
||||||
com.raytheon.uf.edex.core.dataplugin,
|
com.raytheon.uf.edex.core.dataplugin,
|
||||||
com.raytheon.uf.edex.core.hdf5,
|
com.raytheon.uf.edex.core.hdf5,
|
||||||
|
com.raytheon.uf.edex.core.modes,
|
||||||
com.raytheon.uf.edex.core.props
|
com.raytheon.uf.edex.core.props
|
||||||
Require-Bundle: org.springframework;bundle-version="2.5.6",
|
Require-Bundle: org.springframework;bundle-version="2.5.6",
|
||||||
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
|
||||||
|
|
|
@ -17,15 +17,14 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.edex.esb.camel.spring;
|
package com.raytheon.uf.edex.core.modes;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FilenameFilter;
|
import java.io.FilenameFilter;
|
||||||
|
|
||||||
import com.raytheon.uf.edex.esb.camel.Executor;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* An edex mode filter finds all spring XML files. For the case when no EDEX run
|
||||||
|
* configuration is specified.
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
*
|
*
|
||||||
|
@ -33,6 +32,7 @@ import com.raytheon.uf.edex.esb.camel.Executor;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 27, 2010 njensen Initial creation
|
* Apr 27, 2010 njensen Initial creation
|
||||||
|
* Dec 05, 2013 2566 bgonzale Migrated to edex.core.modes package.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -49,7 +49,8 @@ public class DefaultEdexMode implements FilenameFilter {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean accept(File dir, String name) {
|
public boolean accept(File dir, String name) {
|
||||||
return name.contains("res/spring/") && name.endsWith(Executor.XML);
|
return name.contains(EDEXModesUtil.RES_SPRING)
|
||||||
|
&& name.endsWith(EDEXModesUtil.XML);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,167 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.uf.edex.core.modes;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.FilenameFilter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.jar.JarEntry;
|
||||||
|
import java.util.jar.JarFile;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBContext;
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.util.PropertiesUtil;
|
||||||
|
import com.raytheon.uf.edex.core.EDEXUtil;
|
||||||
|
import com.raytheon.uf.edex.core.props.PropertiesFactory;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EDEX utility class for accessing mode and mode configuration files.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Dec 5, 2013 2566 bgonzale Initial creation. Refactored from Executor.
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author bgonzale
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class EDEXModesUtil {
|
||||||
|
|
||||||
|
public static final String XML = ".xml";
|
||||||
|
|
||||||
|
public static final Pattern XML_PATTERN = Pattern.compile("\\" + XML);
|
||||||
|
|
||||||
|
public static final String RES_SPRING = "res/spring/";
|
||||||
|
|
||||||
|
public static final Pattern RES_SPRING_PATTERN = Pattern
|
||||||
|
.compile("res/spring/");
|
||||||
|
|
||||||
|
private static final String MODES_FILE = "modes.xml";
|
||||||
|
|
||||||
|
public static final String CONF_DIR = EDEXUtil.EDEX_HOME + File.separator
|
||||||
|
+ "conf";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Populates files with a list of files that match in the specified
|
||||||
|
* directory
|
||||||
|
*
|
||||||
|
* Returns a list of plugins, etc
|
||||||
|
*
|
||||||
|
* @param jarDir
|
||||||
|
* @param files
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
* @throws JAXBException
|
||||||
|
*/
|
||||||
|
public static List<String> extractSpringXmlFiles(List<String> files,
|
||||||
|
String modeName) throws IOException, JAXBException {
|
||||||
|
FilenameFilter filter = getModeFilter(modeName);
|
||||||
|
String pluginDirStr = PropertiesFactory.getInstance()
|
||||||
|
.getEnvProperties().getEnvValue("PLUGINDIR");
|
||||||
|
|
||||||
|
List<String> retVal = new ArrayList<String>();
|
||||||
|
File jarDirFile = new File(pluginDirStr);
|
||||||
|
File[] jars = jarDirFile.listFiles();
|
||||||
|
|
||||||
|
List<JarFile> jarList = new ArrayList<JarFile>(jars.length);
|
||||||
|
for (File p : jars) {
|
||||||
|
if (p.getName().endsWith(".jar")) {
|
||||||
|
JarFile jar = new JarFile(p);
|
||||||
|
jarList.add(jar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (JarFile jar : jarList) {
|
||||||
|
Enumeration<JarEntry> entries = jar.entries();
|
||||||
|
while (entries.hasMoreElements()) {
|
||||||
|
JarEntry e = entries.nextElement();
|
||||||
|
String name = e.getName();
|
||||||
|
if (filter.accept(null, name)) {
|
||||||
|
files.add(name);
|
||||||
|
retVal.add(RES_SPRING_PATTERN.matcher(
|
||||||
|
XML_PATTERN.matcher(name).replaceAll(""))
|
||||||
|
.replaceAll(""));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static FilenameFilter getModeFilter(String modeName) throws IOException,
|
||||||
|
JAXBException {
|
||||||
|
File confDir = new File(CONF_DIR);
|
||||||
|
EdexModesContainer emc = getModesContainer(confDir);
|
||||||
|
EdexMode edexMode = emc.getMode(modeName);
|
||||||
|
|
||||||
|
if (edexMode != null && edexMode.isTemplate()) {
|
||||||
|
throw new UnsupportedOperationException(modeName
|
||||||
|
+ " is a template mode, and is not bootable.");
|
||||||
|
}
|
||||||
|
|
||||||
|
FilenameFilter mode = edexMode;
|
||||||
|
|
||||||
|
if (mode == null) {
|
||||||
|
if (modeName == null || modeName.length() == 0) {
|
||||||
|
mode = new DefaultEdexMode();
|
||||||
|
} else {
|
||||||
|
throw new UnsupportedOperationException(
|
||||||
|
"No EDEX run configuration specified in modes.xml for "
|
||||||
|
+ modeName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static EdexModesContainer getModesContainer(File confDir)
|
||||||
|
throws IOException, JAXBException {
|
||||||
|
File file = new File(confDir.getPath(), MODES_FILE);
|
||||||
|
|
||||||
|
FileReader reader = null;
|
||||||
|
Unmarshaller msh = null;
|
||||||
|
try {
|
||||||
|
JAXBContext jaxbContext = JAXBContext
|
||||||
|
.newInstance(EdexModesContainer.class);
|
||||||
|
msh = jaxbContext.createUnmarshaller();
|
||||||
|
reader = new FileReader(file);
|
||||||
|
EdexModesContainer emc = (EdexModesContainer) msh.unmarshal(reader);
|
||||||
|
return emc;
|
||||||
|
} finally {
|
||||||
|
if (reader != null) {
|
||||||
|
PropertiesUtil.close(reader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.edex.esb.camel.spring;
|
package com.raytheon.uf.edex.core.modes;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -44,6 +44,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 22, 2010 njensen Initial creation
|
* Apr 22, 2010 njensen Initial creation
|
||||||
* Sep 19, 2012 1195 djohnson Allow 0..n other modes to be included.
|
* Sep 19, 2012 1195 djohnson Allow 0..n other modes to be included.
|
||||||
|
* Dec 05, 2013 2566 bgonzale Migrated to edex.core.modes package.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.edex.esb.camel.spring;
|
package com.raytheon.uf.edex.core.modes;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ import javax.xml.bind.annotation.XmlRootElement;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Apr 22, 2010 njensen Initial creation
|
* Apr 22, 2010 njensen Initial creation
|
||||||
* May 29, 2013 1989 njensen Removed high mem mode
|
* May 29, 2013 1989 njensen Removed high mem mode
|
||||||
|
* Dec 05, 2013 2566 bgonzale Migrated to edex.core.modes package.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
|
@ -24,7 +24,6 @@ import com.raytheon.uf.common.datadelivery.registry.Time;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.IDataSetMetaDataHandler;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.IDataSetMetaDataHandler;
|
||||||
import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandler;
|
import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandler;
|
||||||
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
||||||
import com.raytheon.uf.common.util.JarUtil;
|
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.BandwidthManager;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.BandwidthManager;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.IBandwidthManager;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.IBandwidthManager;
|
||||||
|
@ -49,6 +48,7 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Nov 13, 2013 2545 bgonzale Initial creation
|
* Nov 13, 2013 2545 bgonzale Initial creation
|
||||||
|
* Dec 04, 2013 2566 bgonzale use bandwidthmanager method to retrieve spring files.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -64,14 +64,9 @@ public class MonolithicBandwidthManagerCreator<T extends Time, C extends Coverag
|
||||||
static class MonolithicBandwidthManager<T extends Time, C extends Coverage>
|
static class MonolithicBandwidthManager<T extends Time, C extends Coverage>
|
||||||
extends NcfBandwidthManager<T, C> {
|
extends NcfBandwidthManager<T, C> {
|
||||||
|
|
||||||
private static final String[] BANDWIDTH_MANAGER_FILES = new String[] {
|
public static final String MODE_NAME = "devRegistry";
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-monolithic-edex-impl.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-edex-impl.xml"),
|
private static final String[] BANDWIDTH_MANAGER_FILES = getSpringFileNamesForMode(MODE_NAME);
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-daos.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-eventbus.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/thrift-bandwidth.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-wfo.xml") };
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
|
|
@ -34,7 +34,6 @@ import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandle
|
||||||
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
||||||
import com.raytheon.uf.common.registry.event.UpdateRegistryEvent;
|
import com.raytheon.uf.common.registry.event.UpdateRegistryEvent;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.util.JarUtil;
|
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.BandwidthManager;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.BandwidthManager;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthManager;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthManager;
|
||||||
|
@ -62,6 +61,7 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
||||||
* Nov 08, 2013 2506 bgonzale Added subscription notification service to bandwidth manager.
|
* Nov 08, 2013 2506 bgonzale Added subscription notification service to bandwidth manager.
|
||||||
* Nov 19, 2013 2545 bgonzale Added registryEventListener method for update events.
|
* Nov 19, 2013 2545 bgonzale Added registryEventListener method for update events.
|
||||||
* Reschedule updated shared subscriptions.
|
* Reschedule updated shared subscriptions.
|
||||||
|
* Dec 04, 2013 2566 bgonzale use bandwidthmanager method to retrieve spring files.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -75,14 +75,9 @@ public class NcfBandwidthManagerCreator<T extends Time, C extends Coverage> impl
|
||||||
*/
|
*/
|
||||||
static class NcfBandwidthManager<T extends Time, C extends Coverage> extends EdexBandwidthManager<T, C> {
|
static class NcfBandwidthManager<T extends Time, C extends Coverage> extends EdexBandwidthManager<T, C> {
|
||||||
|
|
||||||
private static final String[] NCF_BANDWIDTH_MANAGER_FILES = new String[] {
|
private static final String MODE_NAME = "centralRegistry";
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-ncf-edex-impl.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-edex-impl.xml"),
|
private static final String[] NCF_BANDWIDTH_MANAGER_FILES = getSpringFileNamesForMode(MODE_NAME);
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-daos.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-eventbus.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/thrift-bandwidth.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-ncf.xml") };
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
|
|
|
@ -12,6 +12,7 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.SortedSet;
|
import java.util.SortedSet;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
|
@ -58,6 +59,7 @@ import com.raytheon.uf.common.util.algorithm.AlgorithmUtil.IBinarySearchResponse
|
||||||
import com.raytheon.uf.edex.auth.req.AbstractPrivilegedRequestHandler;
|
import com.raytheon.uf.edex.auth.req.AbstractPrivilegedRequestHandler;
|
||||||
import com.raytheon.uf.edex.auth.resp.AuthorizationResponse;
|
import com.raytheon.uf.edex.auth.resp.AuthorizationResponse;
|
||||||
import com.raytheon.uf.edex.core.EDEXUtil;
|
import com.raytheon.uf.edex.core.EDEXUtil;
|
||||||
|
import com.raytheon.uf.edex.core.modes.EDEXModesUtil;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthAllocation;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthAllocation;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthBucket;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthBucket;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthDataSetUpdate;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthDataSetUpdate;
|
||||||
|
@ -126,6 +128,7 @@ import com.raytheon.uf.edex.registry.ebxml.exception.EbxmlRegistryException;
|
||||||
* Oct 30, 2013 2448 dhladky Moved methods to TimeUtil.
|
* Oct 30, 2013 2448 dhladky Moved methods to TimeUtil.
|
||||||
* Nov 04, 2013 2506 bgonzale Added removeBandwidthSubscriptions method.
|
* Nov 04, 2013 2506 bgonzale Added removeBandwidthSubscriptions method.
|
||||||
* Nov 19, 2013 2545 bgonzale changed getBandwidthGraphData to protected.
|
* Nov 19, 2013 2545 bgonzale changed getBandwidthGraphData to protected.
|
||||||
|
* Dec 04, 2013 2566 bgonzale added method to retrieve and parse spring files for a mode.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -139,6 +142,8 @@ public abstract class BandwidthManager<T extends Time, C extends Coverage>
|
||||||
protected static final IUFStatusHandler statusHandler = UFStatus
|
protected static final IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(BandwidthManager.class);
|
.getHandler(BandwidthManager.class);
|
||||||
|
|
||||||
|
private static final Pattern RES_PATTERN = Pattern.compile("^res");
|
||||||
|
|
||||||
// Requires package access so it can be accessed from the maintenance task
|
// Requires package access so it can be accessed from the maintenance task
|
||||||
final IBandwidthDao<T, C> bandwidthDao;
|
final IBandwidthDao<T, C> bandwidthDao;
|
||||||
|
|
||||||
|
@ -168,6 +173,33 @@ public abstract class BandwidthManager<T extends Time, C extends Coverage>
|
||||||
this.bandwidthDaoUtil = bandwidthDaoUtil;
|
this.bandwidthDaoUtil = bandwidthDaoUtil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of mode configured spring file names for the named mode.
|
||||||
|
*
|
||||||
|
* @param modeName
|
||||||
|
* retrieve the spring files configured for this mode
|
||||||
|
* @return list of spring files configured for the given mode
|
||||||
|
*/
|
||||||
|
protected static String[] getSpringFileNamesForMode(String modeName) {
|
||||||
|
List<String> fileList = new ArrayList<String>();
|
||||||
|
try {
|
||||||
|
EDEXModesUtil.extractSpringXmlFiles(fileList, modeName);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(
|
||||||
|
"Failed to determine spring files for mode " + modeName, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] result = new String[fileList.size()];
|
||||||
|
int i = 0;
|
||||||
|
for (String fileName : fileList) {
|
||||||
|
String name = RES_PATTERN.matcher(fileName).replaceFirst("");
|
||||||
|
result[i++] = name;
|
||||||
|
statusHandler.debug("Spring file added: " + name + " for mode "
|
||||||
|
+ modeName);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private List<BandwidthAllocation> schedule(Subscription<T, C> subscription,
|
private List<BandwidthAllocation> schedule(Subscription<T, C> subscription,
|
||||||
SortedSet<Integer> cycles) {
|
SortedSet<Integer> cycles) {
|
||||||
SortedSet<Calendar> retrievalTimes = bandwidthDaoUtil
|
SortedSet<Calendar> retrievalTimes = bandwidthDaoUtil
|
||||||
|
|
|
@ -29,7 +29,6 @@ import com.raytheon.uf.common.datadelivery.registry.Time;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.util.JarUtil;
|
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthAllocation;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.BandwidthAllocation;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDao;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDbInit;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDbInit;
|
||||||
|
@ -54,6 +53,7 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
||||||
* Jun 25, 2013 2106 djohnson init() now takes a {@link RetrievalManager} as well.
|
* Jun 25, 2013 2106 djohnson init() now takes a {@link RetrievalManager} as well.
|
||||||
* Jul 09, 2013 2106 djohnson Add shutdownInternal().
|
* Jul 09, 2013 2106 djohnson Add shutdownInternal().
|
||||||
* Oct 2, 2013 1797 dhladky Generics
|
* Oct 2, 2013 1797 dhladky Generics
|
||||||
|
* Dec 04, 2013 2566 bgonzale use bandwidthmanager method to retrieve spring files.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -65,13 +65,12 @@ class InMemoryBandwidthManager<T extends Time, C extends Coverage> extends Bandw
|
||||||
private static final IUFStatusHandler statusHandler = UFStatus
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(InMemoryBandwidthManager.class);
|
.getHandler(InMemoryBandwidthManager.class);
|
||||||
|
|
||||||
|
private static final String MODE_NAME = "inMemoryBandwidthManager";
|
||||||
|
|
||||||
// NOTE: NEVER add the bandwidth-datadelivery-eventbus.xml file to this
|
// NOTE: NEVER add the bandwidth-datadelivery-eventbus.xml file to this
|
||||||
// array, in-memory versions should not coordinate with the event bus in any
|
// array, in-memory versions should not coordinate with the event bus in any
|
||||||
// fashion
|
// fashion
|
||||||
public static final String[] IN_MEMORY_BANDWIDTH_MANAGER_FILES = new String[] {
|
public static final String[] IN_MEMORY_BANDWIDTH_MANAGER_FILES = getSpringFileNamesForMode(MODE_NAME);
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-inmemory-impl.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-wfo.xml") };
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link BandwidthInitializer} which will make a copy of the current
|
* {@link BandwidthInitializer} which will make a copy of the current
|
||||||
|
|
|
@ -37,7 +37,6 @@ import com.raytheon.uf.common.datadelivery.registry.handlers.ISubscriptionHandle
|
||||||
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
import com.raytheon.uf.common.datadelivery.service.ISubscriptionNotificationService;
|
||||||
import com.raytheon.uf.common.registry.event.UpdateRegistryEvent;
|
import com.raytheon.uf.common.registry.event.UpdateRegistryEvent;
|
||||||
import com.raytheon.uf.common.serialization.SerializationException;
|
import com.raytheon.uf.common.serialization.SerializationException;
|
||||||
import com.raytheon.uf.common.util.JarUtil;
|
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.EdexBandwidthContextFactory.IEdexBandwidthManagerCreator;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDao;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDao;
|
||||||
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDbInit;
|
import com.raytheon.uf.edex.datadelivery.bandwidth.dao.IBandwidthDbInit;
|
||||||
|
@ -65,6 +64,7 @@ import com.raytheon.uf.edex.datadelivery.bandwidth.util.BandwidthDaoUtil;
|
||||||
* Added getBandwidthGraphData.
|
* Added getBandwidthGraphData.
|
||||||
* Reschedule updated local subscriptions.
|
* Reschedule updated local subscriptions.
|
||||||
* Nov 27, 2013 2545 mpduff Get data by network
|
* Nov 27, 2013 2545 mpduff Get data by network
|
||||||
|
* Dec 04, 2013 2566 bgonzale use bandwidthmanager method to retrieve spring files.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -80,14 +80,9 @@ public class WfoBandwidthManagerCreator<T extends Time, C extends Coverage>
|
||||||
static class WfoBandwidthManager<T extends Time, C extends Coverage>
|
static class WfoBandwidthManager<T extends Time, C extends Coverage>
|
||||||
extends EdexBandwidthManager<T, C> {
|
extends EdexBandwidthManager<T, C> {
|
||||||
|
|
||||||
private static final String[] WFO_BANDWIDTH_MANAGER_FILES = new String[] {
|
private static final String MODE_NAME = "registry";
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-wfo-edex-impl.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-edex-impl.xml"),
|
private static final String[] WFO_BANDWIDTH_MANAGER_FILES = getSpringFileNamesForMode(MODE_NAME);
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-daos.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-eventbus.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/thrift-bandwidth.xml"),
|
|
||||||
JarUtil.getResResourcePath("/spring/bandwidth-datadelivery-wfo.xml") };
|
|
||||||
|
|
||||||
// TODO: Change to be DIed in Spring
|
// TODO: Change to be DIed in Spring
|
||||||
private final IBandwidthService<T, C> ncfBandwidthService = new NcfBandwidthService();
|
private final IBandwidthService<T, C> ncfBandwidthService = new NcfBandwidthService();
|
||||||
|
|
|
@ -21,34 +21,19 @@ package com.raytheon.uf.edex.esb.camel;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileFilter;
|
import java.io.FileFilter;
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.FilenameFilter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.jar.JarEntry;
|
|
||||||
import java.util.jar.JarFile;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
|
||||||
import javax.xml.bind.JAXBException;
|
|
||||||
import javax.xml.bind.Unmarshaller;
|
|
||||||
|
|
||||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||||
|
|
||||||
import com.raytheon.uf.common.util.PropertiesUtil;
|
import com.raytheon.uf.common.util.PropertiesUtil;
|
||||||
import com.raytheon.uf.edex.core.EDEXUtil;
|
import com.raytheon.uf.edex.core.modes.EDEXModesUtil;
|
||||||
import com.raytheon.uf.edex.core.props.PropertiesFactory;
|
|
||||||
import com.raytheon.uf.edex.esb.camel.context.ContextManager;
|
import com.raytheon.uf.edex.esb.camel.context.ContextManager;
|
||||||
import com.raytheon.uf.edex.esb.camel.spring.DefaultEdexMode;
|
|
||||||
import com.raytheon.uf.edex.esb.camel.spring.EdexMode;
|
|
||||||
import com.raytheon.uf.edex.esb.camel.spring.EdexModesContainer;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides the central mechanism for starting the ESB
|
* Provides the central mechanism for starting the ESB
|
||||||
|
@ -68,6 +53,7 @@ import com.raytheon.uf.edex.esb.camel.spring.EdexModesContainer;
|
||||||
* resources directory.
|
* resources directory.
|
||||||
* Feb 14, 2013 1638 mschenke Removing activemq reference in stop
|
* Feb 14, 2013 1638 mschenke Removing activemq reference in stop
|
||||||
* Apr 22, 2013 #1932 djohnson Use countdown latch for a shutdown hook.
|
* Apr 22, 2013 #1932 djohnson Use countdown latch for a shutdown hook.
|
||||||
|
* Dec 04, 2013 2566 bgonzale refactored mode methods to a utility in edex.core.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -77,15 +63,6 @@ import com.raytheon.uf.edex.esb.camel.spring.EdexModesContainer;
|
||||||
|
|
||||||
public class Executor {
|
public class Executor {
|
||||||
|
|
||||||
public static final String XML = ".xml";
|
|
||||||
|
|
||||||
private static final Pattern XML_PATTERN = Pattern.compile("\\" + XML);
|
|
||||||
|
|
||||||
private static final Pattern RES_SPRING_PATTERN = Pattern
|
|
||||||
.compile("res/spring/");
|
|
||||||
|
|
||||||
private static final String MODES_FILE = "modes.xml";
|
|
||||||
|
|
||||||
private static final CountDownLatch shutdownLatch = new CountDownLatch(1);
|
private static final CountDownLatch shutdownLatch = new CountDownLatch(1);
|
||||||
|
|
||||||
public static void start() throws Exception {
|
public static void start() throws Exception {
|
||||||
|
@ -101,13 +78,10 @@ public class Executor {
|
||||||
Thread.currentThread().setName("EDEXMain");
|
Thread.currentThread().setName("EDEXMain");
|
||||||
System.setProperty("System.status", "Starting");
|
System.setProperty("System.status", "Starting");
|
||||||
|
|
||||||
String pluginDirStr = PropertiesFactory.getInstance()
|
|
||||||
.getEnvProperties().getEnvValue("PLUGINDIR");
|
|
||||||
|
|
||||||
List<String> xmlFiles = new ArrayList<String>();
|
List<String> xmlFiles = new ArrayList<String>();
|
||||||
|
|
||||||
List<File> propertiesFiles = new ArrayList<File>();
|
List<File> propertiesFiles = new ArrayList<File>();
|
||||||
File confDir = new File(EDEXUtil.EDEX_HOME + File.separator + "conf");
|
File confDir = new File(EDEXModesUtil.CONF_DIR);
|
||||||
File resourcesDir = new File(confDir, "resources");
|
File resourcesDir = new File(confDir, "resources");
|
||||||
propertiesFiles.addAll(Arrays.asList(findFiles(resourcesDir,
|
propertiesFiles.addAll(Arrays.asList(findFiles(resourcesDir,
|
||||||
".properties")));
|
".properties")));
|
||||||
|
@ -126,17 +100,17 @@ public class Executor {
|
||||||
}
|
}
|
||||||
|
|
||||||
File springDir = new File(confDir, "spring");
|
File springDir = new File(confDir, "spring");
|
||||||
File[] springFiles = findFiles(springDir, XML);
|
File[] springFiles = findFiles(springDir, EDEXModesUtil.XML);
|
||||||
|
|
||||||
List<String> springList = new ArrayList<String>();
|
List<String> springList = new ArrayList<String>();
|
||||||
for (File f : springFiles) {
|
for (File f : springFiles) {
|
||||||
String name = f.getName();
|
String name = f.getName();
|
||||||
|
|
||||||
xmlFiles.add(name);
|
xmlFiles.add(name);
|
||||||
springList.add(XML_PATTERN.matcher(name).replaceAll(""));
|
springList.add(EDEXModesUtil.XML_PATTERN.matcher(name).replaceAll(
|
||||||
|
""));
|
||||||
}
|
}
|
||||||
|
|
||||||
EdexModesContainer emc = getModeFilter(confDir);
|
|
||||||
String modeName = System.getProperty("edex.run.mode");
|
String modeName = System.getProperty("edex.run.mode");
|
||||||
|
|
||||||
if (modeName != null && modeName.length() > 0) {
|
if (modeName != null && modeName.length() > 0) {
|
||||||
|
@ -148,27 +122,9 @@ public class Executor {
|
||||||
System.out.println("EDEX site configuration: "
|
System.out.println("EDEX site configuration: "
|
||||||
+ System.getProperty("aw.site.identifier"));
|
+ System.getProperty("aw.site.identifier"));
|
||||||
|
|
||||||
EdexMode edexMode = emc.getMode(modeName);
|
List<String> discoveredPlugins = EDEXModesUtil.extractSpringXmlFiles(
|
||||||
|
xmlFiles,
|
||||||
if (edexMode != null && edexMode.isTemplate()) {
|
modeName);
|
||||||
throw new UnsupportedOperationException(modeName
|
|
||||||
+ " is a template mode, and is not bootable.");
|
|
||||||
}
|
|
||||||
|
|
||||||
FilenameFilter mode = edexMode;
|
|
||||||
|
|
||||||
if (mode == null) {
|
|
||||||
if (modeName == null || modeName.length() == 0) {
|
|
||||||
mode = new DefaultEdexMode();
|
|
||||||
} else {
|
|
||||||
throw new UnsupportedOperationException(
|
|
||||||
"No EDEX run configuration specified in modes.xml for "
|
|
||||||
+ modeName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
List<String> discoveredPlugins = extractSpringXmlFiles(pluginDirStr,
|
|
||||||
xmlFiles, mode);
|
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println(" ");
|
System.out.println(" ");
|
||||||
|
@ -241,67 +197,4 @@ public class Executor {
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Populates files with a list of files that match in the specified
|
|
||||||
* directory
|
|
||||||
*
|
|
||||||
* Returns a list of plugins, etc
|
|
||||||
*
|
|
||||||
* @param jarDir
|
|
||||||
* @param files
|
|
||||||
* @return
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
private static List<String> extractSpringXmlFiles(String jarDir,
|
|
||||||
List<String> files, FilenameFilter filter) throws IOException {
|
|
||||||
List<String> retVal = new ArrayList<String>();
|
|
||||||
File jarDirFile = new File(jarDir);
|
|
||||||
File[] jars = jarDirFile.listFiles();
|
|
||||||
|
|
||||||
List<JarFile> jarList = new ArrayList<JarFile>();
|
|
||||||
for (File p : jars) {
|
|
||||||
if (p.getName().endsWith(".jar")) {
|
|
||||||
JarFile jar = new JarFile(p);
|
|
||||||
jarList.add(jar);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (JarFile jar : jarList) {
|
|
||||||
Enumeration<JarEntry> entries = jar.entries();
|
|
||||||
while (entries.hasMoreElements()) {
|
|
||||||
JarEntry e = entries.nextElement();
|
|
||||||
String name = e.getName();
|
|
||||||
if (filter.accept(null, name)) {
|
|
||||||
files.add(name);
|
|
||||||
retVal.add(RES_SPRING_PATTERN.matcher(
|
|
||||||
XML_PATTERN.matcher(name).replaceAll(""))
|
|
||||||
.replaceAll(""));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return retVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static EdexModesContainer getModeFilter(File confDir)
|
|
||||||
throws IOException, JAXBException {
|
|
||||||
File file = new File(confDir.getPath(), MODES_FILE);
|
|
||||||
|
|
||||||
FileReader reader = null;
|
|
||||||
Unmarshaller msh = null;
|
|
||||||
try {
|
|
||||||
JAXBContext jaxbContext = JAXBContext
|
|
||||||
.newInstance(EdexModesContainer.class);
|
|
||||||
msh = jaxbContext.createUnmarshaller();
|
|
||||||
reader = new FileReader(file);
|
|
||||||
EdexModesContainer emc = (EdexModesContainer) msh.unmarshal(reader);
|
|
||||||
return emc;
|
|
||||||
} finally {
|
|
||||||
if (reader != null) {
|
|
||||||
PropertiesUtil.close(reader);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.edex.esb.camel.spring;
|
package com.raytheon.uf.edex.core.modes;
|
||||||
|
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
@ -28,6 +28,8 @@ import java.util.Collections;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.raytheon.uf.edex.core.modes.EdexMode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test {@link EdexMode}.
|
* Test {@link EdexMode}.
|
Loading…
Add table
Reference in a new issue