map;
+ static {
+ map = Collections.unmodifiableMap(createMap());
+ }
+
private String code;
private double value;
@@ -2290,82 +2401,19 @@ public class ParameterCode {
}
public static Probability getEnum(String code) {
- return (Probability) ParameterCode
- .getEnum(UNKNOWN, code, "getCode");
- }
-
- }
-
- /**
- * Returns the enumeration constant matching the given key
- *
- * This method is a general utility function applicable to many enum classes
- * and may be better moved to another more general package.
- *
- * @param enumType
- * the type of enum to get. Becomes the default incase the key
- * isn't found.
- * @param key
- * the key to find. TODO generalize the key type so that keys
- * don't necissarily need to be Strings.
- * @param keyMethod
- * the method within the enum type which to use for locating the
- * key
- * @return an enumeration object matching the given key or the enumType
- * object if no enumeration is found.
- */
- private static Object getEnum(Object enumType, String key, String keyMethod) {
-
- Object ret = enumType;
-
- for (Object o : enumType.getClass().getEnumConstants()) {
-
- try {
- Method getCode = enumType.getClass().getMethod(keyMethod,
- new Class[] {});
- String code = (String) getCode.invoke(o, new Object[] {});
-
- if (code != null && code.equals(key)) {
- ret = o;
- }
-
- } catch (SecurityException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (NoSuchMethodException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (IllegalArgumentException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ Probability p = map.get(code);
+ if (p != null) {
+ return p;
}
-
+ return UNKNOWN;
}
- return ret;
-
+ private static Map createMap() {
+ Map map = new HashMap();
+ for (Probability p : Probability.values()) {
+ map.put(p.getCode(), p);
+ }
+ return map;
+ }
}
-
- public static final void main(String [] args) {
-
- TypeSource ts = TypeSource.getEnum("I1");
-
- System.out.println(ts.getType());
-
- System.out.println(ts.getSource());
-
-
-
-
-
-
-
- }
-
}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.shef/src/com/raytheon/uf/common/dataplugin/shef/util/ShefConstants.java b/edexOsgi/com.raytheon.uf.common.dataplugin.shef/src/com/raytheon/uf/common/dataplugin/shef/util/ShefConstants.java
index 658203c731..9ae6d01386 100644
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.shef/src/com/raytheon/uf/common/dataplugin/shef/util/ShefConstants.java
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.shef/src/com/raytheon/uf/common/dataplugin/shef/util/ShefConstants.java
@@ -37,6 +37,7 @@ import java.util.regex.Pattern;
* 10/16/2008 1548 jelkins Removed unneeded constants
* 02/02/2009 1943 jsanchez Added shef_load_maxfcst.
* 06/03/2009 2410 jsanchez Changed kk to HH.
+ * 04/29/2014 3088 mpduff Added MILLLIS_PER_SECOND;
*
*
*/
@@ -50,25 +51,27 @@ public class ShefConstants {
public static final String TYPE_E = ".E";
public static final int MILLIS_PER_SECOND = 1000;
-
+
public static final int MILLIS_PER_MINUTE = MILLIS_PER_SECOND * 60;
+ public static final int MILLIS_PER_HOUR = MILLIS_PER_SECOND * 60 * 60;
+
public static final long MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
public static final long HALF_YEAR = 365L * 24L * 3600L * 1000L / 2L;
public static final String SHEF_SKIPPED = "-9998";
-
+
public static final String SHEF_MISSING = "-9999";
public static final String SHEF_MISSING_DEC = "-9999.0";
-
+
public static final int SHEF_MISSING_INT = -9999;
public static final String SHEF_TRACE = "0.001";
-
+
public static final int SHEF_NOT_SERIES = 0;
-
+
public static final Pattern SHEF_TYPE_PATTERN = Pattern.compile("\\.[ABE]");
public static final String EMPTYSTRING = "";
@@ -82,10 +85,9 @@ public class ShefConstants {
public static final String SLASH = "/";
public static final int LOWER_LID_LIMIT = 2;
-
+
public static final int UPPER_LID_LIMIT = 9;
-
-
+
/* Precipitation index constants */
public static final int NOT_PRECIP = 0;
@@ -94,7 +96,7 @@ public class ShefConstants {
public static final int RAWPP = 2;
public static final int RAWPOTHER = 3;
-
+
/** Greenwich Mean Time */
public static final String GMT = "GMT";
@@ -163,7 +165,7 @@ public class ShefConstants {
public static final SimpleDateFormat YYMMJJJHHMM_FORMAT = new SimpleDateFormat(
"yyMMDDHHmm");
- public static final String POSTGRES_DATE_STRING = "yyyy-MM-dd HH:mm:ss";
+ public static final String POSTGRES_DATE_STRING = "yyyy-MM-dd HH:mm:ss";
public static final SimpleDateFormat POSTGRES_DATE_FORMAT = new SimpleDateFormat(
POSTGRES_DATE_STRING);
@@ -213,30 +215,31 @@ public class ShefConstants {
public static final String DC = "DC";
public static final String VALID_UNITS = "ES";
-
+
public static final String DATE_INC_CODES = "SNHDMEY";
- public static final int [] DATE_INC_VALS = new int [] {
- Calendar.SECOND, // S
- Calendar.MINUTE, // N
- Calendar.HOUR_OF_DAY, // H
- Calendar.DAY_OF_MONTH, // D
- Calendar.MONTH, // M
- -1, // E, -1 signifies special handling
- Calendar.YEAR, // Y
+
+ public static final int[] DATE_INC_VALS = new int[] { Calendar.SECOND, // S
+ Calendar.MINUTE, // N
+ Calendar.HOUR_OF_DAY, // H
+ Calendar.DAY_OF_MONTH, // D
+ Calendar.MONTH, // M
+ -1, // E, -1 signifies special handling
+ Calendar.YEAR, // Y
};
-
+
public static final String DURATION_CODES = "SNHDMY";
- public static final short [] DURATION_VALS = new short [] {
- 7000, // "S" Seconds
- 0, // "N" Minutes
- 1000, // "H" Hours
- 2000, // "D" Days
- 3000, // "M" Months
- 4000, // "Y" Years
+
+ public static final short[] DURATION_VALS = new short[] { 7000, // "S"
+ // Seconds
+ 0, // "N" Minutes
+ 1000, // "H" Hours
+ 2000, // "D" Days
+ 3000, // "M" Months
+ 4000, // "Y" Years
};
-
+
public static final String QUALIFER_CODES = "BDEFGLMNPQRSTVWZ";
-
+
/*
* these requests are for checking a value. they are valid for building a
* where clause or for checking the qc code
@@ -413,7 +416,7 @@ public class ShefConstants {
public static final String ALARM_CATEGSTR = "alarm";
public static final int NO_ALERTALARM = 200;
-
+
public static final int MAXFCST_INFO = 200;
public static final int ALERT_UPPER_DETECTED = 201;
@@ -446,9 +449,9 @@ public class ShefConstants {
public static final String SHEF_POST_LINK = "shef_post_link";
public static final String SHEF_POST_LATEST = "shef_post_latest";
-
+
public static final String SHEF_LOAD_MAXFCST = "shef_load_maxfcst";
-
+
public static final String BASIS_HOURS_FILTER = "basis_hours_filter";
public static final String SHEF_DUPLICATE = "shef_duplicate";
@@ -464,9 +467,9 @@ public class ShefConstants {
public static final String SHEF_LOAD_INGEST = "shef_load_ingest";
public static final String INGEST_MESS = "ingest_mess";
-
+
public static final String SHEF_DATA_LOG = "shef_data_log";
-
+
public static final String SHEF_PERFLOG = "shef_perflog";
public static final String SHEF_EMIT_SKIPPED = "shef_emit_skipped";
@@ -489,5 +492,5 @@ public class ShefConstants {
public static final String UNKNOWN_STATION = "unkstn";
public static final String UNKNOWN_STATION_VALUE = "unkstnvalue";
-
+
}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/DialogConfiguration.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/DialogConfiguration.java
index e0d2d4826e..e8f48f4f9e 100644
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/DialogConfiguration.java
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/DialogConfiguration.java
@@ -1,3 +1,22 @@
+/**
+ * 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.common.dataplugin.warning.config;
import java.io.FileNotFoundException;
@@ -9,33 +28,34 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
-import com.raytheon.uf.common.dataplugin.warning.util.FileUtil;
+import com.raytheon.uf.common.dataplugin.warning.util.WarnFileUtil;
import com.raytheon.uf.common.serialization.SingleTypeJAXBManager;
/**
- *
* Configuration for warngen dialog
*
*
*
- * SOFTWARE HISTORY
- *
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * --/--/---- Initial creation
- * 10/22/2013 2361 njensen Use JAXBManager for XML
+ * SOFTWARE HISTORY
*
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * --/--/---- Initial creation
+ * 10/22/2013 2361 njensen Use JAXBManager for XML
+ * Apr 28, 2014 3033 jsanchez Refactored file retrieval.
*
*
- *
+ * @author jsanchez
+ * @version 1.0
*/
-
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "configuration")
public class DialogConfiguration {
private static final SingleTypeJAXBManager jaxb = SingleTypeJAXBManager
.createWithoutException(DialogConfiguration.class);
+ private static final String CONFIG_FILE = "config.xml";
+
@XmlElement
private String warngenOfficeShort;
@@ -66,7 +86,8 @@ public class DialogConfiguration {
public static DialogConfiguration loadDialogConfig(String localSite)
throws FileNotFoundException, IOException, JAXBException {
- String xml = FileUtil.open("config.xml", localSite);
+ String xml = WarnFileUtil.convertFileContentsToString(CONFIG_FILE,
+ localSite, null);
return (DialogConfiguration) jaxb.unmarshalFromXml(xml);
}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/WarngenConfiguration.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/WarngenConfiguration.java
index e85909ace0..b6c6aff962 100644
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/WarngenConfiguration.java
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/config/WarngenConfiguration.java
@@ -40,7 +40,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.dataplugin.warning.WarningRecord.WarningAction;
import com.raytheon.uf.common.dataplugin.warning.config.AreaSourceConfiguration.AreaType;
-import com.raytheon.uf.common.dataplugin.warning.util.FileUtil;
+import com.raytheon.uf.common.dataplugin.warning.util.WarnFileUtil;
import com.raytheon.uf.common.serialization.SingleTypeJAXBManager;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
@@ -60,7 +60,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* May 26, 2010 #4649 Qinglu Lin Made including TO.A and SV.A mandatory
* Apr 24, 2013 1943 jsanchez Marked areaConfig as Deprecated.
* Oct 22, 2013 2361 njensen Removed ISerializableObject
- *
+ * Apr 28, 2014 3033 jsanchez Properly handled back up configuration (*.xml) files.
*
*
* @author chammack
@@ -156,16 +156,20 @@ public class WarngenConfiguration {
*
* @param templateName
* - the name of the warngen template
+ * @param localSite
+ * - the site cave is localized to
+ * @param localSite
+ * - the back up site
* @return the warngen configuration
* @throws VizException
*/
public static WarngenConfiguration loadConfig(String templateName,
- String localSite) throws FileNotFoundException, IOException,
- JAXBException {
+ String localSite, String backupSite) throws FileNotFoundException,
+ IOException, JAXBException {
WarngenConfiguration config = new WarngenConfiguration();
-
// Open the template file
- String xml = FileUtil.open(templateName + ".xml", localSite);
+ String xml = WarnFileUtil
+ .convertFileContentsToString(templateName + ".xml", localSite, backupSite);
// Include external files, such as damInfo.txt
Matcher m = p.matcher(xml);
@@ -173,7 +177,8 @@ public class WarngenConfiguration {
try {
while (m.find()) {
includeFile = m.group(1);
- String includeXml = FileUtil.open(includeFile, localSite);
+ String includeXml = WarnFileUtil.convertFileContentsToString(includeFile, localSite,
+ backupSite);
xml = xml.replace(m.group(0), includeXml);
}
} catch (Exception e) {
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/FileUtil.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/FileUtil.java
deleted file mode 100644
index f801d9fc92..0000000000
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/FileUtil.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.raytheon.uf.common.dataplugin.warning.util;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-
-import com.raytheon.uf.common.dataplugin.warning.WarningConstants;
-import com.raytheon.uf.common.localization.IPathManager;
-import com.raytheon.uf.common.localization.LocalizationContext;
-import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
-import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
-import com.raytheon.uf.common.localization.LocalizationFile;
-import com.raytheon.uf.common.localization.PathManagerFactory;
-
-public class FileUtil {
- public static LocalizationFile getLocalizationFile(String filename,
- String siteID) throws FileNotFoundException {
- IPathManager pm = PathManagerFactory.getPathManager();
- LocalizationContext[] searchContext = pm
- .getLocalSearchHierarchy(LocalizationType.COMMON_STATIC);
- LocalizationFile fileToUse = null;
- String fileToRetrieve = WarningConstants.WARNGEN_DIR
- + IPathManager.SEPARATOR + filename;
- for (LocalizationContext ctx : searchContext) {
- if ((ctx.getLocalizationLevel() == LocalizationLevel.SITE || ctx
- .getLocalizationLevel() == LocalizationLevel.CONFIGURED)
- && siteID != null) {
- ctx.setContextName(siteID);
- }
- LocalizationFile file = pm.getLocalizationFile(ctx, fileToRetrieve);
- if (file != null && file.exists()) {
- fileToUse = file;
- break;
- }
- }
-
- if (fileToUse == null) {
- throw new FileNotFoundException("'" + filename
- + "' can not be found");
- }
- return fileToUse;
- }
-
- public static File getFile(String filename, String siteID)
- throws FileNotFoundException {
- return getLocalizationFile(filename, siteID).getFile();
- }
-
- public static String open(String filename, String localSite)
- throws FileNotFoundException, IOException {
- StringBuffer sb = new StringBuffer();
- BufferedReader input = null;
- File file = getFile(filename, localSite);
- try {
- input = new BufferedReader(new FileReader(file));
-
- String line = null;
- while ((line = input.readLine()) != null) {
- sb.append(line + "\n");
- }
- } catch (IOException e) {
-
- } finally {
- if (input != null) {
- try {
- input.close();
- input = null;
- } catch (Exception e) {
- input = null;
- }
- }
- }
- return sb.toString();
- }
-}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/WarnFileUtil.java b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/WarnFileUtil.java
new file mode 100644
index 0000000000..defda48d7b
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/src/com/raytheon/uf/common/dataplugin/warning/util/WarnFileUtil.java
@@ -0,0 +1,133 @@
+package com.raytheon.uf.common.dataplugin.warning.util;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+
+import com.raytheon.uf.common.dataplugin.warning.WarningConstants;
+import com.raytheon.uf.common.localization.IPathManager;
+import com.raytheon.uf.common.localization.LocalizationContext;
+import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
+import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
+import com.raytheon.uf.common.localization.LocalizationFile;
+import com.raytheon.uf.common.localization.PathManagerFactory;
+
+/**
+ * Utility class to retrieve the appropriate file in localization and in backup
+ * directories.
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 28, 2014 3033 jsanchez Searches the backup site directory before the localized site directory.
+ *
+ *
+ * @author jsanchez
+ * @version 1.0
+ */
+public class WarnFileUtil {
+ /**
+ * Returns the appropriate file in localization. If a backupSiteID is not
+ * null and a corresponding file does exist in the backup site directory,
+ * then that file in the backup site directory will be returned. However, if
+ * that backup file does not exist, then regular localization handling for
+ * the issuingSiteID is applied. For example, if a file exists in the
+ * issuingSiteID directory then that the file with the returned. Otherwise,
+ * the base level version of the file will be returned.
+ *
+ * @param filename
+ * @param issuingSiteID
+ * (optional)
+ * @param backupSiteID
+ * (optional)
+ * @return
+ * @throws FileNotFoundException
+ */
+ public static LocalizationFile findFileInLocalizationIncludingBackupSite(String filename,
+ String issuingSiteID, String backupSiteID)
+ throws FileNotFoundException {
+
+ IPathManager pm = PathManagerFactory.getPathManager();
+ String fileToRetrieve = WarningConstants.WARNGEN_DIR
+ + IPathManager.SEPARATOR + filename;
+
+ if (backupSiteID != null) {
+ LocalizationContext backupSiteCtx = pm.getContext(
+ LocalizationType.COMMON_STATIC, LocalizationLevel.SITE);
+ backupSiteCtx.setContextName(backupSiteID);
+ LocalizationFile backupFile = pm.getLocalizationFile(backupSiteCtx,
+ fileToRetrieve);
+ if (backupFile != null && backupFile.exists()) {
+ return backupFile;
+ }
+ }
+
+ LocalizationFile fileToUse = null;
+ LocalizationContext[] searchContext = pm
+ .getLocalSearchHierarchy(LocalizationType.COMMON_STATIC);
+ for (LocalizationContext ctx : searchContext) {
+ if ((ctx.getLocalizationLevel() == LocalizationLevel.SITE || ctx
+ .getLocalizationLevel() == LocalizationLevel.CONFIGURED)
+ && issuingSiteID != null) {
+ ctx.setContextName(issuingSiteID);
+ }
+ LocalizationFile file = pm.getLocalizationFile(ctx, fileToRetrieve);
+ if (file != null && file.exists()) {
+ fileToUse = file;
+ break;
+ }
+ }
+
+ if (fileToUse == null) {
+ throw new FileNotFoundException("'" + filename
+ + "' can not be found");
+ }
+ return fileToUse;
+ }
+
+ /**
+ * Locates the appropriate file in the localization hierarchy including the
+ * backupSite directory (if provided) and converts the content of the file
+ * into a string.
+ *
+ * @param filename
+ * @param localizedSite
+ * @param backupSite
+ * @return
+ * @throws FileNotFoundException
+ * @throws IOException
+ */
+ public static String convertFileContentsToString(String filename,
+ String localizedSite, String backupSite)
+ throws FileNotFoundException, IOException {
+ StringBuffer sb = new StringBuffer();
+ BufferedReader input = null;
+ File file = findFileInLocalizationIncludingBackupSite(filename, localizedSite, backupSite)
+ .getFile();
+ try {
+ input = new BufferedReader(new FileReader(file));
+
+ String line = null;
+ while ((line = input.readLine()) != null) {
+ sb.append(line + "\n");
+ }
+ } catch (IOException e) {
+
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ input = null;
+ } catch (Exception e) {
+ input = null;
+ }
+ }
+ }
+ return sb.toString();
+ }
+}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup.vm
old mode 100755
new mode 100644
index caf8433c89..a67c37eacc
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup.vm
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/arealFloodWarningFollowup.vm
@@ -11,6 +11,7 @@
## Evan Bookbinder 9-18-2013 implemented config.vm
## Mike Rega 1-18-2014 added Alaska GP changes for 14.2.1
## Mike Rega 2-27-2014 changed headline items to match 10-922
+## Mike Rega 4-23-2014 fixed MND blank line
#################################### SET SOME VARs ###################################
#parse("config.vm")
#set($hycType = "")
@@ -75,7 +76,6 @@ ${area.name}##
#end
-##
#end
-
#elseif(${CORCAN}=="true")
${ugclinecan}
################### VTEC/COUNTY LINE ##################
@@ -88,7 +88,6 @@ ${area.name}##
#end
-##
#end
-
#else
${ugcline}
################### VTEC/COUNTY LINE ##################
@@ -101,7 +100,6 @@ ${area.name}##
#end
-##
#end
-
#end
${dateUtil.format(${now}, ${timeFormat.header}, ${localtimezone})}
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm
old mode 100755
new mode 100644
index 0d6a506fad..0beb51d369
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/impactSevereWeatherStatement.vm
@@ -7,6 +7,7 @@
## UPDATED -- Kurimski 9/17/13 Tor Emer Headline ##
## UPDATED -- Bookbinder 9/18/13 Implement config.vm ##
## Mike Dangelo 1/24/2014 added logic to keep defaultCTAs from being used in a TOR EMER (duplication)
+## Mike Rega 4/23/14 fixed MND blank line in CAN segment ##
################################################################
## Commented out Impact statements Feb 2013 and created file to
## be parsed into the template called impactStatements.vm
@@ -104,7 +105,6 @@ ${area.name}##
#end
-##
#end
-
#elseif(${CORCAN}=="true")
${ugclinecan}
/${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
@@ -115,7 +115,6 @@ ${area.name}##
#end
-##
#end
-
#else
${ugcline}
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/severeWeatherStatement.vm b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/severeWeatherStatement.vm
old mode 100755
new mode 100644
index ce629abeb0..31cbd3f5b7
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/severeWeatherStatement.vm
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.warning/utility/common_static/base/warngen/severeWeatherStatement.vm
@@ -10,6 +10,7 @@
## EVAN BOOKBINDER 9-18-2013 Implemented config.vm ##
## MIKE DANGELO 1-22-2104 Tweaked default CTA wording to fix parseString problems and torEmerCTA to use new verbage ##
## Removed preAmbleTOR (not used) -mmd 1/23/2014, preAmble for other tor-sighted/confirmed bullets retained
+## Mike Rega 4/24/2014 fixed MND blank line in CAN ##
#################################################################
##
###################################################################
@@ -76,7 +77,6 @@ ${area.name}##
#end
-##
#end
-
#elseif(${CORCAN}=="true")
${ugclinecan}
/${productClass}.COR.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
@@ -87,7 +87,6 @@ ${area.name}##
#end
-##
#end
-
#else
${ugcline}
/${productClass}.${action}.${vtecOffice}.${phenomena}.W.${etn}.000000T0000Z-${dateUtil.format(${expire},${timeFormat.ymdthmz})}/
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/library/DerivedParameterGenerator.java b/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/library/DerivedParameterGenerator.java
index 77ba52e6f2..999ea6ad7f 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/library/DerivedParameterGenerator.java
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/src/com/raytheon/uf/common/derivparam/library/DerivedParameterGenerator.java
@@ -73,6 +73,8 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Jan 30, 2014 #2725 ekladstrup Refactor to remove dependencies on
* eclipse runtime and support some configuration
* through spring
+ * Mar 27, 2014 2945 bsteffen Recursively find definitions in
+ * subdirectories.
*
*
*
@@ -206,7 +208,7 @@ public class DerivedParameterGenerator implements ILocalizationFileObserver {
LocalizationContext[] contexts = pm
.getLocalSearchHierarchy(LocalizationType.COMMON_STATIC);
LocalizationFile[] xmlFiles = pm.listFiles(contexts, XML_DIR,
- new String[] { ".xml" }, false, true);
+ new String[] { ".xml" }, true, true);
JAXBManager jaxbMan;
try {
jaxbMan = new JAXBManager(DerivParamDesc.class);
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/CapeStk.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/CapeStk.xml
index 7ac9bb10b0..060e9bd08c 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/CapeStk.xml
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/CapeStk.xml
@@ -23,25 +23,25 @@
to Union to avoid pulling in extra levels, specifically levels defined at
kft heights. -->
-
+
-
+
-
+
-
+
@@ -49,7 +49,7 @@
-
+
@@ -58,7 +58,7 @@
-
+
@@ -69,7 +69,7 @@
-
+
@@ -82,7 +82,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
@@ -114,7 +114,7 @@
-
+
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge0ftIncr_PHISH.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge0ftIncr_PHISH.xml
new file mode 100644
index 0000000000..af2a380f9c
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge0ftIncr_PHISH.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge1ftIncr_PHISH.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge1ftIncr_PHISH.xml
new file mode 100644
index 0000000000..8a9cb5f291
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge1ftIncr_PHISH.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge2ftIncr_PHISH.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge2ftIncr_PHISH.xml
new file mode 100644
index 0000000000..13692e3e58
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge2ftIncr_PHISH.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge3ftIncr_PHISH.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge3ftIncr_PHISH.xml
new file mode 100644
index 0000000000..8e5bff1990
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/PSurge3ftIncr_PHISH.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_122E2.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_122E2.xml
similarity index 72%
rename from edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_122E2.xml
rename to edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_122E2.xml
index 91e4c80c08..21785cf76c 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_122E2.xml
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_122E2.xml
@@ -19,7 +19,10 @@
further_licensing_information.
-->
-
-
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_152E2.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_152E2.xml
similarity index 72%
rename from edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_152E2.xml
rename to edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_152E2.xml
index db0e2fdf72..55ea7ac6d3 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_152E2.xml
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_152E2.xml
@@ -19,7 +19,10 @@
further_licensing_information.
-->
-
-
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_183E2.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_183E2.xml
similarity index 72%
rename from edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_183E2.xml
rename to edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_183E2.xml
index bcf95fb2e1..84cf2312af 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_183E2.xml
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_183E2.xml
@@ -19,7 +19,10 @@
further_licensing_information.
-->
-
-
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_20.xml b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_20.xml
similarity index 71%
rename from edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_20.xml
rename to edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_20.xml
index c20792d940..4839af8d71 100644
--- a/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSG_20.xml
+++ b/edexOsgi/com.raytheon.uf.common.derivparam/utility/common_static/base/derivedParameters/definitions/TPCSurgeProb/TPCSG_20.xml
@@ -19,7 +19,10 @@
further_licensing_information.
-->
-
-
+
+
+
-
+