*
@@ -53,6 +52,7 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
* ------------ ---------- ----------- --------------------------
* Jan 04, 2010 jsanchez Initial creation
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract
+ * Apr 07, 2014 2971 skorolev Add condition to avoid malformed parts in the message.
*
*
*
@@ -62,7 +62,8 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
public class SvrWxParser {
/** The logger */
- private final Log logger = LogFactory.getLog(getClass());
+ private static IUFStatusHandler logger = UFStatus
+ .getHandler(SvrWxParser.class);
private final PointDataDescription pointDataDescription;
@@ -108,6 +109,26 @@ public class SvrWxParser {
private static final HashMap MONTH_MAP = new HashMap();
+ /** List of lines with non-parsed location. */
+ private List badLines;
+
+ private static final Pattern EVENT_KEY_PTRN = Pattern
+ .compile(InternalReport.EVENT_KEY);
+
+ private static final Pattern DATE_TIME_PTRN = Pattern
+ .compile(InternalReport.TIME);
+
+ private static final Pattern LAT_LON_PTRN = Pattern
+ .compile(InternalReport.LATLON);
+
+ private static final Pattern STATION_ID_PTRN = Pattern
+ .compile(InternalReport.STATIONID);
+
+ private static final Pattern yearPtrn = Pattern.compile("\\d{4,4}");
+
+ private static final Pattern monthPtrn = Pattern
+ .compile("(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)");
+
static {
MONTH_MAP.put("JAN", 1);
MONTH_MAP.put("FEB", 2);
@@ -124,10 +145,11 @@ public class SvrWxParser {
}
/**
+ * SvrWx Parser.
*
- * @param message
- * @param wmoHeader
+ * @param dao
* @param pdd
+ * @param name
*/
public SvrWxParser(SvrWxRecordDao dao, PointDataDescription pdd, String name) {
pointDataDescription = pdd;
@@ -143,13 +165,26 @@ public class SvrWxParser {
* Raw message data.
* @param traceId
* Trace id for this data.
+ * @param headers
*/
public void setData(byte[] message, String traceId, Headers headers) {
currentReport = -1;
+ badLines = new ArrayList();
this.traceId = traceId;
wmoHeader = new WMOHeader(message, headers);
if (wmoHeader != null) {
reports = findReports(message);
+ if (!badLines.isEmpty()) {
+ StringBuilder warnMsg = new StringBuilder("Message ");
+ warnMsg.append(wmoHeader);
+ warnMsg.append(" skipped lines:");
+ for (String s : badLines) {
+ warnMsg.append("\nUnrecognized location: ");
+ warnMsg.append(s);
+ }
+ logger.warn(warnMsg.toString());
+ badLines.clear();
+ }
} else {
logger.error(traceId + "- Missing or invalid WMOHeader");
}
@@ -193,7 +228,6 @@ public class SvrWxParser {
} else {
report = reports.get(currentReport++);
logger.debug("Getting report " + report);
-
try {
report.constructDataURI();
if (URI_MAP.containsKey(report.getDataURI())) {
@@ -227,6 +261,7 @@ public class SvrWxParser {
}
/**
+ * Gets Container
*
* @param obsData
* @return
@@ -243,9 +278,10 @@ public class SvrWxParser {
}
/**
+ * Collect Reports from svrWx Records.
*
- * @param start
- * @return
+ * @param message
+ * @return reports
*/
private List findReports(byte[] message) {
@@ -261,7 +297,8 @@ public class SvrWxParser {
parseTimeRangeLine(rpt.getReportLine());
break;
case REPORT_TYPE:
- if ((reportType != null) && (eventKey != null)) {
+ if ((reportType != null && eventKey != null)
+ && isStationOk()) {
SurfaceObsLocation location = new SurfaceObsLocation(
stationId);
location.setLongitude(longitude.doubleValue());
@@ -278,7 +315,8 @@ public class SvrWxParser {
clearData();
break;
case EVENT_LN:
- if ((reportType != null) && (eventKey != null)) {
+ if ((reportType != null && eventKey != null)
+ && isStationOk()) {
SurfaceObsLocation location = new SurfaceObsLocation(
stationId);
location.setLongitude(longitude.doubleValue());
@@ -303,9 +341,13 @@ public class SvrWxParser {
if ((s.length() != 0) && (remarks != null)) {
remarks += " " + s;
}
+ if (s.length() != 0 && eventKey != null && !isStationOk()) {
+ badLines.add(s);
+ }
break;
case END:
- if ((reportType != null) && (eventKey != null)) {
+ if ((reportType != null && eventKey != null)
+ && isStationOk()) {
SurfaceObsLocation location = new SurfaceObsLocation(
stationId);
location.setLongitude(longitude.doubleValue());
@@ -327,26 +369,29 @@ public class SvrWxParser {
return reports;
}
+ /**
+ * Parse Time Range Line.
+ *
+ * @param timeRangeLine
+ */
private void parseTimeRangeLine(String timeRangeLine) {
- Pattern yearPtrn = Pattern.compile("\\d{4,4}");
- Pattern monthPtrn = Pattern
- .compile("(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)");
-
Matcher m = monthPtrn.matcher(timeRangeLine);
if (m.find()) {
month = MONTH_MAP.get(m.group());
}
-
m = yearPtrn.matcher(timeRangeLine);
if (m.find()) {
year = Integer.parseInt(m.group());
}
}
+ /**
+ * Parse Event Key Line.
+ *
+ * @param eventKeyLine
+ */
private void parseEventKeyLine(String eventKeyLine) {
- Pattern eventKeyPtrn = Pattern.compile(InternalReport.EVENT_KEY);
- Pattern dateTimePtrn = Pattern.compile(InternalReport.TIME);
- Matcher m = eventKeyPtrn.matcher(eventKeyLine);
+ Matcher m = EVENT_KEY_PTRN.matcher(eventKeyLine);
if (m.find()) {
String type = m.group();
if (type.equals(TORN)) {
@@ -360,10 +405,9 @@ public class SvrWxParser {
eventKey = type.replace(" ", "");
reportType = "A";
}
-
}
- m = dateTimePtrn.matcher(eventKeyLine);
+ m = DATE_TIME_PTRN.matcher(eventKeyLine);
if (m.find()) {
String time = m.group();
greenTime = time.replace("/", ".");
@@ -383,18 +427,19 @@ public class SvrWxParser {
cal.set(Calendar.MILLISECOND, 0);
cal.setTimeZone(TimeZone.getTimeZone("GMT"));
refTime = new DataTime(cal);
-
} else {
refTime = null;
}
}
+ /**
+ * Parse Remarks Line.
+ *
+ * @param remarksLine
+ */
private void parseRemarksLine(String remarksLine) {
- Pattern latLonPtrn = Pattern.compile(InternalReport.LATLON);
- Pattern stationIdPtrn = Pattern.compile(InternalReport.STATIONID);
-
- Matcher m = latLonPtrn.matcher(remarksLine);
+ Matcher m = LAT_LON_PTRN.matcher(remarksLine);
if (m.find()) {
String latLon = m.group();
String latStr = latLon.substring(0, 4);
@@ -403,7 +448,7 @@ public class SvrWxParser {
longitude = Float.parseFloat(lonStr) / -100;
}
- m = stationIdPtrn.matcher(remarksLine);
+ m = STATION_ID_PTRN.matcher(remarksLine);
if (m.find()) {
stationId = m.group();
}
@@ -414,6 +459,9 @@ public class SvrWxParser {
}
}
+ /**
+ * Clear SvrWx Record.
+ */
private void clearData() {
eventKey = null;
refTime = null;
@@ -424,6 +472,11 @@ public class SvrWxParser {
greenTime = null;
}
+ /**
+ * Get details of SvrWx Record.
+ *
+ * @return details
+ */
private String getDetails() {
String details = eventKey + " " + greenTime + ":";
if (stationId != null) {
@@ -432,4 +485,15 @@ public class SvrWxParser {
details += " " + remarks;
return details;
}
+
+ /**
+ * Checks if parsed location is valid. If it returns false it indicates the
+ * station or latitude/longitude was not parsed from the product since it
+ * didn't match.
+ *
+ * @return true if location is valid.
+ */
+ private boolean isStationOk() {
+ return longitude != null && latitude != null && stationId != null;
+ }
}
From 3bae8533607d01c5d431a8260365e2fa2da7d1ac Mon Sep 17 00:00:00 2001
From: "Qinglu.Lin"
Date: Fri, 11 Apr 2014 12:22:04 -0400
Subject: [PATCH 006/188] ASM #505 - Color table editor does not allow enough
significant digits
Change-Id: I2b98ec0de0ebef7b585574d063ddf87834edd44a
Former-commit-id: 2b9cb3e46fbd1598e95a4ea3a866741fed6603d9
---
.../viz/ui/dialogs/colordialog/ColorBar.java | 48 ++++++++++++++++++-
1 file changed, 46 insertions(+), 2 deletions(-)
diff --git a/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorBar.java b/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorBar.java
index 5e9b643f7d..9147e28dba 100644
--- a/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorBar.java
+++ b/cave/com.raytheon.viz.ui/src/com/raytheon/viz/ui/dialogs/colordialog/ColorBar.java
@@ -21,8 +21,11 @@
package com.raytheon.viz.ui.dialogs.colordialog;
import java.text.DecimalFormat;
+import java.text.NumberFormat;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import javax.measure.converter.UnitConverter;
@@ -56,6 +59,20 @@ import org.eclipse.swt.widgets.Composite;
import com.raytheon.uf.common.colormap.ColorMap;
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
+/**
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 11, 2014 DR 15811 Qinglu Lin Added decimalPlaceMap and logic to have 4 decimal places
+ * for color editor's color bar for radar correlation coefficient.
+ *
+ *
+ *
+ */
public class ColorBar extends Composite implements MouseListener,
MouseMoveListener {
/**
@@ -309,6 +326,18 @@ public class ColorBar extends Composite implements MouseListener,
*/
protected Image colorBarWithMask;
+ private final Map decimalPlaceMap = new HashMap() {
+ private static final long serialVersionUID = 1L;
+ {
+ // keys are the last portion of the title in the color table editor for
+ // a specific radar product, in lower case and value is the decimals expected
+ // to be displayed in color bar.
+ put("correlation coeff", "0000");
+ }
+ };
+
+ private NumberFormat numberFormat = null;
+
/**
* Constructor.
*
@@ -343,6 +372,13 @@ public class ColorBar extends Composite implements MouseListener,
this.enabledColorMask = enableColorMask;
this.cmapParams = cmapParams;
+ for (String s: decimalPlaceMap.keySet()) {
+ if (parent.getShell().getText().toLowerCase().contains(s)) {
+ numberFormat = new DecimalFormat("###,###,##0." + decimalPlaceMap.get(s));
+ break;
+ }
+ }
+
initializeColorData();
this.callBack = callback;
@@ -1500,7 +1536,11 @@ public class ColorBar extends Composite implements MouseListener,
// If value is not a number then prepend ">"
// to the value.
if (((Double) value).isNaN()) {
- textStr = "> " + lastVal;
+ if (numberFormat != null) {
+ textStr = "> " + numberFormat.format(lastVal);
+ } else {
+ textStr = "> " + lastVal;
+ }
} else {
lastVal = value;
}
@@ -1535,7 +1575,11 @@ public class ColorBar extends Composite implements MouseListener,
* value variable.
*/
if (textStr.length() == 0) {
- txt = format.format(value);
+ if (numberFormat != null ) {
+ txt = numberFormat.format(value);
+ } else {
+ txt = format.format(value);
+ }
} else {
txt = textStr;
}
From 9a4e61d5077753164b287c3314e3b23d1b534fcc Mon Sep 17 00:00:00 2001
From: Dave Hladky
Date: Thu, 3 Apr 2014 16:55:12 -0500
Subject: [PATCH 007/188] Issue #2940 Better error message for bad XMRG config
in FFMP Change-Id: I0ed88a33dc7fe78dcccb7af212a3180d3124ca4f
Former-commit-id: b64527b6d538eafc4ae3cc49a32f54c9f44e118a
---
.../plugin/ffmp/common/FFMPProcessor.java | 174 ++++++++++++------
1 file changed, 120 insertions(+), 54 deletions(-)
diff --git a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java
index 40aaded68b..c996d429b3 100644
--- a/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java
+++ b/edexOsgi/com.raytheon.uf.edex.plugin.ffmp/src/com/raytheon/uf/edex/plugin/ffmp/common/FFMPProcessor.java
@@ -100,6 +100,7 @@ import com.vividsolutions.jts.geom.Polygon;
* 05/01/2013 15684 zhao Unlock when Exception caught
* Jul 15, 2013 2184 dhladky Remove all HUC's for storage except ALL
* 09/03/2013 DR 13083 G. Zhang Added a fix in processRADAR(ArrayList).
+ * 03 April 2014 2940 dhladky Better error message for bad configurations.
*
+ *
+ * @author rferrel
+ * @version 1.0
+ */
+
+@DynamicSerialize
+public class SharedLockResponse {
+ /** true when request was successful. */
+ @DynamicSerializeElement
+ private boolean sucessful;
+
+ /** Any error message from the handler. */
+ @DynamicSerializeElement
+ private String errorMessage;
+
+ public boolean isSucessful() {
+ return sucessful;
+ }
+
+ public void setSucessful(boolean sucessful) {
+ this.sucessful = sucessful;
+ }
+
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+}
diff --git a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/DatabaseArchiver.java b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/DatabaseArchiver.java
index 4abce3c143..4f762aa9ff 100644
--- a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/DatabaseArchiver.java
+++ b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/DatabaseArchiver.java
@@ -30,6 +30,7 @@ import java.util.TimeZone;
import java.util.Timer;
import java.util.TimerTask;
+import com.raytheon.uf.common.archive.config.ArchiveConstants;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.PluginProperties;
@@ -127,8 +128,8 @@ public class DatabaseArchiver implements IPluginArchiver {
@Override
public void run() {
long currentTime = System.currentTimeMillis();
- ClusterLockUtils.updateLockTime(SharedLockHandler.name, details,
- currentTime);
+ ClusterLockUtils.updateLockTime(ArchiveConstants.CLUSTER_NAME,
+ details, currentTime);
}
}
@@ -170,8 +171,8 @@ public class DatabaseArchiver implements IPluginArchiver {
*/
private ClusterTask getWriteLock(String details) {
SharedLockHandler lockHandler = new SharedLockHandler(LockType.WRITER);
- ClusterTask ct = ClusterLockUtils.lock(SharedLockHandler.name, details,
- lockHandler, false);
+ ClusterTask ct = ClusterLockUtils.lock(ArchiveConstants.CLUSTER_NAME,
+ details, lockHandler, false);
if (LockState.SUCCESSFUL.equals(ct.getLockState())) {
if (statusHandler.isPriorityEnabled(Priority.INFO)) {
statusHandler.handle(Priority.INFO, String.format(
diff --git a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/purge/ArchivePurgeManager.java b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/purge/ArchivePurgeManager.java
index e7ff3d48ed..a559eb5e37 100644
--- a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/purge/ArchivePurgeManager.java
+++ b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/purge/ArchivePurgeManager.java
@@ -34,6 +34,7 @@ import org.apache.commons.io.filefilter.IOFileFilter;
import com.raytheon.uf.common.archive.config.ArchiveConfig;
import com.raytheon.uf.common.archive.config.ArchiveConfigManager;
+import com.raytheon.uf.common.archive.config.ArchiveConstants;
import com.raytheon.uf.common.archive.config.CategoryConfig;
import com.raytheon.uf.common.archive.config.CategoryFileDateHelper;
import com.raytheon.uf.common.archive.config.DataSetStatus;
@@ -264,8 +265,8 @@ public class ArchivePurgeManager {
*/
private ClusterTask getWriteLock(String details) {
SharedLockHandler lockHandler = new SharedLockHandler(LockType.WRITER);
- ClusterTask ct = ClusterLockUtils.lock(SharedLockHandler.name, details,
- lockHandler, false);
+ ClusterTask ct = ClusterLockUtils.lock(ArchiveConstants.CLUSTER_NAME,
+ details, lockHandler, false);
if (ct.getLockState().equals(LockState.SUCCESSFUL)) {
if (statusHandler.isPriorityEnabled(Priority.INFO)) {
statusHandler.handle(Priority.INFO, String.format(
diff --git a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/useradmin/ArchiveAdminPrivilegedRequestHandler.java b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/useradmin/ArchiveAdminPrivilegedRequestHandler.java
index 7d68c406ff..788a610c2f 100644
--- a/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/useradmin/ArchiveAdminPrivilegedRequestHandler.java
+++ b/edexOsgi/com.raytheon.uf.edex.archive/src/com/raytheon/uf/edex/archive/useradmin/ArchiveAdminPrivilegedRequestHandler.java
@@ -64,8 +64,10 @@ public class ArchiveAdminPrivilegedRequestHandler extends
@Override
public ArchiveAdminAuthRequest handleRequest(ArchiveAdminAuthRequest request)
throws Exception {
- // If it reaches this point in the code, then the user is authorized, so
- // just return the request object with authorized set to true
+ /*
+ * If it reaches this point in the code, then the user is authorized, so
+ * just return the request object with authorized set to true.
+ */
request.setAuthorized(true);
return request;
}
@@ -85,14 +87,13 @@ public class ArchiveAdminPrivilegedRequestHandler extends
AuthManager manager = AuthManagerFactory.getInstance().getManager();
IRoleStorage roleStorage = manager.getRoleStorage();
- boolean authorized = roleStorage.isAuthorized((request).getRoleId(),
- user.uniqueId().toString(), APPLICATION);
+ boolean authorized = roleStorage.isAuthorized(request.getRoleId(), user
+ .uniqueId().toString(), APPLICATION);
if (authorized) {
return new AuthorizationResponse(authorized);
} else {
- return new AuthorizationResponse(
- (request).getNotAuthorizedMessage());
+ return new AuthorizationResponse(request.getNotAuthorizedMessage());
}
}
}
diff --git a/edexOsgi/com.raytheon.uf.edex.database/res/spring/database-request.xml b/edexOsgi/com.raytheon.uf.edex.database/res/spring/database-request.xml
new file mode 100644
index 0000000000..9ea7332d58
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.edex.database/res/spring/database-request.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/cluster/handler/SharedLockHandler.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/cluster/handler/SharedLockHandler.java
index 1f2e4e03b3..2edf27089f 100644
--- a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/cluster/handler/SharedLockHandler.java
+++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/cluster/handler/SharedLockHandler.java
@@ -56,9 +56,6 @@ public final class SharedLockHandler extends CurrentTimeClusterLockHandler {
WRITER
};
- /** The value for the cluster tasks' name column. */
- public static final String name = "Shared Lock";
-
/**
* Common override time out. Clients need to rely on this value in order to
* update last execution time to maintain the lock.
diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/SharedLockRequestHandler.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/SharedLockRequestHandler.java
new file mode 100644
index 0000000000..0d01f118c3
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/handlers/SharedLockRequestHandler.java
@@ -0,0 +1,239 @@
+/**
+ * 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.database.handlers;
+
+import java.util.List;
+
+import com.raytheon.uf.common.dataquery.requests.SharedLockRequest;
+import com.raytheon.uf.common.dataquery.requests.SharedLockRequest.RequestType;
+import com.raytheon.uf.common.dataquery.responses.SharedLockResponse;
+import com.raytheon.uf.common.serialization.comm.IRequestHandler;
+import com.raytheon.uf.common.status.IUFStatusHandler;
+import com.raytheon.uf.common.status.UFStatus;
+import com.raytheon.uf.common.status.UFStatus.Priority;
+import com.raytheon.uf.edex.database.cluster.ClusterLockUtils;
+import com.raytheon.uf.edex.database.cluster.ClusterLockUtils.LockState;
+import com.raytheon.uf.edex.database.cluster.ClusterTask;
+import com.raytheon.uf.edex.database.cluster.handler.SharedLockHandler;
+import com.raytheon.uf.edex.database.cluster.handler.SharedLockHandler.LockType;
+
+/**
+ * This is the handler class for a shared lock request. It coordinates with the
+ * shared lock handler to perform the desired request.
+ *
+ *
+ *
+ * @author rferrel
+ * @version 1.0
+ */
+
+public class SharedLockRequestHandler implements
+ IRequestHandler {
+
+ private final IUFStatusHandler statusHander = UFStatus
+ .getHandler(SharedLockRequestHandler.class);
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.raytheon.uf.common.serialization.comm.IRequestHandler#handleRequest
+ * (com.raytheon.uf.common.serialization.comm.IServerRequest)
+ */
+ @Override
+ public SharedLockResponse handleRequest(SharedLockRequest request)
+ throws Exception {
+
+ SharedLockResponse response = new SharedLockResponse();
+ String name = request.getName();
+ String details = request.getDetails();
+ RequestType type = request.getRequestType();
+ response.setSucessful(false);
+
+ try {
+ switch (type) {
+ case READER_LOCK:
+ if (lock(name, details, LockType.READER)) {
+ response.setSucessful(true);
+ } else {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to obtain %s lock.", LockType.READER));
+ }
+ break;
+ case READER_UNLOCK:
+ if (unlock(name, details, LockType.READER)) {
+ response.setSucessful(true);
+ } else {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to unlock %s.", LockType.READER));
+ }
+ break;
+ case READER_UPDATE_TIME:
+ if (updateTime(name, details, LockType.READER)) {
+ response.setSucessful(true);
+ } else {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to update %s last exection time.",
+ LockType.READER));
+ }
+ break;
+ case WRITER_LOCK:
+ if (lock(name, details, LockType.WRITER)) {
+ response.setSucessful(true);
+ } else {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to obtain %s lock.", LockType.WRITER));
+ }
+ break;
+ case WRITER_UNLOCK:
+ if (unlock(name, details, LockType.WRITER)) {
+ response.setSucessful(true);
+ } else {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to unlock %s.", LockType.WRITER));
+ }
+ break;
+ case WRITER_UPDATE_TIME:
+ if (updateTime(name, details, LockType.WRITER)) {
+ response.setSucessful(false);
+ response.setErrorMessage(String.format(
+ "Unable to update %s last execution time.",
+ LockType.WRITER));
+ }
+ break;
+ default:
+ String message = "Unimplemented request type: " + type;
+ statusHander.error(message);
+ response.setErrorMessage(message);
+ response.setSucessful(false);
+ }
+ } catch (Exception ex) {
+ response.setSucessful(false);
+ String message = String.format(
+ "Request type %s for details %s failed %s", type, details,
+ ex.getMessage());
+ response.setErrorMessage(message);
+ if (statusHander.isPriorityEnabled(Priority.PROBLEM)) {
+ statusHander.handle(Priority.PROBLEM, message, ex);
+ }
+ }
+ return response;
+ }
+
+ /**
+ * Request details lock of the desired lock type.
+ *
+ * @param details
+ * @param lockType
+ * @return true when obtaining lock is successful
+ */
+ private boolean lock(String name, String details, LockType lockType) {
+ SharedLockHandler lockHandler = new SharedLockHandler(lockType);
+ ClusterTask ct = ClusterLockUtils.lock(name, details, lockHandler,
+ false);
+ return LockState.SUCCESSFUL.equals(ct.getLockState());
+ }
+
+ /**
+ * Release lock for given details. The unlock request is only attempted when
+ * the details' lock type matches and the count is a positive number.
+ *
+ * @param details
+ * @param lockType
+ * @return true when successful
+ */
+ private boolean unlock(String name, String details, LockType lockType) {
+ ClusterTask ct = findCluster(name, details, lockType);
+ if (ct != null) {
+ SharedLockHandler handler = (SharedLockHandler) ct.getLockHandler();
+ if (handler.getLockCount() > 0) {
+ return ClusterLockUtils.unlock(ct, false);
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Find the details' cluster task with latest extrainfo and set up its
+ * handler. The found cluster task is only returned if its lock type matches
+ * the requested type and it is in the run state.
+ *
+ * @param details
+ * - Whose cluster task to find
+ * @param lockType
+ * - Expected lock type for the cluster
+ * @return ct when found, matches lockType, and is running else null.
+ */
+ private ClusterTask findCluster(String name, String details,
+ LockType lockType) {
+ ClusterTask ct = null;
+ List cts = ClusterLockUtils.getLocks(name);
+
+ if ((cts != null) && (cts.size() > 0)) {
+ for (ClusterTask tmpCt : cts) {
+ if (details.equals(tmpCt.getId().getDetails())) {
+ if (tmpCt.isRunning()) {
+ SharedLockHandler handler = new SharedLockHandler(
+ lockType);
+ handler.parseExtraInfoString(tmpCt.getExtraInfo());
+ if (handler.locksMatch()
+ && (handler.getLockCount() > 0)) {
+ ct = tmpCt;
+ ct.setLockHandler(handler);
+ }
+ }
+ break;
+ }
+ }
+ }
+ return ct;
+ }
+
+ /**
+ * Update the last execution time for the detail's lock.
+ *
+ * @param details
+ * @param lockType
+ * @return true when update successful
+ */
+ private boolean updateTime(String name, String details, LockType lockType) {
+ ClusterTask ct = findCluster(name, details, lockType);
+ if (ct != null) {
+ if (ClusterLockUtils.updateLockTime(ct.getId().getName(), ct
+ .getId().getDetails(), System.currentTimeMillis())) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
From 037ed878b7cae99a00ea171bfa46a259277f99c9 Mon Sep 17 00:00:00 2001
From: Ben Steffensmeier
Date: Fri, 11 Apr 2014 16:43:10 -0500
Subject: [PATCH 009/188] Issue #2947 Make GridCoverage implement
IGridGeometryProvider.
Former-commit-id: f2a204c593f65c67c87e16fa513d00383ad568e5
---
.../dataplugin/gfe/db/objects/GridLocation.java | 15 ++-------------
.../uf/common/gridcoverage/GridCoverage.java | 5 ++++-
2 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/db/objects/GridLocation.java b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/db/objects/GridLocation.java
index 4b4d997446..b867eb2bf3 100644
--- a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/db/objects/GridLocation.java
+++ b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/db/objects/GridLocation.java
@@ -99,6 +99,8 @@ import com.vividsolutions.jts.simplify.TopologyPreservingSimplifier;
* made init method public for use in GFEDao
* 09/30/13 #2333 mschenke Added method to construct from {@link IGridGeometryProvider}
* 10/22/13 #2361 njensen Remove XML annotations
+ * 04/11/14 #2947 bsteffen Remove ISpatialObject constructor.
+ *
*
*
*
@@ -343,19 +345,6 @@ public class GridLocation extends PersistableDataObject implements
"GMT");
}
- /**
- * @param id
- * @param coverage
- */
- public GridLocation(String id, ISpatialObject coverage) {
- this.siteId = id;
- this.crsObject = coverage.getCrs();
- this.crsWKT = this.crsObject.toWKT();
- this.geometry = (Polygon) coverage.getGeometry();
- this.nx = coverage.getNx();
- this.ny = coverage.getNy();
- }
-
/**
* @param id
* @param provider
diff --git a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java
index ca5763679e..2e7213a6d5 100644
--- a/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java
+++ b/edexOsgi/com.raytheon.uf.common.gridcoverage/src/com/raytheon/uf/common/gridcoverage/GridCoverage.java
@@ -51,6 +51,7 @@ import org.opengis.referencing.operation.MathTransform;
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject;
import com.raytheon.uf.common.geospatial.CRSCache;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.gridcoverage.exception.GridCoverageException;
@@ -77,6 +78,7 @@ import com.vividsolutions.jts.geom.Geometry;
* spatial
* Oct 15, 2013 2473 bsteffen add @XmlSeeAlso for self contained JAXB
* context.
+ * Apr 11, 2014 2947 bsteffen Implement IGridGeometryProvider.
*
*
*
@@ -93,7 +95,7 @@ import com.vividsolutions.jts.geom.Geometry;
StereographicGridCoverage.class })
@DynamicSerialize
public abstract class GridCoverage extends PersistableDataObject
- implements ISpatialObject {
+ implements ISpatialObject, IGridGeometryProvider {
private static final long serialVersionUID = -1355232934065074837L;
@@ -394,6 +396,7 @@ public abstract class GridCoverage extends PersistableDataObject
this.description = description;
}
+ @Override
public GridGeometry2D getGridGeometry() {
if (gridGeometry == null) {
gridGeometry = MapUtil.getGridGeometry(this);
From d5b91d8846dfae587b47c450ecc176c669145e38 Mon Sep 17 00:00:00 2001
From: Ben Steffensmeier
Date: Fri, 11 Apr 2014 17:31:00 -0500
Subject: [PATCH 010/188] Issue #2947 Switch derived parameter space amtching
to use IGridGeometryProvider.
Former-commit-id: c5c0dcaab8e495970438f134625ac2847f9bcf9f
---
.../viz/grid/inv/GridRequestableNode.java | 22 +-
.../viz/grid/inv/ImportLevelNode.java | 22 +-
.../common/derivparam/tree/OrLevelNode.java | 26 ++-
.../IGridGeometryProviderComparable.java | 59 +++++
.../uf/common/inventory/TimeAndSpace.java | 49 ++--
.../common/inventory/TimeAndSpaceMatcher.java | 213 +++++++++---------
.../data/AbstractRequestableData.java | 20 +-
7 files changed, 234 insertions(+), 177 deletions(-)
create mode 100644 edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/IGridGeometryProviderComparable.java
diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/GridRequestableNode.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/GridRequestableNode.java
index 56f1cf509d..37fe344244 100644
--- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/GridRequestableNode.java
+++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/GridRequestableNode.java
@@ -26,10 +26,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import com.raytheon.uf.common.inventory.data.AbstractRequestableData;
-import com.raytheon.uf.common.inventory.exception.DataCubeException;
-import com.raytheon.uf.common.inventory.TimeAndSpace;
-import com.raytheon.uf.common.inventory.tree.LevelNode;
import com.raytheon.uf.common.dataplugin.grid.GridConstants;
import com.raytheon.uf.common.dataplugin.grid.GridRecord;
import com.raytheon.uf.common.dataquery.requests.DbQueryRequest;
@@ -37,9 +33,13 @@ import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
import com.raytheon.uf.common.derivparam.tree.AbstractBaseDataNode;
-import com.raytheon.uf.common.geospatial.ISpatialObject;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
import com.raytheon.uf.common.gridcoverage.GridCoverage;
import com.raytheon.uf.common.gridcoverage.lookup.GridCoverageLookup;
+import com.raytheon.uf.common.inventory.TimeAndSpace;
+import com.raytheon.uf.common.inventory.data.AbstractRequestableData;
+import com.raytheon.uf.common.inventory.exception.DataCubeException;
+import com.raytheon.uf.common.inventory.tree.LevelNode;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.DataTime;
@@ -55,9 +55,11 @@ import com.raytheon.viz.grid.util.CoverageUtils;
*
*
* SOFTWARE HISTORY
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Jan 19, 2010 bsteffen Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * Jan 19, 2010 bsteffen Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch spatial matching to use
+ * IGridGeometryProvider
*
*
*
@@ -130,7 +132,7 @@ public class GridRequestableNode extends AbstractBaseDataNode {
boolean timeAgnostic = false;
boolean spaceAgnostic = false;
Set times = new HashSet();
- Set spaces = new HashSet();
+ Set spaces = new HashSet();
for (TimeAndSpace ast : availability) {
if (ast.isTimeAgnostic()) {
timeAgnostic = true;
@@ -162,7 +164,7 @@ public class GridRequestableNode extends AbstractBaseDataNode {
if (!spaceAgnostic) {
RequestConstraint spaceRc = new RequestConstraint();
spaceRc.setConstraintType(ConstraintType.IN);
- for (ISpatialObject space : spaces) {
+ for (IGridGeometryProvider space : spaces) {
if (space instanceof GridCoverage) {
spaceRc.addToConstraintValueList(Integer
.toString(((GridCoverage) space).getId()));
diff --git a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java
index c58e6ce3c8..fd7b585ad3 100644
--- a/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java
+++ b/cave/com.raytheon.viz.grid/src/com/raytheon/viz/grid/inv/ImportLevelNode.java
@@ -28,10 +28,6 @@ import java.util.NavigableSet;
import java.util.Set;
import java.util.TreeSet;
-import com.raytheon.uf.common.inventory.data.AbstractRequestableData;
-import com.raytheon.uf.common.inventory.exception.DataCubeException;
-import com.raytheon.uf.common.inventory.TimeAndSpace;
-import com.raytheon.uf.common.inventory.tree.AbstractRequestableNode;
import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfo;
import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfoLookup;
import com.raytheon.uf.common.dataplugin.level.Level;
@@ -39,8 +35,12 @@ import com.raytheon.uf.common.derivparam.inv.AvailabilityContainer;
import com.raytheon.uf.common.derivparam.library.DerivParamDesc;
import com.raytheon.uf.common.derivparam.library.DerivParamMethod;
import com.raytheon.uf.common.derivparam.tree.AbstractAliasLevelNode;
-import com.raytheon.uf.common.geospatial.ISpatialObject;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
import com.raytheon.uf.common.gridcoverage.GridCoverage;
+import com.raytheon.uf.common.inventory.TimeAndSpace;
+import com.raytheon.uf.common.inventory.data.AbstractRequestableData;
+import com.raytheon.uf.common.inventory.exception.DataCubeException;
+import com.raytheon.uf.common.inventory.tree.AbstractRequestableNode;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.viz.grid.data.ImportRequestableData;
@@ -50,15 +50,17 @@ import com.raytheon.viz.grid.util.RadarAdapter;
/**
* This node handles all Alias derived parameters which includes Import in AWIPS
* I. Data requests and Time queries are simply forwarded to the source nodes.
- * Returned records are wrapped in an ALiasRecord which can handle unit
+ * Returned records are wrapped in an AliasRecord which can handle unit
* conversion and model conversion if necessary.
*
*
*
* SOFTWARE HISTORY
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Jan 15, 2010 #3965 rjpeter Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * Jan 15, 2010 3965 rjpeter Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch spatial matching to use
+ * IGridGeometryProvider
*
*
*
* SOFTWARE HISTORY
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Jan 29, 2010 bsteffen Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * Jan 29, 2010 bsteffen Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch spatial matching to use
+ * IGridGeometryProvider
*
*
*
@@ -214,8 +216,8 @@ public class OrLevelNode extends AbstractDerivedDataNode {
Collection matches = matcher.match(myAvailability,
nodeAvail).values();
for (MatchResult match : matches) {
- ISpatialObject space1 = match.get1().getSpace();
- ISpatialObject space2 = match.get2().getSpace();
+ IGridGeometryProvider space1 = match.get1().getSpace();
+ IGridGeometryProvider space2 = match.get2().getSpace();
// if the spaces are equal then remove the new time so it is not
// added. This will remove identical times and times that match
// ignoring range.
diff --git a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/IGridGeometryProviderComparable.java b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/IGridGeometryProviderComparable.java
new file mode 100644
index 0000000000..a0dd9ecc21
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/IGridGeometryProviderComparable.java
@@ -0,0 +1,59 @@
+/**
+ * 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.inventory;
+
+import org.geotools.coverage.grid.GridGeometry2D;
+
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
+
+/**
+ * Interace for {@link IGridGeometryProvider} that can compare itself to other
+ * IGridGeometryProviders and provide an intersecting IGridGeometryProvider.
+ * This method can be used by the {@link TimeAndSpaceMatcher} to match different
+ * spaces.
+ *
+ *
+ *
+ * @author bsteffen
+ * @version 1.0
+ */
+public interface IGridGeometryProviderComparable extends IGridGeometryProvider {
+
+ /**
+ * Compare another IGridGeometryProvider to this one. If the two are
+ * compatible return a provider that will generate a {@link GridGeometry2D}
+ * representing the intersection. If the two are incompatible or
+ * nonintersecting null should be returned to indicate no space matching is
+ * possible.
+ *
+ * @param other
+ * @return
+ */
+ public IGridGeometryProvider compare(IGridGeometryProvider other);
+
+}
diff --git a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpace.java b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpace.java
index b00baaedc6..b0ae680765 100644
--- a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpace.java
+++ b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpace.java
@@ -19,11 +19,10 @@
**/
package com.raytheon.uf.common.inventory;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.geotools.coverage.grid.GridGeometry2D;
-import com.raytheon.uf.common.geospatial.ISpatialObject;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
import com.raytheon.uf.common.time.DataTime;
-import com.vividsolutions.jts.geom.Geometry;
/**
* Represents a time and space(location) where data can exist. This is used in
@@ -34,9 +33,10 @@ import com.vividsolutions.jts.geom.Geometry;
*
* SOFTWARE HISTORY
*
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Apr 11, 2012 bsteffen Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * Apr 11, 2012 bsteffen Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch space to use IGridGeometryProvider
*
*
*
@@ -73,40 +73,23 @@ public class TimeAndSpace {
* elevation angle for a grid coverage, this can be calculated for any
* gridcoverage.
*/
- public static final ISpatialObject SPACE_AGNOSTIC = new ISpatialObject() {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public Integer getNy() {
- return null;
- }
-
- @Override
- public Integer getNx() {
- return null;
- }
-
- @Override
- public Geometry getGeometry() {
- return null;
- }
-
- @Override
- public CoordinateReferenceSystem getCrs() {
- return null;
- }
+ public static final IGridGeometryProvider SPACE_AGNOSTIC = new IGridGeometryProvider() {
@Override
public String toString() {
return "SPACE_AGNOSTIC";
}
+ @Override
+ public GridGeometry2D getGridGeometry() {
+ return null;
+ }
+
};
private final DataTime time;
- private final ISpatialObject space;
+ private final IGridGeometryProvider space;
public TimeAndSpace() {
this(TIME_AGNOSTIC, SPACE_AGNOSTIC);
@@ -117,11 +100,11 @@ public class TimeAndSpace {
}
- public TimeAndSpace(ISpatialObject space) {
+ public TimeAndSpace(IGridGeometryProvider space) {
this(TIME_AGNOSTIC, space);
}
- public TimeAndSpace(DataTime time, ISpatialObject space) {
+ public TimeAndSpace(DataTime time, IGridGeometryProvider space) {
this.time = time;
this.space = space;
}
@@ -130,7 +113,7 @@ public class TimeAndSpace {
return time;
}
- public ISpatialObject getSpace() {
+ public IGridGeometryProvider getSpace() {
return space;
}
diff --git a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpaceMatcher.java b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpaceMatcher.java
index df6e649b4c..c4f7284bb7 100644
--- a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpaceMatcher.java
+++ b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/TimeAndSpaceMatcher.java
@@ -25,7 +25,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import com.raytheon.uf.common.geospatial.ISpatialObject;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
import com.raytheon.uf.common.time.DataTime;
/**
@@ -54,9 +54,11 @@ import com.raytheon.uf.common.time.DataTime;
*
* SOFTWARE HISTORY
*
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * May 8, 2012 bsteffen Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * May 08, 2012 bsteffen Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch spatial matching to use
+ * IGridGeometryProvider
*
*
*
@@ -112,9 +114,7 @@ public class TimeAndSpaceMatcher {
MatchResult res = createMatchResult(t1, t2);
if (res != null) {
MatchResult prev = result.get(res.getMerge());
- if (prev == null
- || prev.getMatchValue().compareTo(
- res.getMatchValue()) > 0) {
+ if (prev == null || prev.compareTo(res) > 0) {
result.put(res.getMerge(), res);
}
}
@@ -133,55 +133,38 @@ public class TimeAndSpaceMatcher {
* @return
*/
private MatchResult createMatchResult(TimeAndSpace t1, TimeAndSpace t2) {
- MatchType matchValue;
+ TimeMatchType timeMatchType;
DataTime time = null;
- ISpatialObject space = null;
- // first determine what space a match between these two times would have
- boolean spaceAgn = false;
- if (t1.getSpace().equals(t2.getSpace())) {
- // If they match that is best
- space = t1.getSpace();
- } else if (t1.isSpaceAgnostic()) {
- // space agnostic will match something with space.
- spaceAgn = true;
- space = t2.getSpace();
- } else if (t2.isSpaceAgnostic()) {
- // again one is agnostic
- spaceAgn = true;
- space = t1.getSpace();
- } else {
- // no spatial match, means no match at all.
- return null;
- }
- // Next determine how well the times match
+ /* Determine how well the times match */
if (t1.isTimeAgnostic()) {
- // When one is agnostic it will match anything.
+ /* When one is agnostic it will match anything. */
time = t2.getTime();
- matchValue = spaceAgn ? MatchType.AGNOSTIC_MATCH
- : MatchType.SPACE_MATCH;
+ timeMatchType = TimeMatchType.AGNOSTIC;
} else if (t2.isTimeAgnostic()) {
- // again one is agnostic
+ /* again one is agnostic */
time = t1.getTime();
- matchValue = spaceAgn ? MatchType.AGNOSTIC_MATCH
- : MatchType.SPACE_MATCH;
+ timeMatchType = TimeMatchType.AGNOSTIC;
} else if (t1.getTime().equals(t2.getTime())) {
- // A perfect time match is always best.
+ /* A perfect time match is always best. */
time = t1.getTime();
- matchValue = spaceAgn ? MatchType.TIME_MATCH : MatchType.BOTH_MATCH;
+ timeMatchType = TimeMatchType.MATCH;
} else if (ignoreRange
&& t1.getTime().getMatchRef() == t2.getTime().getMatchRef()
&& t1.getTime().getMatchFcst() == t2.getTime().getMatchFcst()) {
- // If the ignoreRanfe flag is set then it is still considered a
- // match even if the ranges are different.
+ /*
+ * If the ignoreRanfe flag is set then it is still considered a
+ * match even if the ranges are different.
+ */
time = new DataTime(t1.getTime().getRefTime(), t1.getTime()
.getFcstTime());
- matchValue = spaceAgn ? MatchType.TIME_IGNORE_RANGE
- : MatchType.BOTH_IGNORE_RANGE;
+ timeMatchType = TimeMatchType.IGNORE_RANGE;
} else if (matchValid
&& t1.getTime().getMatchValid() == t2.getTime().getMatchValid()) {
- // finally last valid allows us to mix different
- // refTime/forecastTimes as long as valid matches.
+ /*
+ * finally last valid allows us to mix different
+ * refTime/forecastTimes as long as valid matches.
+ */
if (t1.getTime().getMatchRef() > t2.getTime().getMatchRef()) {
time = new DataTime(t1.getTime().getRefTime(), t1.getTime()
.getFcstTime());
@@ -189,12 +172,46 @@ public class TimeAndSpaceMatcher {
time = new DataTime(t2.getTime().getRefTime(), t2.getTime()
.getFcstTime());
}
- matchValue = spaceAgn ? MatchType.TIME_VALID : MatchType.BOTH_VALID;
+ timeMatchType = TimeMatchType.VALID_TIME;
} else {
+ /* no time match, means no match at all. */
return null;
}
+
+ SpaceMatchType spaceMatchType = null;
+ IGridGeometryProvider space = null;
+
+ /* Determine how well the spaces match */
+ if (t1.isSpaceAgnostic()) {
+ /* When one is agnostic it will match anything. */
+ space = t2.getSpace();
+ spaceMatchType = SpaceMatchType.AGNOSTIC;
+ } else if (t2.isSpaceAgnostic()) {
+ /* again one is agnostic */
+ space = t1.getSpace();
+ spaceMatchType = SpaceMatchType.AGNOSTIC;
+ } else if (t1.getSpace().equals(t2.getSpace())) {
+ /* A perfect space match is always best. */
+ space = t1.getSpace();
+ spaceMatchType = SpaceMatchType.MATCH;
+ } else {
+ if(t1.getSpace() instanceof IGridGeometryProviderComparable){
+ space = ((IGridGeometryProviderComparable) t1.getSpace())
+ .compare(t2.getSpace());
+ }
+ if (space == null
+ && (t2.getSpace() instanceof IGridGeometryProviderComparable)) {
+ space = ((IGridGeometryProviderComparable) t2.getSpace())
+ .compare(t1.getSpace());
+ }
+ if(space != null){
+ spaceMatchType = SpaceMatchType.COMPARABLE;
+ }else{
+ return null;
+ }
+ }
return new MatchResult(t1, t2, new TimeAndSpace(time, space),
- matchValue);
+ timeMatchType, spaceMatchType);
}
/**
@@ -215,34 +232,32 @@ public class TimeAndSpaceMatcher {
* @author bsteffen
* @version 1.0
*/
- public static class MatchResult {
+ public static class MatchResult implements Comparable {
- /**
- * The TimeAndSpace from the first collection that matches
- */
+ /** The TimeAndSpace from the first collection that matches */
private final TimeAndSpace t1;
- /**
- * The TimeAndSpace from the second collection that matches
- */
+ /** The TimeAndSpace from the second collection that matches */
private final TimeAndSpace t2;
- /**
- * The TimeAndSpace from the first collection that matches
- */
+ /** The TimeAndSpace from the first collection that matches */
private final TimeAndSpace merge;
- /**
- * How good of a match is this.
- */
- private final MatchType matchValue;
+ /** How good of a time match is this. */
+ private final TimeMatchType timeMatchType;
- public MatchResult(TimeAndSpace t1, TimeAndSpace t2,
- TimeAndSpace merge, MatchType matchValue) {
+ /** How good of a space match is this. */
+ private final SpaceMatchType spaceMatchType;
+
+ private MatchResult(TimeAndSpace t1, TimeAndSpace t2,
+ TimeAndSpace merge, TimeMatchType timeMatchType,
+ SpaceMatchType spaceMatchType) {
+ super();
this.t1 = t1;
this.t2 = t2;
this.merge = merge;
- this.matchValue = matchValue;
+ this.timeMatchType = timeMatchType;
+ this.spaceMatchType = spaceMatchType;
}
public TimeAndSpace get1() {
@@ -257,59 +272,51 @@ public class TimeAndSpaceMatcher {
return merge;
}
- public MatchType getMatchValue() {
- return matchValue;
+ public TimeMatchType getTimeMatchType() {
+ return timeMatchType;
+ }
+
+ public SpaceMatchType getSpaceMatchType() {
+ return spaceMatchType;
+ }
+
+ @Override
+ public int compareTo(MatchResult o) {
+ int result = timeMatchType.compareTo(o.getTimeMatchType());
+ if (result == 0) {
+ result = spaceMatchType.compareTo(o.getSpaceMatchType());
+ }
+ return result;
}
}
- /**
- *
- * An enum which represents the quality of the match, The best matches are
- * when both Time and Space objects are matches, but there are other
- * matches, usually involving either Time or Space agnostic that are not as
- * ideal but are suitable.
- *
- *
- *
- * @author bsteffen
- * @version 1.0
- */
- public static enum MatchType {
+ public static enum TimeMatchType {
+ /* Perfect match */
+ MATCH,
- // Time and space match perfectly
- BOTH_MATCH,
+ /* Reftime and forecast time match but ranges do not */
+ IGNORE_RANGE,
- // Space matches perfectly but time only matches if you ignore range
- BOTH_IGNORE_RANGE,
+ /* Only valid time matches, not ref/forectast time. */
+ VALID_TIME,
- // Space matches perfectly but time only matches valid time
- BOTH_VALID,
+ /* One is time or both are time agnostic so it matches everything. */
+ AGNOSTIC
+ }
- // one is space agnostic and time matches
- TIME_MATCH,
+ public static enum SpaceMatchType {
+ /* Perfect match */
+ MATCH,
- // one is space agnostic but time only matches if you ignore range
- TIME_IGNORE_RANGE,
-
- // one is space agnostic but time only matches valid time
- TIME_VALID,
-
- // space matches perfectly and one is time agnostic
- SPACE_MATCH,
-
- // one is both time and space agnostic so they match even though
- // they have nothing in common
- AGNOSTIC_MATCH;
+ /*
+ * One or both implements IGridGeometryProviderComparable and found a
+ * suitable intersection
+ */
+ COMPARABLE,
+ /* One is time or both are space agnostic so it matches everything. */
+ AGNOSTIC
}
/**
diff --git a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/data/AbstractRequestableData.java b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/data/AbstractRequestableData.java
index 68126737f0..f0feaa2022 100644
--- a/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/data/AbstractRequestableData.java
+++ b/edexOsgi/com.raytheon.uf.common.inventory/src/com/raytheon/uf/common/inventory/data/AbstractRequestableData.java
@@ -24,10 +24,10 @@ import java.util.List;
import javax.measure.unit.Unit;
-import com.raytheon.uf.common.inventory.exception.DataCubeException;
-import com.raytheon.uf.common.inventory.TimeAndSpace;
import com.raytheon.uf.common.dataplugin.level.Level;
-import com.raytheon.uf.common.geospatial.ISpatialObject;
+import com.raytheon.uf.common.geospatial.IGridGeometryProvider;
+import com.raytheon.uf.common.inventory.TimeAndSpace;
+import com.raytheon.uf.common.inventory.exception.DataCubeException;
import com.raytheon.uf.common.time.DataTime;
/**
@@ -40,9 +40,11 @@ import com.raytheon.uf.common.time.DataTime;
*
*
* SOFTWARE HISTORY
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * Mar 17, 2010 bsteffen Initial creation
+ * Date Ticket# Engineer Description
+ * ------------- -------- ----------- --------------------------
+ * Mar 17, 2010 bsteffen Initial creation
+ * Apr 11, 2014 2947 bsteffen Switch spatial matching to use
+ * IGridGeometryProvider
*
*
+ *
+ * @author rjpeter
+ * @version 1.0
+ */
+public class ContextDependencyMapping {
+ /**
+ * Endpoint types that should be tracked for dependency mapping
+ */
+ protected static final Set DEPENDENCY_ENDPOINT_TYPES;
+
+ static {
+ /*
+ * Endpoint types that are used for inner context routing. If we add
+ * other inner jvm routing types, they should be added here.
+ */
+ Set types = new HashSet(8);
+ types.add("vm");
+ types.add("direct-vm");
+ types.add("seda");
+ types.add("jmx");
+ types.add("guava-eventbus");
+ DEPENDENCY_ENDPOINT_TYPES = Collections.unmodifiableSet(types);
+ }
+
+ /**
+ * The dependency mappings.
+ */
+ protected final Map dependencyMapping;
+
+ /**
+ * Populates the dependency mappings for all camel contexts.
+ * {@code suppressExceptions} can be used to differentiate between
+ * startup/shutdown conditions to allow the map to be populated regardless
+ * of detected issues.
+ *
+ * @param contextData
+ * @param suppressExceptions
+ * @throws ConfigurationException
+ */
+ public ContextDependencyMapping(ContextData contextData,
+ boolean suppressExceptions) throws ConfigurationException {
+ dependencyMapping = Collections
+ .unmodifiableMap(populateDependencyMapping(contextData,
+ suppressExceptions));
+ }
+
+ /**
+ * Returns a {@code IUFStatusHandler}. Not cached as rarely used.
+ *
+ * @return
+ */
+ private static IUFStatusHandler getHandler() {
+ return UFStatus.getHandler(ContextDependencyMapping.class);
+ }
+
+ /**
+ * Dependency mappings per context. The dependency mapping is only for
+ * internal vm types that have a direct dependency. Indirect dependency via
+ * a JMS queue for example is not returned/enforced.
+ *
+ * @param contextData
+ * @param suppressExceptions
+ * Done in a shutdown scenario to get the dependencyMapping as
+ * close as possible.
+ */
+ protected static Map populateDependencyMapping(
+ ContextData contextData, boolean suppressExceptions)
+ throws ConfigurationException {
+ List contexts = contextData.getContexts();
+ Map dependencyMapping = new LinkedHashMap(
+ contexts.size());
+
+ // set up dependency nodes for internal types
+ Map consumesFrom = new HashMap();
+ Map> producesTo = new HashMap>();
+ Set consumers = new HashSet();
+
+ // scan for consuming and producing internal endpoints
+ for (CamelContext context : contexts) {
+ dependencyMapping.put(context, new DependencyNode(context));
+ consumers.clear();
+ List routes = context.getRoutes();
+ if ((routes != null) && (routes.size() > 0)) {
+ for (Route route : routes) {
+ String uri = route.getEndpoint().getEndpointUri();
+ Pair typeAndName = ContextData
+ .getEndpointTypeAndName(uri);
+ if ((typeAndName != null)
+ && DEPENDENCY_ENDPOINT_TYPES.contains(typeAndName
+ .getFirst())) {
+ String endpointName = typeAndName.getSecond();
+ consumers.add(endpointName);
+
+ /*
+ * Internal types don't support a fanout type policy
+ * where multiple routes can listen to the same
+ * endpoint.
+ */
+ CamelContext prev = consumesFrom.put(endpointName,
+ context);
+ if (prev != null) {
+ String msg = "Two contexts listen to the same internal endpoint ["
+ + endpointName
+ + "]. ContextManager cannot handle this situation. Double check configuration. Conflicting contexts ["
+ + prev.getName()
+ + "] and ["
+ + context.getName() + "]";
+ if (suppressExceptions) {
+ getHandler().error(msg);
+ } else {
+ throw new ConfigurationException(msg);
+ }
+ }
+ }
+ }
+ }
+
+ Collection endpoints = context.getEndpoints();
+ if ((endpoints != null) && (endpoints.size() > 0)) {
+ for (Endpoint ep : endpoints) {
+ String uri = ep.getEndpointUri();
+ Pair typeAndName = ContextData
+ .getEndpointTypeAndName(uri);
+ if ((typeAndName != null)
+ && DEPENDENCY_ENDPOINT_TYPES.contains(typeAndName
+ .getFirst())) {
+ String endpointName = typeAndName.getSecond();
+ if (!consumers.contains(endpointName)) {
+ List producerCtxs = producesTo
+ .get(endpointName);
+ if (producerCtxs == null) {
+ producerCtxs = new LinkedList();
+ producesTo.put(endpointName, producerCtxs);
+ }
+ producerCtxs.add(context);
+ }
+ }
+ }
+ }
+ }
+
+ // setup dependencies for internal routes
+ for (Map.Entry> producersEntry : producesTo
+ .entrySet()) {
+ String endpoint = producersEntry.getKey();
+ CamelContext consumer = consumesFrom.get(endpoint);
+ List producers = producersEntry.getValue();
+
+ if (consumer == null) {
+ StringBuilder msg = new StringBuilder(200);
+ msg.append("Internal Routing Endpoint [")
+ .append(endpoint)
+ .append("] has no defined consumers. This is endpoint is used in contexts [");
+ Iterator producerIter = producers.iterator();
+
+ while (producerIter.hasNext()) {
+ CamelContext producer = producerIter.next();
+ msg.append(producer.getName());
+
+ if (producerIter.hasNext()) {
+ msg.append(", ");
+ }
+ }
+
+ msg.append("]");
+ if (suppressExceptions) {
+ getHandler().error(msg.toString());
+ } else {
+ throw new ConfigurationException(msg.toString());
+ }
+ } else {
+ DependencyNode consumerNode = dependencyMapping.get(consumer);
+ for (CamelContext producer : producers) {
+ DependencyNode producerNode = dependencyMapping
+ .get(producer);
+ consumerNode.addDependentNode(producerNode);
+ }
+ }
+ }
+ return dependencyMapping;
+ }
+
+ /**
+ * Get the contexts that depend upon the passed context to work. If the
+ * passed context is unknown null will be returned.
+ *
+ * @param context
+ * @return
+ */
+ public Set getDependentContexts(CamelContext context) {
+ DependencyNode dNode = dependencyMapping.get(context);
+ if (dNode == null) {
+ return null;
+ }
+
+ return dNode.getDependentContexts();
+ }
+
+ /**
+ * Get the contexts that the passed context requires to be running to work.
+ * If the passed context is unknown null will be returned.
+ *
+ * @param context
+ * @return
+ */
+ public Set getRequiredContexts(CamelContext context) {
+ DependencyNode dNode = dependencyMapping.get(context);
+ if (dNode == null) {
+ return null;
+ }
+
+ return dNode.getRequiredContexts();
+ }
+}
diff --git a/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/ContextManager.java b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/ContextManager.java
index 4a8e4dd72b..325d76314e 100644
--- a/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/ContextManager.java
+++ b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/ContextManager.java
@@ -1,96 +1,587 @@
/**
* 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.esb.camel.context;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import javax.naming.ConfigurationException;
import org.apache.camel.CamelContext;
+import org.apache.camel.Route;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
+import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
+import com.raytheon.uf.common.time.util.TimeUtil;
+import com.raytheon.uf.common.util.Pair;
+import com.raytheon.uf.edex.core.IContextStateProcessor;
/**
- * Dynamically starts/stops a context and its associated routes so that only one
- * context in the cluster is running. This should mainly be used for reading
- * from topics so that only box is processing the topic data in the cluster for
- * singleton type events.
+ * Tracks all contexts and is used to auto determine context dependencies and
+ * start/stop them in the right order. Dynamically starts/stops a clustered
+ * context and its associated routes so that only one context in the cluster is
+ * running. This should mainly be used for reading from topics so that only box
+ * is processing the topic data in the cluster for singleton type events.
*
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
- * Nov 10, 2010 5050 rjpeter Initial creation
- * May 13, 2013 1989 njensen Camel 2.11 compatibility
+ * Nov 10, 2010 5050 rjpeter Initial creation.
+ * May 13, 2013 1989 njensen Camel 2.11 compatibility.
+ * Mar 11, 2014 2726 rjpeter Implemented graceful shutdown.
*
*
* @author rjpeter
* @version 1.0
*/
-public class ContextManager {
+public class ContextManager implements ApplicationContextAware,
+ BeanFactoryPostProcessor {
private static final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(ContextManager.class);
- private List contextList = new ArrayList();
-
private static ContextManager instance = new ContextManager();
+ /**
+ * Service used for start up and shut down threading.
+ */
+ private final ExecutorService service = Executors.newCachedThreadPool();
+
+ private final Set clusteredContexts = new HashSet();
+
+ /**
+ * State Manager for all contexts that are not clustered.
+ */
+ private final IContextStateManager defaultStateManager = new DependencyContextStateManager(
+ service);
+
+ /**
+ * State Manager used for all clustered contexts.
+ */
+ private final IContextStateManager clusteredStateManager = new ClusteredContextStateManager(
+ service);
+
+ /**
+ * Spring context. Set by the spring container after bean construction.
+ */
+ private ApplicationContext springCtx = null;
+
+ /**
+ * Endpoint types that are internal only. Mainly used at shutdown time to
+ * designate routes that shouldn't be shutdown immediately.
+ */
+ private final Set internalEndpointTypes = new HashSet();
+
+ /**
+ * Map of context processors that have been registered for a given context.
+ * Used to allow contexts to do custom worn on startup/shutdown.
+ */
+ private final Map contextProcessors = new HashMap();
+
+ /**
+ * Cluster lock timeout for clustered contexts.
+ */
+ private int timeOutMillis;
+
+ /**
+ * Parsed context data for all contexts known in the spring container.
+ */
+ private volatile ContextData contextData;
+
+ /**
+ * Flag to control shutting down the jvm. This handles shutdown being called
+ * during startup to short circuit startup.
+ */
+ private final AtomicBoolean shuttingDown = new AtomicBoolean(false);
+
+ /**
+ * Dependency mappings for all camel contexts in the spring container. This
+ * should only be changed in a sync block. Otherwise mark as volatile.
+ */
+ private ContextDependencyMapping dependencyMapping = null;
+
+ /**
+ * Last time dependency mapping was generated. Used to periodically
+ * regenerate the dependency mappings.
+ */
+ private final long lastDependencyTime = 0;
+
public static ContextManager getInstance() {
return instance;
}
+ /**
+ * Private constructor. Sets up internal types for prioritized stopping of
+ * routes on shutdown.
+ */
private ContextManager() {
+ internalEndpointTypes
+ .addAll(ContextDependencyMapping.DEPENDENCY_ENDPOINT_TYPES);
+ internalEndpointTypes.add("timer");
+ internalEndpointTypes.add("quartz");
+ internalEndpointTypes.add("clusteredquartz");
}
+ /**
+ * Gets the context data.
+ *
+ * @return
+ * @throws ConfigurationException
+ */
+ public ContextData getContextData() throws ConfigurationException {
+ if (contextData == null) {
+ synchronized (this) {
+ if (contextData == null) {
+ contextData = new ContextData(new ArrayList(
+ springCtx.getBeansOfType(CamelContext.class)
+ .values()));
+ }
+ }
+ }
+
+ return contextData;
+ }
+
+ /**
+ * Get the {@link IContextStateManager} for the passed {@code CamelContext}.
+ *
+ * @param context
+ * @return
+ */
+ protected IContextStateManager getStateManager(CamelContext context) {
+ if (clusteredContexts.contains(context)) {
+ return clusteredStateManager;
+ }
+
+ return defaultStateManager;
+ }
+
+ /**
+ * Get the {@link IContextStateProcessor} for the passed
+ * {@code CamelContext}.
+ *
+ * @param context
+ * @return
+ */
+ public IContextStateProcessor getStateProcessor(CamelContext context) {
+ return contextProcessors.get(context);
+ }
+
+ /**
+ * Get the {@link ContextDependencyMapping} for all contexts.
+ *
+ * @param suppressExceptions
+ * @return
+ * @throws ConfigurationException
+ */
+ public ContextDependencyMapping getDependencyMapping(
+ boolean suppressExceptions) throws ConfigurationException {
+ /*
+ * This is not permanently cashed and regenerated periodically since
+ * routing via code can change at runtime.
+ */
+ synchronized (this) {
+ long millis = System.currentTimeMillis();
+ if ((dependencyMapping == null)
+ || (millis > (lastDependencyTime + TimeUtil.MILLIS_PER_MINUTE))) {
+ dependencyMapping = new ContextDependencyMapping(
+ getContextData(), suppressExceptions);
+ }
+ }
+
+ return dependencyMapping;
+
+ }
+
+ /**
+ * Starts all routes for all contexts. If a route fails to start the entire
+ * jvm will be shutdown.
+ */
public void startContexts() {
- statusHandler.info("Context Manager starting routes");
- for (CamelContext camelContext : contextList) {
+ statusHandler.info("Context Manager starting contexts");
+
+ try {
+ ContextData cxtData = getContextData();
+ List>> callbacks = new LinkedList>>();
+
+ for (final CamelContext context : cxtData.getContexts()) {
+ final IContextStateManager stateManager = getStateManager(context);
+ if (stateManager.isContextStartable(context)) {
+ /*
+ * Have the ExecutorService start the context to allow for
+ * quicker startup.
+ */
+ callbacks
+ .add(service
+ .submit(new Callable>() {
+ @Override
+ public Pair call()
+ throws Exception {
+ boolean rval = false;
+ try {
+ rval = stateManager
+ .startContext(context);
+
+ if (!rval) {
+ statusHandler.error("Context ["
+ + context.getName()
+ + "] failed to start, shutting down");
+ System.exit(1);
+ }
+ } catch (Throwable e) {
+ statusHandler.fatal(
+ "Error occurred starting context: "
+ + context
+ .getName(),
+ e);
+ System.exit(1);
+ }
+
+ return new Pair(
+ context, rval);
+ }
+ }));
+ }
+ }
+
+ /*
+ * Double check call backs that everything started successfully. If
+ * some did not start successfully, force shutdown.
+ */
+ for (Future> callback : callbacks) {
+ Pair val = callback.get();
+ if (!val.getSecond().booleanValue()) {
+ statusHandler.error("Context [" + val.getFirst().getName()
+ + "] failed to start, shutting down");
+ System.exit(1);
+ }
+ }
+
+ } catch (Throwable e) {
+ statusHandler.fatal(
+ "Error occurred starting contexts, shutting down", e);
+ System.exit(1);
+ }
+ }
+
+ /**
+ * Register a clustered context that is meant to run as a singleton in the
+ * cluster.
+ *
+ * @param context
+ * @return
+ */
+ public ContextManager registerClusteredContext(final CamelContext context) {
+ clusteredContexts.add(context);
+ return this;
+ }
+
+ /**
+ * Register a context state processor to be called on start/stop of the
+ * context.
+ *
+ * @param context
+ * @param processor
+ * @return
+ */
+ public ContextManager registerContextStateProcessor(
+ final CamelContext context, final IContextStateProcessor processor) {
+ contextProcessors.put(context, processor);
+ return this;
+ }
+
+ /**
+ * Stops all contexts. Note this method can only be called once for the life
+ * of the jvm and will gracefully shut down all of camel.
+ */
+ public void stopContexts() {
+ /*
+ * flag to ensure no one else runs shutdown also stops
+ * checkClusteredContext from starting contexts once shutdown has been
+ * initiated
+ */
+ if (shuttingDown.compareAndSet(false, true)) {
+ if (springCtx == null) {
+ statusHandler
+ .info("Spring Context not set. Start up never completed, cannot orderly shutdown");
+ }
+
+ statusHandler.info("Context Manager stopping routes");
+
try {
/*
- * In camel 2.11, all contexts are "started" automatically but
- * the isAutoStartup() flag determines if the routes are
- * automatically started. The code in DefaultCamelContext is
- * safe to call start() on a second time to get the routes
- * started.
- *
- * For more information, see:
- * http://camel.465427.n5.nabble.com/Camel
- * -context-autostartup-td5721638.html
- *
- * https://issues.apache.org/jira/browse/CAMEL-5759
+ * begin immediate shutdown of routes that are not an internal
+ * type
*/
- if (!camelContext.isAutoStartup()) {
- camelContext.start();
+ LinkedList routesToStop = new LinkedList();
+ ContextData ctxData = getContextData();
+ List contexts = ctxData.getContexts();
+ List>> callbacks = new LinkedList>>();
+
+ for (final CamelContext context : contexts) {
+ /*
+ * group routes by context due to sync lock at context level
+ * for stopping a route
+ */
+ List routes = context.getRoutes();
+ if ((routes != null) && (routes.size() > 0)) {
+ for (Route route : routes) {
+ String uri = route.getEndpoint().getEndpointUri();
+ Pair typeAndName = ContextData
+ .getEndpointTypeAndName(uri);
+ String type = typeAndName.getFirst();
+ if (!internalEndpointTypes.contains(type)) {
+ routesToStop.add(route);
+ }
+ }
+ }
+ if (routesToStop.size() > 0) {
+ final IContextStateManager stateMgr = getStateManager(context);
+ final List tmp = routesToStop;
+ callbacks
+ .add(service
+ .submit(new Callable>() {
+ @Override
+ public Pair call()
+ throws Exception {
+ boolean rval = true;
+ for (Route route : tmp) {
+ try {
+ statusHandler.info("Stopping route ["
+ + route.getId()
+ + "]");
+ rval &= stateMgr
+ .stopRoute(route);
+ } catch (Exception e) {
+ statusHandler.error(
+ "Error occurred closing route: "
+ + route.getId(),
+ e);
+ }
+ }
+
+ return new Pair(
+ context, rval);
+ }
+ }));
+ routesToStop = new LinkedList();
+ }
}
- } catch (Exception e) {
- statusHandler.handle(Priority.ERROR,
- "Failed to start routes for " + camelContext.getName(),
- e);
+
+ List failures = waitForCallbacks(callbacks,
+ "Waiting for external routes to shutdown: ", 1000);
+
+ for (CamelContext failure : failures) {
+ statusHandler.error("Context [" + failure.getName()
+ + "] has routes that failed to stop");
+ }
+
+ statusHandler.info("Shutting down contexts");
+
+ for (final CamelContext context : contexts) {
+ final IContextStateManager stateManager = getStateManager(context);
+ if (stateManager.isContextStoppable(context)) {
+ callbacks
+ .add(service
+ .submit(new Callable>() {
+ @Override
+ public Pair call()
+ throws Exception {
+ boolean rval = false;
+ try {
+ statusHandler.info("Stopping context ["
+ + context.getName()
+ + "]");
+ rval = stateManager
+ .stopContext(context);
+
+ if (!rval) {
+ statusHandler.error("Context ["
+ + context
+ .getName()
+ + "] failed to stop");
+ }
+ } catch (Throwable e) {
+ statusHandler.fatal(
+ "Error occurred stopping context: "
+ + context
+ .getName(),
+ e);
+ }
+
+ return new Pair(
+ context, rval);
+ }
+ }));
+ }
+ }
+
+ failures = waitForCallbacks(callbacks,
+ "Waiting for contexts to shutdown: ", 1000);
+
+ for (CamelContext failure : failures) {
+ statusHandler.error("Context [" + failure.getName()
+ + "] had a failure trying to stop");
+ }
+ } catch (Throwable e) {
+ statusHandler.fatal("Error occurred during shutdown", e);
}
}
}
- public ContextManager register(CamelContext context) {
- contextList.add(context);
- return this;
+ /**
+ * Waits for all callbacks to finish printing a periodic message with number
+ * of remaining callbacks. Returns a list of contexts that had a failure
+ * status.
+ *
+ * @param callbacks
+ * @param message
+ * @param sleepInterval
+ * @return
+ */
+ private static List waitForCallbacks(
+ List>> callbacks,
+ String message, long sleepInterval) {
+ statusHandler.info(message + callbacks.size() + " remaining");
+ List failures = new LinkedList();
+
+ while (!callbacks.isEmpty()) {
+ boolean foundOne = false;
+
+ Iterator>> callbackIter = callbacks
+ .iterator();
+ while (callbackIter.hasNext()) {
+ Future> callback = callbackIter
+ .next();
+ if (callback.isDone()) {
+ foundOne = true;
+ callbackIter.remove();
+ try {
+ Pair val = callback.get();
+ if (!val.getSecond().booleanValue()) {
+ failures.add(val.getFirst());
+ }
+ } catch (Exception e) {
+ statusHandler.error("Failure in callback task", e);
+ }
+ }
+ }
+
+ if (!foundOne) {
+ statusHandler.info(message + callbacks.size() + " remaining");
+ try {
+ Thread.sleep(sleepInterval);
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+
+ return failures;
+ }
+
+ /**
+ * Checks the clustered contexts. If context is not running in the cluster
+ * the context will be started.
+ */
+ public void checkClusteredContexts() {
+ if (!shuttingDown.get()) {
+ for (CamelContext camelContext : clusteredContexts) {
+ boolean activateRoute = true;
+ try {
+ IContextStateManager stateManager = getStateManager(camelContext);
+
+ if (stateManager.isContextStartable(camelContext)) {
+ stateManager.startContext(camelContext);
+ } else if (stateManager.isContextStoppable(camelContext)) {
+ activateRoute = false;
+ stateManager.stopContext(camelContext);
+ }
+ } catch (Exception e) {
+ StringBuilder msg = new StringBuilder();
+ msg.append("Failed to ");
+ if (activateRoute) {
+ msg.append("start ");
+ } else {
+ msg.append("stop ");
+ }
+ msg.append("context ");
+ msg.append(camelContext.getName());
+ statusHandler.handle(Priority.ERROR, msg.toString(), e);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void setApplicationContext(ApplicationContext context)
+ throws BeansException {
+ springCtx = context;
+ }
+
+ public int getTimeOutMillis() {
+ return timeOutMillis;
+ }
+
+ public void setTimeOutMillis(int timeOutMillis) {
+ this.timeOutMillis = timeOutMillis;
+ }
+
+ public boolean isShuttingDown() {
+ return shuttingDown.get();
+ }
+
+ /**
+ * Update all camel beans to have autoStartup to false and handles quart
+ * workaround when JMX is disabled.
+ */
+ @Override
+ public void postProcessBeanFactory(
+ ConfigurableListableBeanFactory beanFactory) throws BeansException {
+ for (CamelContext ctx : beanFactory.getBeansOfType(CamelContext.class)
+ .values()) {
+ ctx.setAutoStartup(false);
+
+ if ((ctx instanceof DefaultCamelContext)
+ && (ctx.getManagementName() == null)) {
+ ((DefaultCamelContext) ctx).setManagementName(ctx.getName());
+ }
+ }
}
}
diff --git a/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/DefaultContextStateManager.java b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/DefaultContextStateManager.java
new file mode 100644
index 0000000000..e17a9e0701
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/DefaultContextStateManager.java
@@ -0,0 +1,215 @@
+/**
+ * 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.esb.camel.context;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Route;
+import org.apache.camel.ServiceStatus;
+
+import com.raytheon.uf.edex.core.IContextStateProcessor;
+
+/**
+ * Implementation of IContextStateManager that does basic validation of context
+ * status as well as handling IContextStateProcessor for startup/shutdown of
+ * contexts.
+ *
+ *
+ *
+ * @author rjpeter
+ * @version 1.0
+ */
+public class DependencyNode {
+ private final CamelContext context;
+
+ /**
+ * Contexts required by this context.
+ */
+ private final Set requiredContexs = new HashSet();
+
+ /**
+ * Contexts that depend on this context.
+ */
+ private final Set dependentContexts = new HashSet();
+
+ public DependencyNode(CamelContext context) {
+ this.context = context;
+ }
+
+ /**
+ * Add a node who is dependent on this node. Applies linking in both
+ * directions.
+ *
+ * @param dNode
+ */
+ public void addDependentNode(DependencyNode dNode) {
+ if (!requiredContexs.contains(dNode.context)) {
+ dependentContexts.add(dNode.context);
+ dNode.requiredContexs.add(context);
+ } else {
+ StringBuilder msg = new StringBuilder(300);
+ msg.append("Circular CamelContext dependency detected between ")
+ .append(context.getName())
+ .append(" and ")
+ .append(dNode.context.getName())
+ .append(". Removing dependency, startup/shutdown may be incorrect, verify configuration. ");
+ addRouteData(context, msg);
+ addRouteData(dNode.context, msg);
+ UFStatus.getHandler(DependencyNode.class).warn(msg.toString());
+ }
+ }
+
+ public CamelContext getContext() {
+ return context;
+ }
+
+ /**
+ * Get all contexts that this context requires to be running.
+ *
+ * @return
+ */
+ public Set getRequiredContexts() {
+ return requiredContexs;
+ }
+
+ /**
+ * Get all contexts that depend on this context to be running.
+ *
+ * @return
+ */
+ public Set getDependentContexts() {
+ return dependentContexts;
+ }
+
+ /**
+ * Utility method for printing information about a context.
+ *
+ * @param ctx
+ * @param builder
+ */
+ private static void addRouteData(CamelContext ctx, StringBuilder builder) {
+ builder.append("Context [").append(ctx.getName())
+ .append("] consumes from [");
+ Set consumerEndpoints = new HashSet();
+ for (Route route : ctx.getRoutes()) {
+ Endpoint endpoint = route.getEndpoint();
+ String uri = endpoint.getEndpointUri();
+ Pair typeAndName = ContextData
+ .getEndpointTypeAndName(uri);
+ String name = typeAndName.getFirst() + ":"
+ + typeAndName.getSecond();
+ builder.append(name).append(", ");
+ consumerEndpoints.add(name);
+ }
+ builder.delete(builder.length() - 2, builder.length());
+ builder.append("] and produces to [");
+ for (Endpoint endpoint : ctx.getEndpoints()) {
+ String uri = endpoint.getEndpointUri();
+ Pair typeAndName = ContextData
+ .getEndpointTypeAndName(uri);
+ String name = typeAndName.getFirst() + ":"
+ + typeAndName.getSecond();
+ if (!consumerEndpoints.contains(name)) {
+ builder.append(name).append(", ");
+ }
+ }
+ builder.delete(builder.length() - 2, builder.length());
+ builder.append("]. ");
+ }
+}
\ No newline at end of file
diff --git a/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/IContextStateManager.java b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/IContextStateManager.java
new file mode 100644
index 0000000000..65c4409b66
--- /dev/null
+++ b/edexOsgi/com.raytheon.uf.edex.esb.camel/src/com/raytheon/uf/edex/esb/camel/context/IContextStateManager.java
@@ -0,0 +1,96 @@
+/**
+ * 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.esb.camel.context;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Route;
+
+/**
+ * Represents a way for managing a context for starting and stopping. Allows for
+ * Context with different purposes to be handled independently of each other.
+ *
+ *
+ *
+ * @author rjpeter
+ * @version 1.0
+ * @param
+ * @param
+ */
+public class BoundedMap extends LinkedHashMap {
+ private static final long serialVersionUID = 1L;
+
+ private static final int DEFAULT_INITIAL_SIZE = 16;
+
+ private static final float DEFAULT_LOAD_FACTOR = 0.75f;
+
+ private final int maxSize;
+
+ /**
+ * BoundedMap with specified max size. Defaults to accessOrder elimination.
+ *
+ * @param maxSize
+ */
+ public BoundedMap(int maxSize) {
+ this(maxSize, DEFAULT_INITIAL_SIZE, DEFAULT_LOAD_FACTOR, true);
+ }
+
+ /**
+ * BoundedMap with specified initial and max size. Defaults to accessOrder
+ * elimination.
+ *
+ * @param maxSize
+ * @param initialSize
+ */
+ public BoundedMap(int maxSize, int initialSize) {
+ this(maxSize, initialSize, DEFAULT_LOAD_FACTOR, true);
+ }
+
+ /**
+ * BoundedMap with specified initial size, max size, and loadFactor.
+ * Defaults to accessOrder elimination.
+ *
+ * @param maxSize
+ * @param initialSize
+ * @param loadFactor
+ */
+ public BoundedMap(int maxSize, int initialSize, float loadFactor) {
+ this(maxSize, initialSize, loadFactor, true);
+ }
+
+ /**
+ * BoundedMap with specified initial size, max size, loadFactor, and
+ * accessOrder elimination. If accessOrder is true, map is order by
+ * accessOrder, false is insertion order.
+ *
+ * @param maxSize
+ * @param initialSize
+ * @param loadFactor
+ * @param accessOrder
+ */
+ public BoundedMap(int maxSize, int initialSize, float loadFactor,
+ boolean accessOrder) {
+ super(initialSize, loadFactor, accessOrder);
+ this.maxSize = maxSize;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.util.LinkedHashMap#removeEldestEntry(java.util.Map.Entry)
+ */
+ @Override
+ protected boolean removeEldestEntry(Entry eldest) {
+ return size() > maxSize;
+ }
+}
From f086bb0c9bac8e1981e9c3250aeb773a583f5b92 Mon Sep 17 00:00:00 2001
From: Nate Jensen
Date: Mon, 14 Apr 2014 14:28:11 -0500
Subject: [PATCH 015/188] Issue #2984 remove uEngineWeb, move gfe svc backup
files to viz.gfe plugin
Change-Id: I8fcd61af003366405b4b40661bb7e471bf03c64a
Former-commit-id: e2feed87185e15d9e681ca0155b03d1d9ff29e25
---
.../help/GfeServiceBackup}/INSTRUCTIONS | 0
.../GfeServiceBackup}/banner_exprtGrdMode.gif | Bin
.../GfeServiceBackup}/banner_exprtMode.gif | Bin
.../banner_exprtbksiteGrdMode.gif | Bin
.../banner_exprtbksiteGrdToCSMode.gif | Bin
.../help/GfeServiceBackup}/banner_ghgMode.gif | Bin
.../GfeServiceBackup}/banner_imprtGrdMode.gif | Bin
.../GfeServiceBackup}/banner_imprtMode.gif | Bin
.../GfeServiceBackup}/banner_no_backup.gif | Bin
.../GfeServiceBackup}/banner_svcbuMode.gif | Bin
.../GfeServiceBackup}/banner_waitMode.gif | Bin
.../help/GfeServiceBackup}/choose_domain.jpg | Bin
.../choose_domain_multi1.jpg | Bin
.../choose_domain_multi2.jpg | Bin
.../help/GfeServiceBackup}/clean_up.gif | Bin
.../help/GfeServiceBackup}/do_not_cancel.gif | Bin
.../help/GfeServiceBackup}/failed_site.jpg | Bin
.../help/GfeServiceBackup}/gfe_startup.gif | Bin
.../GfeServiceBackup}/multi_exprtGrdMode.gif | Bin
.../GfeServiceBackup}/multi_exprtMode.gif | Bin
.../multi_exprtbksiteGrdMode.gif | Bin
.../multi_exprtbksiteGrdToCSMode.gif | Bin
.../help/GfeServiceBackup}/multi_ghgMode.gif | Bin
.../GfeServiceBackup}/multi_imprtGrdMode.gif | Bin
.../GfeServiceBackup}/multi_imprtMode.gif | Bin
.../GfeServiceBackup}/multi_no_backup.gif | Bin
.../GfeServiceBackup}/multi_svcbuMode.gif | Bin
.../help/GfeServiceBackup}/multi_waitMode.gif | Bin
.../help/GfeServiceBackup}/option_both.jpg | Bin
.../help/GfeServiceBackup}/option_gfe.jpg | Bin
.../help/GfeServiceBackup}/option_import.jpg | Bin
.../GfeServiceBackup}/option_import_gfe.jpg | Bin
.../option_import_no_gfe.jpg | Bin
.../help/GfeServiceBackup}/option_none.jpg | Bin
.../help/GfeServiceBackup}/svcbu_faq.html | 0
.../help/GfeServiceBackup}/svcbu_help.html | 0
.../GfeServiceBackup}/svcbu_instructions.html | 0
.../GfeServiceBackup}/svcbu_multidom.html | 0
.../GfeServiceBackup}/xmessage_faq_01.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_02.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_03.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_04.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_05.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_06.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_07.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_08.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_09.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_10.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_11.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_12.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_13.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_14.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_15.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_16.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_17.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_18.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_19.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_20.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_21.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_22.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_23.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_24.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_25.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_26.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_27.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_28.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_29.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_30.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_31.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_32.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_33.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_34.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_35.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_36.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_37.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_38.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_39.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_40.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_41.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_42.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_43.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_44.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_45.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_46.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_47.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_48.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_49.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_50.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_51.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_52.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_53.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_54.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_55.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_56.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_57.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_58.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_59.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_60.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_61.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_62.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_63.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_64.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_65.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_66.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_67.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_68.jpg | Bin
.../GfeServiceBackup}/xmessage_faq_69.gif | Bin
.../GfeServiceBackup}/xmessage_faq_70.gif | Bin
.../GfeServiceBackup}/xmessage_faq_71.gif | Bin
.../GfeServiceBackup}/xmessage_faq_72.gif | Bin
.../GfeServiceBackup}/xmessage_faq_73.gif | Bin
.../GfeServiceBackup}/xmessage_faq_74.gif | Bin
.../GfeServiceBackup}/xmessage_faq_75.gif | Bin
.../GfeServiceBackup}/xmessage_faq_76.gif | Bin
.../GfeServiceBackup}/xmessage_faq_77.gif | Bin
.../GfeServiceBackup}/xmessage_faq_78.gif | Bin
.../GfeServiceBackup}/xmessage_faq_79.gif | Bin
.../GfeServiceBackup}/xmessage_faq_80.gif | Bin
.../GfeServiceBackup}/xmessage_faq_81.gif | Bin
.../GfeServiceBackup}/xmessage_faq_82.gif | Bin
.../GfeServiceBackup}/xmessage_inst_01.jpg | Bin
.../GfeServiceBackup}/xmessage_inst_02.jpg | Bin
.../GfeServiceBackup}/xmessage_inst_03.jpg | Bin
.../GfeServiceBackup}/xmessage_inst_04.jpg | Bin
.../xmessage_multidom_01.jpg | Bin
.../xmessage_multidom_02.jpg | Bin
.../xmessage_multidom_03.jpg | Bin
.../xmessage_multidom_04.jpg | Bin
.../xmessage_multidom_05.jpg | Bin
.../xmessage_multidom_06.jpg | Bin
.../viz/gfe/dialogs/sbu/ServiceBackupDlg.java | 56 +-
.../esb/conf/res/response-ngats.xml | 28 -
edexOsgi/build.edex/esb/conf/wrapper.conf | 4 -
.../esb/webapps/admin/META-INF/LICENSE | 1026 ----
.../esb/webapps/admin/META-INF/NOTICE | 107 -
.../esb/webapps/admin/WEB-INF/decorators.xml | 49 -
.../admin/WEB-INF/dispatcher-servlet.xml | 80 -
.../admin/WEB-INF/jspf/headertags.jspf | 21 -
.../esb/webapps/admin/WEB-INF/jspf/old.jspf | 21 -
.../admin/WEB-INF/tags/form/checkbox.tag | 18 -
.../WEB-INF/tags/form/forEachMapEntry.tag | 29 -
.../admin/WEB-INF/tags/form/option.tag | 20 -
.../webapps/admin/WEB-INF/tags/form/short.tag | 27 -
.../webapps/admin/WEB-INF/tags/form/text.tag | 28 -
.../admin/WEB-INF/tags/form/tooltip.tag | 29 -
.../webapps/admin/WEB-INF/tags/form/uri.tag | 18 -
.../admin/WEB-INF/tags/jms/forEachMessage.tag | 34 -
.../WEB-INF/tags/jms/formatTimestamp.tag | 29 -
.../admin/WEB-INF/tags/jms/persistent.tag | 27 -
.../esb/webapps/admin/WEB-INF/web.xml | 181 -
.../admin/WEB-INF/webconsole-default.xml | 45 -
.../admin/WEB-INF/webconsole-embedded.xml | 56 -
.../webapps/admin/WEB-INF/webconsole-invm.xml | 62 -
.../webapps/admin/WEB-INF/webconsole-jndi.xml | 65 -
.../admin/WEB-INF/webconsole-properties.xml | 64 -
.../build.edex/esb/webapps/admin/browse.jsp | 68 -
.../esb/webapps/admin/decorators/main.jsp | 149 -
.../esb/webapps/admin/decorators/panel.jsp | 31 -
.../webapps/admin/decorators/printable.jsp | 31 -
.../build.edex/esb/webapps/admin/graph.jsp | 67 -
.../webapps/admin/images/activemq-logo.png | Bin 6819 -> 0 bytes
.../esb/webapps/admin/images/asf-logo.png | Bin 4735 -> 0 bytes
.../esb/webapps/admin/images/big-bullet.png | Bin 325 -> 0 bytes
.../admin/images/black-footer-bottom.png | Bin 265 -> 0 bytes
.../admin/images/black-footer-left.png | Bin 433 -> 0 bytes
.../admin/images/black-footer-right.png | Bin 473 -> 0 bytes
.../webapps/admin/images/bottom-red-bar.png | Bin 282 -> 0 bytes
.../esb/webapps/admin/images/checker-bg.png | Bin 25888 -> 0 bytes
.../esb/webapps/admin/images/content-left.png | Bin 231 -> 0 bytes
.../webapps/admin/images/content-right.png | Bin 249 -> 0 bytes
.../esb/webapps/admin/images/feed_atom.png | Bin 1548 -> 0 bytes
.../esb/webapps/admin/images/feed_rss.png | Bin 1488 -> 0 bytes
.../webapps/admin/images/left-box-bottom.png | Bin 430 -> 0 bytes
.../webapps/admin/images/left-box-right.png | Bin 248 -> 0 bytes
.../esb/webapps/admin/images/left-box-top.png | Bin 376 -> 0 bytes
.../esb/webapps/admin/images/oval-arrow.png | Bin 3878 -> 0 bytes
.../webapps/admin/images/right-box-bottom.png | Bin 390 -> 0 bytes
.../webapps/admin/images/right-box-left.png | Bin 248 -> 0 bytes
.../webapps/admin/images/right-box-top.png | Bin 415 -> 0 bytes
.../admin/images/small-bullet-gray.png | Bin 215 -> 0 bytes
.../webapps/admin/images/small-bullet-red.png | Bin 215 -> 0 bytes
.../esb/webapps/admin/images/spacer.gif | Bin 43 -> 0 bytes
.../esb/webapps/admin/images/top-red-bar.png | Bin 233 -> 0 bytes
.../admin/images/white-header-left.png | Bin 317 -> 0 bytes
.../admin/images/white-header-right.png | Bin 362 -> 0 bytes
.../webapps/admin/images/white-header-top.png | Bin 248 -> 0 bytes
.../build.edex/esb/webapps/admin/index.jsp | 61 -
.../build.edex/esb/webapps/admin/js/common.js | 121 -
.../build.edex/esb/webapps/admin/js/css.js | 145 -
.../esb/webapps/admin/js/mochi/MochiKit.js | 4804 -----------------
.../esb/webapps/admin/js/mochi/__package__.js | 14 -
.../esb/webapps/admin/js/plotkit/Base.js | 332 --
.../esb/webapps/admin/js/plotkit/Canvas.js | 707 ---
.../esb/webapps/admin/js/plotkit/Layout.js | 588 --
.../esb/webapps/admin/js/plotkit/SVG.js | 677 ---
.../webapps/admin/js/plotkit/SweetCanvas.js | 281 -
.../esb/webapps/admin/js/plotkit/SweetSVG.js | 196 -
.../esb/webapps/admin/js/plotkit/dummy.svg | 15 -
.../esb/webapps/admin/js/plotkit/iecanvas.htc | 389 --
.../admin/js/standardista-table-sorting.js | 428 --
.../build.edex/esb/webapps/admin/message.jsp | 186 -
.../esb/webapps/admin/queueGraph.jsp | 68 -
.../build.edex/esb/webapps/admin/queues.jsp | 78 -
.../build.edex/esb/webapps/admin/send.jsp | 144 -
.../esb/webapps/admin/styles/site.css | 206 -
.../esb/webapps/admin/styles/sorttable.css | 70 -
.../webapps/admin/styles/type-settings.css | 171 -
.../esb/webapps/admin/subscribers.jsp | 115 -
.../esb/webapps/admin/test/dummy.jsp | 52 -
.../esb/webapps/admin/test/index.jsp | 84 -
.../webapps/admin/test/systemProperties.jsp | 53 -
.../build.edex/esb/webapps/admin/topics.jsp | 65 -
.../esb/webapps/admin/xml/queues.jsp | 34 -
.../res/NGATS_binding.xsd | 232 -
.../res/spring/uengine-request.xml | 50 -
.../META-INF/MANIFEST.MF | 13 +-
.../NGATS_Schema.xsd | 230 -
.../scripts/ObAndTaf.js | 53 -
.../scripts/SpatialQueryDemo.js | 106 -
.../scripts/applicationExecute.js | 41 -
.../scripts/compactBarnesAnalysisWinds.js | 169 -
.../compactBarnesTemperatureAnalysis.js | 26 -
.../scripts/compactFilteredImage.js | 10 -
.../scripts/compactHelloWorld.js | 5 -
.../scripts/compactImageFormat.js | 7 -
.../scripts/compactStopLightImage.js | 10 -
.../scripts/compactWindSpeedImage.js | 110 -
.../scripts/compactWindStopLight.js | 14 -
.../scripts/helloWorld.js | 26 -
.../scripts/makeASCIIandImage.js | 38 -
.../scripts/makeBarnesAnalysisWinds.js | 386 --
.../scripts/makeBarnesTemperatureAnalysis.js | 184 -
.../scripts/makeFilteredImage.js | 133 -
.../scripts/makeStopLightImage.js | 124 -
.../scripts/makeWindSpeedImage.js | 261 -
.../scripts/makeWindStopLight.js | 155 -
.../scripts/sampleVtecEventUpdate.js | 12 -
.../scripts/sampleVtecObjectRetrieval.js | 13 -
.../scripts/sampleVtecRetrieval.js | 12 -
.../scripts/scriptExecute.js | 31 -
.../scripts/testMessageFormat.js | 83 -
.../com/raytheon/edex/uengine/Activator.java | 41 -
.../com/raytheon/edex/uengine/TaskParam.java | 84 -
.../edex/uengine/chain/ChainAttributes.java | 138 -
.../chain/SpatialChaindataAdapter.java | 529 --
.../edex/uengine/chain/package-info.java | 26 -
.../uengine/subscription/Subscription.java | 106 -
.../uengine/tasks/process/ExecuteCommand.java | 108 -
.../edex/uengine/web/RequestTestDriver.java | 507 --
.../raytheon/edex/uengine/web/RunAction.java | 1609 ------
.../edex/uengine/web/ScriptTestDriver.java | 123 -
.../edex/uengine/web/TestDataDriver.java | 161 -
.../src/test/JmsEngineTest.java | 184 -
.../src/test/ProducerTool.javaorg | 158 -
.../src/test/ToolSupport.java | 107 -
.../src/test/build.xml | 49 -
.../src/test/imageDecodeAction.xml | 17 -
.../com.raytheon.edex.uengine/testScript.bat | 12 -
edexOsgi/com.raytheon.edex.uengine/web.deploy | 1 -
.../web/AsciiInterface.js | 133 -
.../web/GridInterface.js | 234 -
.../web/HelloWorld.jsp | 61 -
.../web/METARandTAF.jsp | 124 -
.../web/RadarInterface.js | 178 -
.../web/SatelliteInterface.js | 153 -
.../web/StringBuffer.js | 12 -
.../web/TestDriverUI.js | 13 -
.../web/WEB-INF/classes/log4j.properties | 16 -
.../web/WEB-INF/dwr.xml | 27 -
.../web/WEB-INF/web.xml | 59 -
.../web/applicationExecute.jsp | 92 -
.../web/asciiDemoUnsubscribe.jsp | 81 -
.../web/compactBarnesAnalysisWinds.jsp | 249 -
.../web/compactBarnesTemperature.jsp | 100 -
.../web/compactFilteredImage.jsp | 85 -
.../web/compactMessageFormat.jsp | 78 -
.../web/compactSpatialQuery.jsp | 82 -
.../web/compactStopLightImage.jsp | 86 -
.../web/compactStopLightWinds.jsp | 91 -
.../web/compactWindSpeedImage.jsp | 188 -
.../web/dataPurge/dataPurge.html | 132 -
.../com.raytheon.edex.uengine/web/expand.gif | Bin 870 -> 0 bytes
.../web/getASCII.jsp | 89 -
.../web/goesDemoSubscribe.jsp | 148 -
.../web/goesDemoUnsubscribe.jsp | 72 -
.../web/gribDemoUnsubscribe.jsp | 72 -
.../com.raytheon.edex.uengine/web/hide.gif | Bin 868 -> 0 bytes
.../com.raytheon.edex.uengine/web/index.html | 457 --
.../com.raytheon.edex.uengine/web/index.jsp | 194 -
.../web/jsGetVTECAction.jsp | 82 -
.../web/jsGetVTECActionNew.jsp | 83 -
.../web/jsRunScript.jsp | 70 -
.../web/jsUnsubscribe.jsp | 63 -
.../web/jsVTECEventQuery.jsp | 100 -
.../web/jsVTECEventUpdate.jsp | 103 -
.../web/makeASCIIandImage.jsp | 116 -
.../web/makeBarnesAnalysisWinds.jsp | 466 --
.../web/makeBarnesTemperature.jsp | 263 -
.../web/makeEventUpdate.jsp | 90 -
.../web/makeFilteredImage.jsp | 204 -
.../web/makeHelloWorld.jsp | 114 -
.../web/makeSpatialQuery.jsp | 165 -
.../web/makeStopLightImage.jsp | 200 -
.../web/makeStopLightWinds.jsp | 223 -
.../web/makeWindSpeedImage.jsp | 336 --
.../web/radarSubscribe.jsp | 151 -
.../web/radarUnsubscribe.jsp | 84 -
.../web/rayAWIPS.jpg | Bin 5217 -> 0 bytes
.../web/scriptExecute.jsp | 92 -
.../web/simpleGrib.jsp | 174 -
edexOsgi/com.raytheon.edex.uengine/web/td.css | 51 -
.../web/templates/VM_global_library.vm | 204 -
.../web/templates/standardTemplate.vm | 18 -
.../web/testDriverControls.js | 347 --
.../web/testMessageFormat.jsp | 152 -
315 files changed, 27 insertions(+), 26278 deletions(-)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/INSTRUCTIONS (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_exprtGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_exprtMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_exprtbksiteGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_exprtbksiteGrdToCSMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_ghgMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_imprtGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_imprtMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_no_backup.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_svcbuMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/banner_waitMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/choose_domain.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/choose_domain_multi1.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/choose_domain_multi2.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/clean_up.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/do_not_cancel.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/failed_site.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/gfe_startup.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_exprtGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_exprtMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_exprtbksiteGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_exprtbksiteGrdToCSMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_ghgMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_imprtGrdMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_imprtMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_no_backup.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_svcbuMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/multi_waitMode.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_both.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_gfe.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_import.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_import_gfe.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_import_no_gfe.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/option_none.jpg (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/svcbu_faq.html (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/svcbu_help.html (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/svcbu_instructions.html (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/svcbu_multidom.html (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_01.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_02.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_03.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_04.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_05.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_06.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_07.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_08.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_09.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_10.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_11.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_12.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_13.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_14.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_15.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_16.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_17.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_18.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_19.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_20.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_21.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_22.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_23.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_24.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_25.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_26.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_27.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_28.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_29.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_30.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_31.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_32.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_33.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_34.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_35.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_36.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_37.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_38.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_39.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_40.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_41.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_42.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_43.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_44.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_45.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_46.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_47.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_48.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_49.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_50.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_51.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_52.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_53.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_54.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_55.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_56.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_57.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_58.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_59.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_60.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_61.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_62.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_63.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_64.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_65.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_66.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_67.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_68.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_69.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_70.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_71.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_72.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_73.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_74.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_75.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_76.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_77.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_78.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_79.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_80.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_81.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_faq_82.gif (100%)
mode change 100755 => 100644
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_inst_01.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_inst_02.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_inst_03.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_inst_04.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_01.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_02.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_03.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_04.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_05.jpg (100%)
rename {edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help => cave/com.raytheon.viz.gfe/help/GfeServiceBackup}/xmessage_multidom_06.jpg (100%)
delete mode 100755 edexOsgi/build.edex/esb/conf/res/response-ngats.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/META-INF/LICENSE
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/META-INF/NOTICE
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/decorators.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/dispatcher-servlet.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/headertags.jspf
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/old.jspf
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/checkbox.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/option.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/short.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/text.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/tooltip.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/uri.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/persistent.tag
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/web.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-default.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-embedded.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-invm.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-jndi.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-properties.xml
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/browse.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/decorators/main.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/decorators/panel.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/decorators/printable.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/graph.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/activemq-logo.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/asf-logo.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/big-bullet.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/black-footer-bottom.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/black-footer-left.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/black-footer-right.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/bottom-red-bar.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/checker-bg.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/content-left.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/content-right.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/feed_atom.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/feed_rss.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/left-box-bottom.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/left-box-right.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/left-box-top.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/oval-arrow.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/right-box-bottom.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/right-box-left.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/right-box-top.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/small-bullet-gray.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/small-bullet-red.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/spacer.gif
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/top-red-bar.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/white-header-left.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/white-header-right.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/images/white-header-top.png
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/index.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/common.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/css.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/mochi/MochiKit.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/mochi/__package__.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/Base.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/Canvas.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/Layout.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/SVG.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/SweetCanvas.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/SweetSVG.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/dummy.svg
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/plotkit/iecanvas.htc
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/js/standardista-table-sorting.js
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/message.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/queueGraph.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/queues.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/send.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/styles/site.css
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/styles/sorttable.css
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/styles/type-settings.css
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/subscribers.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/test/dummy.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/test/index.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/test/systemProperties.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/topics.jsp
delete mode 100644 edexOsgi/build.edex/esb/webapps/admin/xml/queues.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.common/res/NGATS_binding.xsd
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/NGATS_Schema.xsd
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/ObAndTaf.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/SpatialQueryDemo.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/applicationExecute.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactBarnesAnalysisWinds.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactBarnesTemperatureAnalysis.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactFilteredImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactHelloWorld.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactImageFormat.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactStopLightImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactWindSpeedImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/compactWindStopLight.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/helloWorld.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeASCIIandImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeBarnesAnalysisWinds.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeBarnesTemperatureAnalysis.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeFilteredImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeStopLightImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeWindSpeedImage.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/makeWindStopLight.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/sampleVtecEventUpdate.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/sampleVtecObjectRetrieval.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/sampleVtecRetrieval.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/scriptExecute.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/scripts/testMessageFormat.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/Activator.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/TaskParam.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/chain/ChainAttributes.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/chain/SpatialChaindataAdapter.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/chain/package-info.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/subscription/Subscription.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/tasks/process/ExecuteCommand.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/web/RequestTestDriver.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/web/RunAction.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/web/ScriptTestDriver.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/com/raytheon/edex/uengine/web/TestDataDriver.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/test/JmsEngineTest.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/test/ProducerTool.javaorg
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/test/ToolSupport.java
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/test/build.xml
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/src/test/imageDecodeAction.xml
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/testScript.bat
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web.deploy
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/AsciiInterface.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/GridInterface.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/HelloWorld.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/METARandTAF.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/RadarInterface.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/SatelliteInterface.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/StringBuffer.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/TestDriverUI.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/WEB-INF/classes/log4j.properties
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/WEB-INF/dwr.xml
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/WEB-INF/web.xml
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/applicationExecute.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/asciiDemoUnsubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactBarnesAnalysisWinds.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactBarnesTemperature.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactFilteredImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactMessageFormat.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactSpatialQuery.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactStopLightImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactStopLightWinds.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/compactWindSpeedImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/dataPurge/dataPurge.html
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/expand.gif
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/getASCII.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/goesDemoSubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/goesDemoUnsubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/gribDemoUnsubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/hide.gif
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/index.html
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/index.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsGetVTECAction.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsGetVTECActionNew.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsRunScript.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsUnsubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsVTECEventQuery.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/jsVTECEventUpdate.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeASCIIandImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeBarnesAnalysisWinds.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeBarnesTemperature.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeEventUpdate.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeFilteredImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeHelloWorld.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeSpatialQuery.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeStopLightImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeStopLightWinds.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/makeWindSpeedImage.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/radarSubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/radarUnsubscribe.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/rayAWIPS.jpg
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/scriptExecute.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/simpleGrib.jsp
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/td.css
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/templates/VM_global_library.vm
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/templates/standardTemplate.vm
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/testDriverControls.js
delete mode 100644 edexOsgi/com.raytheon.edex.uengine/web/testMessageFormat.jsp
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/INSTRUCTIONS b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/INSTRUCTIONS
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/INSTRUCTIONS
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/INSTRUCTIONS
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtbksiteGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtbksiteGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtbksiteGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtbksiteGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtbksiteGrdToCSMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtbksiteGrdToCSMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_exprtbksiteGrdToCSMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_exprtbksiteGrdToCSMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_ghgMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_ghgMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_ghgMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_ghgMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_imprtGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_imprtGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_imprtGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_imprtGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_imprtMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_imprtMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_imprtMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_imprtMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_no_backup.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_no_backup.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_no_backup.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_no_backup.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_svcbuMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_svcbuMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_svcbuMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_svcbuMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_waitMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_waitMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/banner_waitMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/banner_waitMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain_multi1.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain_multi1.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain_multi1.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain_multi1.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain_multi2.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain_multi2.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/choose_domain_multi2.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/choose_domain_multi2.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/clean_up.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/clean_up.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/clean_up.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/clean_up.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/do_not_cancel.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/do_not_cancel.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/do_not_cancel.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/do_not_cancel.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/failed_site.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/failed_site.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/failed_site.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/failed_site.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/gfe_startup.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/gfe_startup.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/gfe_startup.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/gfe_startup.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtbksiteGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtbksiteGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtbksiteGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtbksiteGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtbksiteGrdToCSMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtbksiteGrdToCSMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_exprtbksiteGrdToCSMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_exprtbksiteGrdToCSMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_ghgMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_ghgMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_ghgMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_ghgMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_imprtGrdMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_imprtGrdMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_imprtGrdMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_imprtGrdMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_imprtMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_imprtMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_imprtMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_imprtMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_no_backup.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_no_backup.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_no_backup.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_no_backup.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_svcbuMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_svcbuMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_svcbuMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_svcbuMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_waitMode.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_waitMode.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/multi_waitMode.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/multi_waitMode.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_both.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_both.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_both.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_both.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_gfe.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_gfe.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_gfe.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_gfe.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import_gfe.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import_gfe.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import_gfe.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import_gfe.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import_no_gfe.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import_no_gfe.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_import_no_gfe.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_import_no_gfe.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_none.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_none.jpg
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/option_none.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/option_none.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_faq.html b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_faq.html
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_faq.html
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_faq.html
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_help.html b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_help.html
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_help.html
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_help.html
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_instructions.html b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_instructions.html
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_instructions.html
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_instructions.html
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_multidom.html b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_multidom.html
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/svcbu_multidom.html
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/svcbu_multidom.html
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_01.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_01.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_01.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_01.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_02.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_02.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_02.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_02.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_03.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_03.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_03.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_03.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_04.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_04.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_04.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_04.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_05.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_05.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_05.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_05.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_06.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_06.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_06.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_06.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_07.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_07.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_07.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_07.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_08.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_08.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_08.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_08.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_09.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_09.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_09.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_09.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_10.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_10.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_10.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_10.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_11.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_11.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_11.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_11.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_12.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_12.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_12.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_12.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_13.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_13.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_13.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_13.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_14.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_14.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_14.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_14.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_15.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_15.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_15.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_15.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_16.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_16.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_16.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_16.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_17.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_17.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_17.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_17.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_18.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_18.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_18.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_18.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_19.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_19.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_19.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_19.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_20.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_20.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_20.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_20.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_21.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_21.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_21.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_21.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_22.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_22.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_22.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_22.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_23.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_23.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_23.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_23.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_24.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_24.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_24.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_24.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_25.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_25.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_25.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_25.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_26.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_26.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_26.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_26.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_27.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_27.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_27.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_27.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_28.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_28.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_28.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_28.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_29.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_29.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_29.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_29.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_30.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_30.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_30.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_30.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_31.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_31.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_31.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_31.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_32.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_32.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_32.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_32.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_33.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_33.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_33.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_33.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_34.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_34.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_34.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_34.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_35.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_35.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_35.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_35.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_36.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_36.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_36.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_36.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_37.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_37.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_37.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_37.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_38.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_38.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_38.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_38.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_39.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_39.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_39.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_39.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_40.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_40.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_40.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_40.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_41.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_41.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_41.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_41.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_42.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_42.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_42.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_42.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_43.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_43.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_43.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_43.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_44.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_44.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_44.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_44.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_45.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_45.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_45.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_45.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_46.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_46.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_46.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_46.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_47.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_47.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_47.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_47.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_48.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_48.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_48.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_48.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_49.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_49.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_49.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_49.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_50.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_50.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_50.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_50.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_51.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_51.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_51.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_51.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_52.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_52.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_52.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_52.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_53.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_53.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_53.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_53.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_54.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_54.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_54.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_54.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_55.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_55.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_55.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_55.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_56.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_56.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_56.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_56.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_57.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_57.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_57.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_57.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_58.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_58.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_58.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_58.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_59.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_59.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_59.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_59.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_60.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_60.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_60.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_60.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_61.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_61.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_61.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_61.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_62.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_62.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_62.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_62.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_63.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_63.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_63.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_63.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_64.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_64.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_64.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_64.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_65.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_65.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_65.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_65.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_66.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_66.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_66.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_66.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_67.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_67.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_67.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_67.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_68.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_68.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_68.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_68.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_69.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_69.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_69.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_69.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_70.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_70.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_70.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_70.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_71.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_71.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_71.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_71.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_72.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_72.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_72.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_72.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_73.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_73.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_73.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_73.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_74.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_74.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_74.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_74.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_75.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_75.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_75.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_75.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_76.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_76.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_76.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_76.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_77.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_77.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_77.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_77.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_78.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_78.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_78.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_78.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_79.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_79.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_79.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_79.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_80.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_80.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_80.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_80.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_81.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_81.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_81.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_81.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_82.gif b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_82.gif
old mode 100755
new mode 100644
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_faq_82.gif
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_faq_82.gif
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_01.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_01.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_01.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_01.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_02.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_02.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_02.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_02.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_03.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_03.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_03.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_03.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_04.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_04.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_inst_04.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_inst_04.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_01.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_01.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_01.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_01.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_02.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_02.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_02.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_02.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_03.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_03.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_03.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_03.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_04.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_04.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_04.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_04.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_05.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_05.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_05.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_05.jpg
diff --git a/edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_06.jpg b/cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_06.jpg
similarity index 100%
rename from edexOsgi/com.raytheon.edex.uengine/web/GfeServiceBackup/help/xmessage_multidom_06.jpg
rename to cave/com.raytheon.viz.gfe/help/GfeServiceBackup/xmessage_multidom_06.jpg
diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/sbu/ServiceBackupDlg.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/sbu/ServiceBackupDlg.java
index e5c4cdc731..a417cb2c2a 100644
--- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/sbu/ServiceBackupDlg.java
+++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/sbu/ServiceBackupDlg.java
@@ -19,8 +19,11 @@
**/
package com.raytheon.viz.gfe.dialogs.sbu;
+import java.io.FileNotFoundException;
+import java.net.URL;
import java.util.List;
+import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -48,10 +51,10 @@ import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
+import org.osgi.framework.Bundle;
import com.raytheon.uf.common.dataplugin.gfe.request.GetKnownSitesRequest;
import com.raytheon.uf.common.dataplugin.gfe.request.GetSbLockFilesRequest;
-import com.raytheon.uf.common.dataplugin.gfe.request.GetServiceBackupServerRequest;
import com.raytheon.uf.common.dataplugin.gfe.server.message.ServerResponse;
import com.raytheon.uf.common.site.requests.GetActiveSitesRequest;
import com.raytheon.uf.common.status.IUFStatusHandler;
@@ -63,6 +66,7 @@ import com.raytheon.uf.viz.core.auth.UserController;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.localization.LocalizationManager;
import com.raytheon.uf.viz.core.requests.ThriftClient;
+import com.raytheon.viz.gfe.Activator;
import com.raytheon.viz.gfe.dialogs.sbu.jobs.ServiceBackupJobManager;
import com.raytheon.viz.gfe.dialogs.sbu.jobs.SvcbuActivateSiteJob;
import com.raytheon.viz.gfe.dialogs.sbu.jobs.SvcbuCleanupJob;
@@ -94,6 +98,7 @@ import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
* from A1 DR 21404, some code cleanup.
* May 01, 2013 1762 dgilling Remove national center check.
* Jul 22, 2013 1762 dgilling Fix running as primary check.
+ * Apr 14, 2014 2984 njensen Moved help files to viz.gfe plugin
*
*
*
@@ -342,12 +347,7 @@ public class ServiceBackupDlg extends CaveJFACEDialog {
helpItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- final String url = "http://"
- + getServiceBackupServer()
- + ":8080/uEngineWeb/GfeServiceBackup/help/svcbu_help.html";
- if (!Program.launch(url)) {
- statusHandler.error("Unable to open Help page: " + url);
- }
+ openHelp("help/GfeServiceBackup/svcbu_help.html");
}
});
@@ -356,13 +356,7 @@ public class ServiceBackupDlg extends CaveJFACEDialog {
instructionsItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- final String url = "http://"
- + getServiceBackupServer()
- + ":8080/uEngineWeb/GfeServiceBackup/help/svcbu_instructions.html";
- if (!Program.launch(url)) {
- statusHandler.error("Unable to open Instructions page: "
- + url);
- }
+ openHelp("help/GfeServiceBackup/svcbu_instructions.html");
}
});
@@ -371,12 +365,7 @@ public class ServiceBackupDlg extends CaveJFACEDialog {
faqItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- final String url = "http://"
- + getServiceBackupServer()
- + ":8080/uEngineWeb/GfeServiceBackup/help/svcbu_faq.html";
- if (!Program.launch(url)) {
- statusHandler.error("Unable to open FAQ page: " + url);
- }
+ openHelp("help/GfeServiceBackup/svcbu_faq.html");
}
});
@@ -1207,19 +1196,22 @@ public class ServiceBackupDlg extends CaveJFACEDialog {
this.getShell().pack(true);
}
- private String getServiceBackupServer() {
- GetServiceBackupServerRequest request = new GetServiceBackupServerRequest();
- try {
- String obj = (String) ThriftClient.sendRequest(request);
- return obj;
- } catch (VizException e) {
- statusHandler.handle(Priority.PROBLEM,
- "Error processing get service backup server request", e);
- }
- return "dx3";
- }
-
private void displayMessage(String msg) {
MessageDialog.openWarning(getShell(), "Warning", msg);
}
+
+ private void openHelp(String helpPath) {
+ try {
+ Bundle bundle = Activator.getDefault().getBundle();
+ URL url = bundle.getEntry(helpPath);
+ if (url == null) {
+ throw new FileNotFoundException(helpPath);
+ }
+ url = FileLocator.toFileURL(url);
+ Program.launch(url.toString());
+ } catch (Exception e) {
+ statusHandler.handle(Priority.PROBLEM, "Error loading help "
+ + helpPath, e);
+ }
+ }
}
diff --git a/edexOsgi/build.edex/esb/conf/res/response-ngats.xml b/edexOsgi/build.edex/esb/conf/res/response-ngats.xml
deleted file mode 100755
index 374b50058a..0000000000
--- a/edexOsgi/build.edex/esb/conf/res/response-ngats.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
- RESP_NGATS
-
-
diff --git a/edexOsgi/build.edex/esb/conf/wrapper.conf b/edexOsgi/build.edex/esb/conf/wrapper.conf
index a42d5cf480..a66a88932d 100644
--- a/edexOsgi/build.edex/esb/conf/wrapper.conf
+++ b/edexOsgi/build.edex/esb/conf/wrapper.conf
@@ -135,10 +135,6 @@ wrapper.java.additional.log.4=-Dcom.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_L
# to get java.util.logging to go into slf4j....don't use java.util.logging, this is only for open src plugins using it
wrapper.java.additional.log.5=-Djava.util.logging.config.file=${EDEX_HOME}/conf/logging.properties
-# used by uengineWeb page
-wrapper.java.additional.web.1=-Dweb.port=8080
-wrapper.java.additional.web.2=-Dconfidential.port=8443
-
# the max size in MB of any stream sent to thrift, this prevents the OutOfMemory
# errors reported by thrift sometimes when the stream is corrupt/incorrect
wrapper.java.additional.thrift.maxStreamSize=-Dthrift.stream.maxsize=200
diff --git a/edexOsgi/build.edex/esb/webapps/admin/META-INF/LICENSE b/edexOsgi/build.edex/esb/webapps/admin/META-INF/LICENSE
deleted file mode 100644
index 8731741981..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/META-INF/LICENSE
+++ /dev/null
@@ -1,1026 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-=========================================================================
-== For the MochiKit library ==
-=========================================================================
-
-MochiKit is dual-licensed software. It is available under the terms of the
-MIT License, or the Academic Free License version 2.1. The full text of
-each license is included below.
-
-MIT License
-===========
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Academic Free License v. 2.1
-============================
-
-Copyright (c) 2005 Bob Ippolito. All rights reserved.
-
-This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:
-
-Licensed under the Academic Free License version 2.1
-
-1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:
-
-a) to reproduce the Original Work in copies;
-
-b) to prepare derivative works ("Derivative Works") based upon the Original Work;
-
-c) to distribute copies of the Original Work and Derivative Works to the public;
-
-d) to perform the Original Work publicly; and
-
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.
-
-13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.
-
-=========================================================================
-== For the Plotkit library ==
-=========================================================================
-
-Copyright (c) 2006, Alastair Tse
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Alastair Tse nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the behaviour.js library ==
-=========================================================================
-
-Copyright (c) 2005, Ben Nolan
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of the Ben Nolan nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-=========================================================================
-== For the iecanvas.htc library ==
-=========================================================================
-
-|-----------------------------------------------------------------------------|
-| Copyright (c) 2005 Emil A Eklund |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| This program is free software; you can redistribute it and/or modify it |
-| under the terms of the MIT License. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| Permission is hereby granted, free of charge, to any person obtaining a |
-| copy of this software and associated documentation files (the "Software"), |
-| to deal in the Software without restriction, including without limitation |
-| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
-| and/or sell copies of the Software, and to permit persons to whom the |
-| Software is furnished to do so, subject to the following conditions: |
-| The above copyright notice and this permission notice shall be included in |
-| all copies or substantial portions of the Software. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
-| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
-| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
-| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
-| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
-| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
-| DEALINGS IN THE SOFTWARE. |
-|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
-
-=========================================================================
-== For the scriptaculous.js library ==
-=========================================================================
-
-// Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-=========================================================================
-== For the standardista-table-sorting.js library ==
-== For the css.js library ==
-=========================================================================
-
-/**
- * Copyright (c) 2006 Neil Crosby
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- **/
-
-=========================================================================
-== For the prototype.js library ==
-=========================================================================
-
-Copyright (c) 2005 Sam Stephenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-=========================================================================
-== For the style.css library ==
-== For the common.js library ==
-=========================================================================
-
-
License
-
-
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
-
-
-
1. Definitions
-
-
-
-
-"Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
-
-
-
-"Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
-
-
-"Licensor" means the individual or entity that offers the Work under the terms of this License.
-
-
-
-"Original Author" means the individual or entity who created the Work.
-
-
-
-"Work" means the copyrightable work of authorship offered under the terms of this License.
-
-
-
-"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
-
-
-
-
-
2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
-
-
-
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
-
-
-
-
-
-to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
-
-
-
-to create and reproduce Derivative Works;
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
-
-
-
-
-to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
-
-
-
For the avoidance of doubt, where the work is a musical composition:
-
-
-
Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
-
-
Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights agency or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
-
-
-
-
-
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
-
-
4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
-
-
-
-
-You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(b), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(b), as requested.
-
-
-
-
-If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
-
-
-
-
-
-
-
-
-
-
5. Representations, Warranties and Disclaimer
-
-
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-
-
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
7. Termination
-
-
-
-
-This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
-
-
-
-Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
-
-
-
-
8. Miscellaneous
-
-
-
-
-Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
-
-
-
-If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-
-
-No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
-
-
-
-
-This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
-
-
-
-=========================================================================
-== Jetty is under the Apache License v 2.0 ==
-=========================================================================
-
--- Licenses for included libraries
-
-=========================================================================
-== For jaxb-api and jaxb-impl (CDDL) ==
-== Source code is at java.net ==
-=========================================================================
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
-Version 1.0
-
- *
-
- 1. Definitions.
- o
-
- 1.1. “Contributor†means each individual or entity that creates or contributes to the creation of Modifications.
- o
-
- 1.2. “Contributor Version†means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor.
- o
-
- 1.3. “Covered Software†means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof.
- o
-
- 1.4. “Executable†means the Covered Software in any form other than Source Code.
- o
-
- 1.5. “Initial Developer†means the individual or entity that first makes Original Software available under this License.
- o
-
- 1.6. “Larger Work†means a work which combines Covered Software or portions thereof with code not governed by the terms of this License.
- o
-
- 1.7. “License†means this document.
- o
-
- 1.8. “Licensable†means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.
- o
-
- 1.9. “Modifications†means the Source Code and Executable form of any of the following:
- +
-
- A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications;
- +
-
- B. Any new file that contains any part of the Original Software or previous Modification; or
- +
-
- C. Any new file that is contributed or otherwise made available under the terms of this License.
- o
-
- 1.10. “Original Software†means the Source Code and Executable form of computer software code that is originally released under this License.
- o
-
- 1.11. “Patent Claims†means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor.
- o
-
- 1.12. “Source Code†means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code.
- o
-
- 1.13. “You†(or “Yourâ€) means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, “You†includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, “control†means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.
- *
-
- 2. License Grants.
- o
-
- 2.1. The Initial Developer Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license:
- +
-
- (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and
- +
-
- (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof).
- +
-
- (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License.
- +
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices.
- o
-
- 2.2. Contributor Grant.
-
- Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:
- +
-
- (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and
- +
-
- (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination).
- +
-
- (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party.
- +
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor.
- *
-
- 3. Distribution Obligations.
- o
-
- 3.1. Availability of Source Code.
-
- Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange.
- o
-
- 3.2. Modifications.
-
- The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License.
- o
-
- 3.3. Required Notices.
-
- You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer.
- o
-
- 3.4. Application of Additional Terms.
-
- You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients’ rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer.
- o
-
- 3.5. Distribution of Executable Versions.
-
- You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient’s rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer.
- o
-
- 3.6. Larger Works.
-
- You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software.
- *
-
- 4. Versions of the License.
- o
-
- 4.1. New Versions.
-
- Sun Microsystems, Inc. is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License.
- o
-
- 4.2. Effect of New Versions.
-
- You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward.
- o
-
- 4.3. Modified Versions.
-
- When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License.
- *
-
- 5. DISCLAIMER OF WARRANTY.
-
- COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN “AS IS†BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
- *
-
- 6. TERMINATION.
- o
-
- 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive.
- o
-
- 6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as “Participantâ€) alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant.
- o
-
- 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination.
- *
-
- 7. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY’S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
- *
-
- 8. U.S. GOVERNMENT END USERS.
-
- The Covered Software is a “commercial item,†as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of “commercial computer software†(as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and “commercial computer software documentation†as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License.
- *
-
- 9. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction’s conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys’ fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software.
- *
-
- 10. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.
-
-=========================================================================
-== jstl and taglibs standard are under either the Apache License v 2.0 or CDDL ==
-=========================================================================
-=========================================================================
-== For JDom ==
-=========================================================================
-Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions, and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions, and the disclaimer that follows
- these conditions in the documentation and/or other materials
- provided with the distribution.
-
- 3. The name "JDOM" must not be used to endorse or promote products
- derived from this software without prior written permission. For
- written permission, please contact .
-
- 4. Products derived from this software may not be called "JDOM", nor
- may "JDOM" appear in their name, without prior written permission
- from the JDOM Project Management .
-
- In addition, we request (but do not require) that you include in the
- end-user documentation provided with the redistribution and/or in the
- software itself an acknowledgement equivalent to the following:
- "This product includes software developed by the
- JDOM Project (http://www.jdom.org/)."
- Alternatively, the acknowledgment may be graphical using the logos
- available at http://www.jdom.org/images/logos.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the JDOM Project and was originally
- created by Jason Hunter and
- Brett McLaughlin . For more information
- on the JDOM Project, please see .
-
-=========================================================================
-== For the mx4j, mx4j-remote, and mx4j-tools library ==
-=========================================================================
-
- The MX4J License, Version 1.0
-
- Copyright (c) 2001-2004 by the MX4J contributors. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. The end-user documentation included with the redistribution,
- if any, must include the following acknowledgment:
- "This product includes software developed by the
- MX4J project (http://mx4j.sourceforge.net)."
- Alternately, this acknowledgment may appear in the software itself,
- if and wherever such third-party acknowledgments normally appear.
-
- 4. The name "MX4J" must not be used to endorse or promote
- products derived from this software without prior written
- permission.
- For written permission, please contact
- biorn_steedom [at] users [dot] sourceforge [dot] net
-
- 5. Products derived from this software may not be called "MX4J",
- nor may "MX4J" appear in their name, without prior written
- permission of Simone Bordet.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED. IN NO EVENT SHALL THE MX4J CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the MX4J project. For more information on
- MX4J, please see
- the MX4J website.
-
-
-=========================================================================
-== Rome is under the Apache License v 2.0 ==
-=========================================================================
-=========================================================================
-== For Sitemesh ==
-=========================================================================
-/* ====================================================================
- * The OpenSymphony Software License, Version 1.1
- *
- * (this license is derived and fully compatible with the Apache Software
- * License - see http://www.apache.org/LICENSE.txt)
- *
- * Copyright (c) 2001-2004 The OpenSymphony Group. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * OpenSymphony Group (http://www.opensymphony.com/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "OpenSymphony" and "The OpenSymphony Group"
- * must not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact license@opensymphony.com .
- *
- * 5. Products derived from this software may not be called "OpenSymphony"
- * or "SiteMesh", nor may "OpenSymphony" or "SiteMesh" appear in their
- * name, without prior written permission of the OpenSymphony Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- */
- =========================================================================
-== For slf4j ==
-=========================================================================
-Copyright (c) 2004-2007 QOS.ch All rights reserved. Permission is hereby
-granted, free of charge, to any person obtaining a copy of this software
-and associated documentation files (the "Software"), to deal in the
-Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions: The above
-copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-=========================================================================
-== Smackx is under the Apache License v 2.0 ==
-=========================================================================
-=========================================================================
-== Spring is under the Apache License v 2.0 ==
-=========================================================================
-=========================================================================
-== Woodstox is under the Apache License v 2.0 ==
-=========================================================================
-=========================================================================
-== For the xmlpull library ==
-=========================================================================
-
-XMLPULL API IS FREE
--------------------
-
-All of the XMLPULL API source code, compiled code, and documentation
-contained in this distribution *except* for tests (see separate LICENSE_TESTS.txt)
-are in the Public Domain.
-
-XMLPULL API comes with NO WARRANTY or guarantee of fitness for any purpose.
-
-Initial authors:
-
- Stefan Haustein
- Aleksander Slominski
-
-2001-12-12
-
-=========================================================================
-== For the xstream library ==
-=========================================================================
-
-(BSD Style License)
-
-Copyright (c) 2003-2004, Joe Walnes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of
-conditions and the following disclaimer. Redistributions in binary form must reproduce
-the above copyright notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the distribution.
-
-Neither the name of XStream nor the names of its contributors may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
diff --git a/edexOsgi/build.edex/esb/webapps/admin/META-INF/NOTICE b/edexOsgi/build.edex/esb/webapps/admin/META-INF/NOTICE
deleted file mode 100644
index b91150c8b3..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/META-INF/NOTICE
+++ /dev/null
@@ -1,107 +0,0 @@
-Apache ActiveMQ
-Copyright 2005-2006 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-=========================================================================
-== Derby Notice ==
-=========================================================================
-
-Portions of Derby were orginally developed by
-International Business Machines Corporation and are
-licensed to the Apache Software Foundation under the
-"Software Grant and Corporate Contribution License Agreement",
-informally known as the "Derby CLA".
-
-The portion of the functionTests under 'nist' was originally
-developed by the National Institute of Standards and Technology (NIST),
-an agency of the United States Department of Commerce, and adapted by
-International Business Machines Corporation in accordance with the NIST
-Software Acknowledgment and Redistribution document at
-http://www.itl.nist.gov/div897/ctg/sql_form.htm
-
-==============================================================
- Jetty Web Container
- Copyright 1995-2006 Mort Bay Consulting Pty Ltd
-==============================================================
-
-This product includes some software developed at The Apache Software
-Foundation (http://www.apache.org/).
-
-The javax.servlet package used by Jetty is copyright
-Sun Microsystems, Inc and Apache Software Foundation. It is
-distributed under the Common Development and Distribution License.
-You can obtain a copy of the license at
-https://glassfish.dev.java.net/public/CDDLv1.0.html.
-
-The UnixCrypt.java code ~Implements the one way cryptography used by
-Unix systems for simple password protection. Copyright 1996 Aki Yoshida,
-modified April 2001 by Iris Van den Broeke, Daniel Deville.
-
-The default JSP implementation is provided by the Glassfish JSP engine
-from project Glassfish http://glassfish.dev.java.net. Copyright 2005
-Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
-
-Some portions of the code are Copyright:
- 2006 Tim Vernum
- 1999 Jason Gilbert.
-
-The jboss integration module contains some LGPL code.
-
-=========================================================================
-== Spring Notice ==
-=========================================================================
-
-This product includes software developed by
-the Apache Software Foundation (http://www.apache.org).
-
-This product also includes software developed by
-Clinton Begin (http://www.ibatis.com).
-
-The end-user documentation included with a redistribution, if any,
-must include the following acknowledgement:
-
- "This product includes software developed by the Spring Framework
- Project (http://www.springframework.org)."
-
-Alternately, this acknowledgement may appear in the software itself,
-if and wherever such third-party acknowledgements normally appear.
-
-The names "Spring" and "Spring Framework" must not be used to
-endorse or promote products derived from this software without
-prior written permission. For written permission, please contact
-rod.johnson@interface21.com or juergen.hoeller@interface21.com.
-
-
-=========================================================================
-== MX4J Notice ==
-=========================================================================
-
-This product includes software developed by the MX4J project
-(http://sourceforge.net/projects/mx4j).
-=========================================================================
-== Sitemesh Notice ==
-=========================================================================
-
-This product includes software developed by the
-OpenSymphony Group (http://www.opensymphony.com/).
-
-=========================================================================
-== Smackx Notice (not from Jive Software) ==
-=========================================================================
-
-This product includes software developed by JiveSoftware
-(http://www.igniterealtime.org/).
-
-=========================================================================
-== Woodstox Notice (http://woodstox.codehaus.org) ==
-=========================================================================
-This product currently only contains code developed by authors
-of specific components, as identified by the source code files.
-
-Since product implements StAX API, it has dependencies to StAX API
-classes.
-
-For additional credits (generally to people who reported problems)
-see CREDITS file.
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/decorators.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/decorators.xml
deleted file mode 100644
index d37565c988..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/decorators.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
-
-
- /xml/*
-
-
-
- /*
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/dispatcher-servlet.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/dispatcher-servlet.xml
deleted file mode 100644
index 04a4bdd79a..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/dispatcher-servlet.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/headertags.jspf b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/headertags.jspf
deleted file mode 100644
index 4b698304c4..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/headertags.jspf
+++ /dev/null
@@ -1,21 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
-<%@ taglib prefix="form" tagdir="/WEB-INF/tags/form" %>
-<%@ taglib prefix="jms" tagdir="/WEB-INF/tags/jms" %>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/old.jspf b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/old.jspf
deleted file mode 100644
index f952019551..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/jspf/old.jspf
+++ /dev/null
@@ -1,21 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
-<%@ taglib prefix="display" uri="http://displaytag.sf.net" %>
-
-<%@ taglib prefix="c" tagdir="/WEB-INF/tags/c" %>
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/checkbox.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/checkbox.tag
deleted file mode 100644
index 4a5dec5c58..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/checkbox.tag
+++ /dev/null
@@ -1,18 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="name" type="java.lang.String" required="true" %>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag
deleted file mode 100644
index 70baff98d2..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/forEachMapEntry.tag
+++ /dev/null
@@ -1,29 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="var" type="java.lang.String" required="true" %>
-<%@ attribute name="items" type="java.util.Map" required="true" %>
-<%@ tag import="java.util.Iterator" %>
-<%
- Iterator iter = items.entrySet().iterator();
- while (iter.hasNext()) {
- request.setAttribute(var, iter.next());
-%>
-
-<%
- }
-%>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/option.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/option.tag
deleted file mode 100644
index 4227c41036..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/option.tag
+++ /dev/null
@@ -1,20 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="name" type="java.lang.String" required="true" %>
-<%@ attribute name="value" type="java.lang.String" required="true" %>
-<%@ attribute name="label" type="java.lang.String" required="true" %>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/short.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/short.tag
deleted file mode 100644
index 3302e44293..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/short.tag
+++ /dev/null
@@ -1,27 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="text" type="java.lang.String" required="true" %>
-<%@ attribute name="length" type="java.lang.Integer" required="false" %>
-<%
- if (length == null)
- length = 20;
- if (text.length() <= 20) {
- out.print(text);
- } else {
- out.println(text.substring(0, 10) + "..." + text.substring(text.length() - 5));
- }
-%>
\ No newline at end of file
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/text.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/text.tag
deleted file mode 100644
index a557a42bb2..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/text.tag
+++ /dev/null
@@ -1,28 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="name" type="java.lang.String" required="true" %>
-<%@ attribute name="defaultValue" type="java.lang.String" required="false" %>
-<%
- String value = request.getParameter(name);
- if (value == null || value.trim().length() == 0) {
- value = defaultValue;
- }
- if (value == null) {
- value = "";
- }
-%>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/tooltip.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/tooltip.tag
deleted file mode 100644
index 0f2d495e2d..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/tooltip.tag
+++ /dev/null
@@ -1,29 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="text" type="java.lang.String" required="true" %>
-<%@ attribute name="length" type="java.lang.Integer" required="false" %>
-<%
- text = text.replaceAll("<", "<");
- text = text.replaceAll(">", ">");
- if (length == null)
- length = 23;
- if (text.length() <= length) {
- out.print(text);
- } else {
- out.println(" " + text.substring(0, length - 3) + "... " + text + "");
- }
-%>
\ No newline at end of file
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/uri.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/uri.tag
deleted file mode 100644
index a9abb167ba..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/form/uri.tag
+++ /dev/null
@@ -1,18 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="name" type="java.lang.String" required="true" %>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag
deleted file mode 100644
index 6dae9dbc65..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/forEachMessage.tag
+++ /dev/null
@@ -1,34 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="var" type="java.lang.String" required="true" %>
-<%@ attribute name="queueBrowser" type="javax.jms.QueueBrowser" required="true" %>
-<%@ tag import="java.util.Enumeration" %>
-<%@ tag import="javax.jms.Message" %>
-<%
-
- Enumeration iter = queueBrowser.getEnumeration();
- while (iter.hasMoreElements()) {
- Message message = (Message) iter.nextElement();
- if (message != null) {
- request.setAttribute(var, message);
-%>
-
-<%
- }
- }
-%>
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag
deleted file mode 100644
index 1a4a54bd8e..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/formatTimestamp.tag
+++ /dev/null
@@ -1,29 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="timestamp" type="java.lang.String"%>
-<%@ tag import="java.util.Date" %>
-<%@ tag import="java.text.SimpleDateFormat" %>
-<%
- if (timestamp != null) {
- long time = Long.parseLong(timestamp);
- Date date = new Date(time);
-
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS z");
-
- out.println(formatter.format(date));
- }
-%>
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/persistent.tag b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/persistent.tag
deleted file mode 100644
index f7f33a6277..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/tags/jms/persistent.tag
+++ /dev/null
@@ -1,27 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-<%@ attribute name="message" type="javax.jms.Message" required="true" %>
-<%
- if (message != null) {
- if (message.getJMSDeliveryMode() == javax.jms.DeliveryMode.PERSISTENT) {
- out.println("Persistent");
- }
- else {
- out.println("Non Persistent");
- }
- }
-%>
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/web.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/web.xml
deleted file mode 100644
index 6237b907cd..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/web.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-
-
- Apache ActiveMQ Web Console
-
- ActiveMQ Console
-
-
-
-
-
- sitemesh
- com.opensymphony.module.sitemesh.filter.PageFilter
-
-
-
- sitemesh
- /*
-
-
-
-
-
-
- spring
- org.apache.activemq.web.filter.ApplicationContextFilter
-
-
-
- spring
- /*
-
-
-
-
-
-
-
-
- AjaxServlet
- org.apache.activemq.web.AjaxServlet
- 1
-
-
- AjaxServlet
- /ajax/*
-
-
-
- SendServlet
- org.apache.activemq.web.MessageServlet
- 1
-
-
- SendServlet
- /send/*
-
-
-
-
- QueueBrowseServlet
- org.apache.activemq.web.QueueBrowseServlet
-
-
- QueueBrowseServlet
- /queueBrowse/*
-
-
-
-
- session
- org.apache.activemq.web.SessionFilter
-
-
-
- spring-rq
- org.springframework.web.filter.RequestContextFilter
-
-
-
- session
- /*
-
-
- spring-rq
- /*
-
-
-
-
-
-
-
- org.apache.activemq.web.WebConsoleStarter
-
-
-
-
-
-
-
- dispatcher
- org.springframework.web.servlet.DispatcherServlet
- 2
-
-
-
- dispatcher
- *.action
-
-
-
- index.html
- index.jsp
-
-
-
-
-
-
-
-
-
-
-
- *.jsp
- /WEB-INF/jspf/headertags.jspf
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-default.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-default.xml
deleted file mode 100644
index 4fe67d1e22..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-default.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-embedded.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-embedded.xml
deleted file mode 100644
index d53e455e18..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-embedded.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-invm.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-invm.xml
deleted file mode 100644
index bf5199cf66..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-invm.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-jndi.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-jndi.xml
deleted file mode 100644
index b6e2feaeef..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-jndi.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-properties.xml b/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-properties.xml
deleted file mode 100644
index a68bdaf283..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/WEB-INF/webconsole-properties.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/browse.jsp b/edexOsgi/build.edex/esb/webapps/admin/browse.jsp
deleted file mode 100644
index 598434372d..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/browse.jsp
+++ /dev/null
@@ -1,68 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-
-
-Browse
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/decorators/main.jsp b/edexOsgi/build.edex/esb/webapps/admin/decorators/main.jsp
deleted file mode 100644
index 017b2e866d..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/decorators/main.jsp
+++ /dev/null
@@ -1,149 +0,0 @@
-
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-
-
-
-
- ${requestContext.brokerQuery.brokerAdmin.brokerName} :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/decorators/panel.jsp b/edexOsgi/build.edex/esb/webapps/admin/decorators/panel.jsp
deleted file mode 100644
index 4746808db5..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/decorators/panel.jsp
+++ /dev/null
@@ -1,31 +0,0 @@
-<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/decorators/printable.jsp b/edexOsgi/build.edex/esb/webapps/admin/decorators/printable.jsp
deleted file mode 100644
index 6b78947d27..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/decorators/printable.jsp
+++ /dev/null
@@ -1,31 +0,0 @@
-<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-
-
-
-
-
-
-
-
- Printed on <%=new java.util.Date()%>.
-
-
-
-
-
diff --git a/edexOsgi/build.edex/esb/webapps/admin/graph.jsp b/edexOsgi/build.edex/esb/webapps/admin/graph.jsp
deleted file mode 100644
index 21805f865b..0000000000
--- a/edexOsgi/build.edex/esb/webapps/admin/graph.jsp
+++ /dev/null
@@ -1,67 +0,0 @@
-<%--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---%>
-
-
-Browse ${requestContext.queueBrowser.JMSDestination}
-
-
-
-