Merge branch 'ss_sync' (OB12.4.1-10) into 9-Wes2Bridge
Conflicts: ncep/gov.noaa.nws.ncep.common.dataplugin.mcidas/src/gov/noaa/nws/ncep/common/dataplugin/mcidas/McidasRecord.java ncep/gov.noaa.nws.ncep.common.dataplugin.ncpafm/src/gov/noaa/nws/ncep/common/dataplugin/ncpafm/NcPafmRecord.java ncep/gov.noaa.nws.ncep.common.dataplugin.ncuair/src/gov/noaa/nws/ncep/common/dataplugin/ncuair/NcUairRecord.java ncep/gov.noaa.nws.ncep.edex.plugin.mosaic/src/gov/noaa/nws/ncep/edex/plugin/mosaic/common/MosaicRecord.java All of these were 'self-resolved' when kdiff3 invoked Former-commit-id: f98354aae305ad227eaf3b36e4393b8aefc80f02
This commit is contained in:
commit
092efd6072
2312 changed files with 143907 additions and 136663 deletions
0
MHSEmulator/MHSEmulator.ecl
Normal file
0
MHSEmulator/MHSEmulator.ecl
Normal file
0
RadarServer/build.rcm/.project
Executable file → Normal file
0
RadarServer/build.rcm/.project
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/importAwips1
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/importAwips1
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/start
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/start
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/stop
Executable file → Normal file
0
RadarServer/build.rcm/bits/bin/stop
Executable file → Normal file
0
RadarServer/build.rcm/build.rcm.ecl
Normal file
0
RadarServer/build.rcm/build.rcm.ecl
Normal file
0
RadarServer/build.rcm/build.sh
Executable file → Normal file
0
RadarServer/build.rcm/build.sh
Executable file → Normal file
0
RadarServer/build.rcm/build.xml
Executable file → Normal file
0
RadarServer/build.rcm/build.xml
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.clear-air.VCP31
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.clear-air.VCP31
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.clear-air.VCP32
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.clear-air.VCP32
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.maint
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.maint
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP11
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP11
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP112
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP112
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP12
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP12
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP121
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP121
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP21
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP21
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP211
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP211
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP212
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP212
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP221
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP221
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP80
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP80
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP90
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/KXXX.storm.VCP90
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/prodList.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/prodList.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-RPGOP-tcp.clear-air
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-RPGOP-tcp.clear-air
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-RPGOP-tcp.storm
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-RPGOP-tcp.storm
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-SPGOP-tcp.storm
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/rps-SPGOP-tcp.storm
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/tdwrProdList.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/tdwrProdList.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/wmoSiteInfo.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/drop-ins/wmoSiteInfo.txt
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/persist/config.xml
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/persist/config.xml
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/start-config
Executable file → Normal file
0
RadarServer/build.rcm/cfgbits/data/config/start-config
Executable file → Normal file
|
@ -79,146 +79,155 @@ import com.raytheon.rcm.server.Log;
|
|||
import com.raytheon.rcm.server.RadarServer;
|
||||
import com.raytheon.rcm.server.StatusManager.RadarStatus;
|
||||
|
||||
|
||||
public class MsgServ implements RadarEventListener, MessageListener {
|
||||
|
||||
QueueConnection queueConn;
|
||||
QueueSession queueSession;
|
||||
QueueSender queueSender;
|
||||
TopicConnection topicConn;
|
||||
TopicSession topicSession;
|
||||
TopicPublisher topicPublisher;
|
||||
JAXBContext jaxbCtx;
|
||||
Marshaller m;
|
||||
Unmarshaller u;
|
||||
|
||||
Serv serv;
|
||||
|
||||
public MsgServ(RadarServer server) {
|
||||
serv = new Serv(server);
|
||||
try {
|
||||
jaxbCtx = JAXBContext.newInstance(ReqObj.class, ReplyObj.class,
|
||||
EventObj.class, RmrEvent.class);
|
||||
m = jaxbCtx.createMarshaller();
|
||||
u = jaxbCtx.createUnmarshaller();
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("MsgServ could not create JAXBContext: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void start(QueueConnectionFactory qConnFac,
|
||||
TopicConnectionFactory tConnFac) {
|
||||
try {
|
||||
queueConn = qConnFac.createQueueConnection();
|
||||
queueSession = queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
|
||||
Queue queue = queueSession.createQueue("RadarServer");
|
||||
queueSender = queueSession.createSender(null);
|
||||
QueueReceiver qr = queueSession.createReceiver(queue);
|
||||
qr.setMessageListener(this);
|
||||
|
||||
topicConn = tConnFac.createTopicConnection();
|
||||
topicSession = topicConn.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
|
||||
Topic topic = topicSession.createTopic("RadarEvents");
|
||||
topicPublisher = topicSession.createPublisher(topic);
|
||||
|
||||
queueConn.start();
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("MsgServ could not start connections: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRadarEvent(RadarEvent event) {
|
||||
RadarEvent eventToSend = EventObj.filterRadarEvent(event);
|
||||
if (eventToSend != null)
|
||||
publishEvent(eventToSend);
|
||||
}
|
||||
QueueConnection queueConn;
|
||||
|
||||
@Override
|
||||
public void onMessage(Message msg) {
|
||||
try {
|
||||
ReplyObj po = null;
|
||||
String error = null;
|
||||
Exception exc = null;
|
||||
|
||||
Destination replyToDestination = msg.getJMSReplyTo();
|
||||
|
||||
if (msg instanceof TextMessage) {
|
||||
TextMessage tms = (TextMessage) msg;
|
||||
StringReader sr = new StringReader(tms.getText());
|
||||
Object o = null;
|
||||
try {
|
||||
o = u.unmarshal(sr);
|
||||
} catch (JAXBException e) {
|
||||
exc = e;
|
||||
}
|
||||
|
||||
if (o instanceof ReqObj) {
|
||||
ReqObj ro = (ReqObj) o;
|
||||
try {
|
||||
po = handleRequest(replyToDestination, ro);
|
||||
} catch (RuntimeException e) {
|
||||
error = "Unexpected error while processing request: " + e.toString();
|
||||
exc = e;
|
||||
}
|
||||
} else if (o != null)
|
||||
error = String.format("Invalid request class '%s'", o.getClass());
|
||||
} else
|
||||
error = "Invalid JMS message type";
|
||||
QueueSession queueSession;
|
||||
|
||||
if (error == null && exc != null)
|
||||
error = exc.toString();
|
||||
if (po == null)
|
||||
po = ReplyObj.error(error != null ? error : "Unknown error");
|
||||
|
||||
if (exc != null)
|
||||
Log.errorf("Error processing remote request: %s", exc);
|
||||
else if (error != null)
|
||||
Log.errorf("Error processing remote request: %s", error);
|
||||
|
||||
if (po != null) {
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(po, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error processing remote request: %s", e);
|
||||
return;
|
||||
}
|
||||
TextMessage rtm = queueSession.createTextMessage(
|
||||
sw.toString());
|
||||
|
||||
String id = msg.getJMSCorrelationID();
|
||||
if (id == null)
|
||||
id = msg.getJMSMessageID();
|
||||
if (id != null)
|
||||
rtm.setJMSCorrelationID(id);
|
||||
if (replyToDestination != null)
|
||||
queueSender.send(replyToDestination, rtm);
|
||||
else
|
||||
Log.errorf("Client did not specify reply-to destination");
|
||||
}
|
||||
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error while processing JMS message: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
private ReplyObj handleRequest(Destination replyToDestination, ReqObj ro) {
|
||||
ReplyObj po = null;
|
||||
QueueSender queueSender;
|
||||
|
||||
TopicConnection topicConn;
|
||||
|
||||
TopicSession topicSession;
|
||||
|
||||
TopicPublisher topicPublisher;
|
||||
|
||||
JAXBContext jaxbCtx;
|
||||
|
||||
Marshaller m;
|
||||
|
||||
Unmarshaller u;
|
||||
|
||||
Serv serv;
|
||||
|
||||
public MsgServ(RadarServer server) {
|
||||
serv = new Serv(server);
|
||||
try {
|
||||
jaxbCtx = JAXBContext.newInstance(ReqObj.class, ReplyObj.class,
|
||||
EventObj.class, RmrEvent.class);
|
||||
m = jaxbCtx.createMarshaller();
|
||||
u = jaxbCtx.createUnmarshaller();
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("MsgServ could not create JAXBContext: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void start(QueueConnectionFactory qConnFac,
|
||||
TopicConnectionFactory tConnFac) {
|
||||
try {
|
||||
queueConn = qConnFac.createQueueConnection();
|
||||
queueSession = queueConn.createQueueSession(false,
|
||||
Session.AUTO_ACKNOWLEDGE);
|
||||
Queue queue = queueSession.createQueue("RadarServer");
|
||||
queueSender = queueSession.createSender(null);
|
||||
QueueReceiver qr = queueSession.createReceiver(queue);
|
||||
qr.setMessageListener(this);
|
||||
|
||||
topicConn = tConnFac.createTopicConnection();
|
||||
topicSession = topicConn.createTopicSession(false,
|
||||
Session.AUTO_ACKNOWLEDGE);
|
||||
Topic topic = topicSession.createTopic("RadarEvents");
|
||||
topicPublisher = topicSession.createPublisher(topic);
|
||||
|
||||
queueConn.start();
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("MsgServ could not start connections: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRadarEvent(RadarEvent event) {
|
||||
RadarEvent eventToSend = EventObj.filterRadarEvent(event);
|
||||
if (eventToSend != null)
|
||||
publishEvent(eventToSend);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Message msg) {
|
||||
try {
|
||||
ReplyObj po = null;
|
||||
String error = null;
|
||||
Exception exc = null;
|
||||
|
||||
Destination replyToDestination = msg.getJMSReplyTo();
|
||||
|
||||
if (msg instanceof TextMessage) {
|
||||
TextMessage tms = (TextMessage) msg;
|
||||
StringReader sr = new StringReader(tms.getText());
|
||||
Object o = null;
|
||||
try {
|
||||
o = u.unmarshal(sr);
|
||||
} catch (JAXBException e) {
|
||||
exc = e;
|
||||
}
|
||||
|
||||
if (o instanceof ReqObj) {
|
||||
ReqObj ro = (ReqObj) o;
|
||||
try {
|
||||
po = handleRequest(replyToDestination, ro);
|
||||
} catch (RuntimeException e) {
|
||||
error = "Unexpected error while processing request: "
|
||||
+ e.toString();
|
||||
exc = e;
|
||||
}
|
||||
} else if (o != null)
|
||||
error = String.format("Invalid request class '%s'",
|
||||
o.getClass());
|
||||
} else
|
||||
error = "Invalid JMS message type";
|
||||
|
||||
if (error == null && exc != null)
|
||||
error = exc.toString();
|
||||
if (po == null)
|
||||
po = ReplyObj.error(error != null ? error : "Unknown error");
|
||||
|
||||
if (exc != null)
|
||||
Log.errorf("Error processing remote request: %s", exc);
|
||||
else if (error != null)
|
||||
Log.errorf("Error processing remote request: %s", error);
|
||||
|
||||
if (po != null) {
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(po, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error processing remote request: %s", e);
|
||||
return;
|
||||
}
|
||||
TextMessage rtm = queueSession.createTextMessage(sw.toString());
|
||||
|
||||
String id = msg.getJMSCorrelationID();
|
||||
if (id == null)
|
||||
id = msg.getJMSMessageID();
|
||||
if (id != null)
|
||||
rtm.setJMSCorrelationID(id);
|
||||
if (replyToDestination != null)
|
||||
queueSender.send(replyToDestination, rtm);
|
||||
else
|
||||
Log.errorf("Client did not specify reply-to destination");
|
||||
}
|
||||
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error while processing JMS message: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
private ReplyObj handleRequest(Destination replyToDestination, ReqObj ro) {
|
||||
ReplyObj po = null;
|
||||
String error = null;
|
||||
|
||||
|
||||
Log.eventf("Got remote request %s", ro);
|
||||
|
||||
|
||||
if (ro instanceof GetRadarList)
|
||||
po = ReplyObj.toGetRadarList(
|
||||
serv.getRadarList());
|
||||
po = ReplyObj.toGetRadarList(serv.getRadarList());
|
||||
else if (ro instanceof GetRadarConfig) {
|
||||
GetRadarConfig grc = (GetRadarConfig) ro;
|
||||
if (grc.radarID != null)
|
||||
po = ReplyObj.toGetRadarConfig(
|
||||
serv.getRadarConfig(grc.radarID));
|
||||
po = ReplyObj
|
||||
.toGetRadarConfig(serv.getRadarConfig(grc.radarID));
|
||||
else
|
||||
po = ReplyObj.toGetRadarConfig(serv.getAllRadarConfigs());
|
||||
} else if (ro instanceof SetRadarConfig) {
|
||||
|
@ -227,33 +236,31 @@ public class MsgServ implements RadarEventListener, MessageListener {
|
|||
} else if (ro instanceof GetRadarStatusMessages) {
|
||||
GetRadarStatusMessages grs = (GetRadarStatusMessages) ro;
|
||||
if (grs.radarID != null)
|
||||
po = ReplyObj.toGetRadarStatusMessages(
|
||||
createROStatus(grs.radarID,
|
||||
serv.getRadarStatus(grs.radarID)));
|
||||
po = ReplyObj.toGetRadarStatusMessages(createROStatus(
|
||||
grs.radarID, serv.getRadarStatus(grs.radarID)));
|
||||
else {
|
||||
ArrayList<ROStatus> status = new ArrayList<ROStatus>();
|
||||
for (Map.Entry<String, ? extends RadarStatus> e :
|
||||
serv.getAllRadarStatus().entrySet()) {
|
||||
status.add(createROStatus(e.getKey(),
|
||||
e.getValue()));
|
||||
for (Map.Entry<String, ? extends RadarStatus> e : serv
|
||||
.getAllRadarStatus().entrySet()) {
|
||||
status.add(createROStatus(e.getKey(), e.getValue()));
|
||||
}
|
||||
po = ReplyObj.toGetRadarStatusMessages(status);
|
||||
}
|
||||
} else if (ro instanceof SendOneTimeRequests) {
|
||||
MsgServOtrHandler handler = null;
|
||||
|
||||
/* Correlation ID should be null so as to not intefere
|
||||
* with the handler list on the client side.
|
||||
|
||||
/*
|
||||
* Correlation ID should be null so as to not intefere with the
|
||||
* handler list on the client side.
|
||||
*/
|
||||
/*
|
||||
String id = msg.getJMSCorrelationID();
|
||||
if (id == null)
|
||||
id = msg.getJMSMessageID();
|
||||
*/
|
||||
String id = null;
|
||||
* String id = msg.getJMSCorrelationID(); if (id == null) id =
|
||||
* msg.getJMSMessageID();
|
||||
*/
|
||||
String id = null;
|
||||
if (replyToDestination != null)
|
||||
handler = new MsgServOtrHandler(replyToDestination, id);
|
||||
|
||||
handler = new MsgServOtrHandler(replyToDestination, id);
|
||||
|
||||
SendOneTimeRequests r = (SendOneTimeRequests) ro;
|
||||
serv.sendOTRs(r.radarIDs, r.requests, handler);
|
||||
} else if (ro instanceof SendRpsList) {
|
||||
|
@ -267,17 +274,17 @@ public class MsgServ implements RadarEventListener, MessageListener {
|
|||
} else if (ro instanceof GetRpsList) {
|
||||
GetRpsList r = (GetRpsList) ro;
|
||||
if (r.radarID != null) {
|
||||
int vcp = r.vcp != null ? r.vcp : -1;
|
||||
int opMode = r.opMode != null ? r.opMode : GSM.OP_MODE_MAINTENANCE;
|
||||
int vcp = r.vcp != null ? r.vcp : -1;
|
||||
int opMode = r.opMode != null ? r.opMode
|
||||
: GSM.OP_MODE_MAINTENANCE;
|
||||
RpsList rpsList = serv.getRpsList(r.radarID, opMode, vcp);
|
||||
po = new ReplyObj.RpsListReply(rpsList);
|
||||
/*
|
||||
if (rpsList != null)
|
||||
po = ReplyObj.toGetRpsList(rpsList);
|
||||
else
|
||||
error = String.format("Could not retrieve RPS list for radar %s%s",
|
||||
r.radarID, vcp != -1 ? ", VCP " + vcp : "");
|
||||
*/
|
||||
* if (rpsList != null) po = ReplyObj.toGetRpsList(rpsList);
|
||||
* else error =
|
||||
* String.format("Could not retrieve RPS list for radar %s%s",
|
||||
* r.radarID, vcp != -1 ? ", VCP " + vcp : "");
|
||||
*/
|
||||
} else
|
||||
error = "Must specify a radar name";
|
||||
} else if (ro instanceof GetGlobalConfig) {
|
||||
|
@ -301,7 +308,8 @@ public class MsgServ implements RadarEventListener, MessageListener {
|
|||
po = r;
|
||||
} else if (ro instanceof SendAlertRequest) {
|
||||
SendAlertRequest ro2 = (SendAlertRequest) ro;
|
||||
error = serv.sendAlertRequest(ro2.radarID, ro2.areaIndex, ro2.alertRequest);
|
||||
error = serv.sendAlertRequest(ro2.radarID, ro2.areaIndex,
|
||||
ro2.alertRequest);
|
||||
} else if (ro instanceof SendMessageToRPG) {
|
||||
SendMessageToRPG ro2 = (SendMessageToRPG) ro;
|
||||
error = serv.sendMessageToRPG(ro2.radarID, ro2.message);
|
||||
|
@ -316,7 +324,7 @@ public class MsgServ implements RadarEventListener, MessageListener {
|
|||
error = serv.debugHandleMessage(r.radarID, r.message);
|
||||
} else
|
||||
error = String.format("Unsupported request '%s'", ro.toString());
|
||||
|
||||
|
||||
if (po == null) {
|
||||
if (error == null)
|
||||
po = new ReplyObj();
|
||||
|
@ -324,97 +332,97 @@ public class MsgServ implements RadarEventListener, MessageListener {
|
|||
po = ReplyObj.error(error);
|
||||
}
|
||||
|
||||
return po;
|
||||
}
|
||||
|
||||
private ROStatus createROStatus(String radarID, RadarStatus rs) {
|
||||
ROStatus ros = new ROStatus();
|
||||
ros.radarID = radarID;
|
||||
ros.currentAAP = rs.getCurrentAAP();
|
||||
ros.currentGSM = rs.getCurrentGSM();
|
||||
ros.currentPTL = rs.getCurrentPTL();
|
||||
ros.lastAAP = rs.getLastAAP();
|
||||
ros.lastGSM = rs.getLastGSM();
|
||||
ros.lastPTL = rs.getLastPTL();
|
||||
return ros;
|
||||
}
|
||||
return po;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleConfigEvent(ConfigEvent event) {
|
||||
publishEvent(event);
|
||||
}
|
||||
|
||||
private void publishEvent(Object obj) {
|
||||
// Can get events before mq is set up.
|
||||
if (topicPublisher == null)
|
||||
return;
|
||||
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(obj, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error serializing event: %s", e);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
TextMessage tm = topicSession.createTextMessage(
|
||||
sw.toString());
|
||||
topicPublisher.publish(tm);
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error sending message: %s", e);
|
||||
}
|
||||
}
|
||||
private ROStatus createROStatus(String radarID, RadarStatus rs) {
|
||||
ROStatus ros = new ROStatus();
|
||||
ros.radarID = radarID;
|
||||
ros.currentAAP = rs.getCurrentAAP();
|
||||
ros.currentGSM = rs.getCurrentGSM();
|
||||
ros.currentPTL = rs.getCurrentPTL();
|
||||
ros.lastAAP = rs.getLastAAP();
|
||||
ros.lastGSM = rs.getLastGSM();
|
||||
ros.lastPTL = rs.getLastPTL();
|
||||
return ros;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleNotificationEvent(NotificationEvent event) {
|
||||
publishEvent(event);
|
||||
}
|
||||
|
||||
class MsgServOtrHandler implements OTRHandler {
|
||||
Destination destination;
|
||||
String correlationID;
|
||||
|
||||
public MsgServOtrHandler(Destination destination, String correlationID) {
|
||||
this.destination = destination;
|
||||
this.correlationID = correlationID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOtrEvent(OtrEvent event) {
|
||||
OtrEvent eventToSend = event.clone();
|
||||
/* This OTR notification capability is currently only used to
|
||||
* display alerts in CAVE. Thus, there is no need to send the
|
||||
* actual product data. Given that some products can be larger
|
||||
* than one megabyte and the notification is in XML format,
|
||||
* this is a useful optimization.
|
||||
*/
|
||||
if (event.product != null
|
||||
@Override
|
||||
public void handleConfigEvent(ConfigEvent event) {
|
||||
publishEvent(event);
|
||||
}
|
||||
|
||||
private void publishEvent(Object obj) {
|
||||
// Can get events before mq is set up.
|
||||
if (topicPublisher == null)
|
||||
return;
|
||||
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(obj, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error serializing event: %s", e);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
TextMessage tm = topicSession.createTextMessage(sw.toString());
|
||||
topicPublisher.publish(tm);
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error sending message: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleNotificationEvent(NotificationEvent event) {
|
||||
publishEvent(event);
|
||||
}
|
||||
|
||||
class MsgServOtrHandler implements OTRHandler {
|
||||
Destination destination;
|
||||
|
||||
String correlationID;
|
||||
|
||||
public MsgServOtrHandler(Destination destination, String correlationID) {
|
||||
this.destination = destination;
|
||||
this.correlationID = correlationID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOtrEvent(OtrEvent event) {
|
||||
OtrEvent eventToSend = event.clone();
|
||||
/*
|
||||
* This OTR notification capability is currently only used to
|
||||
* display alerts in CAVE. Thus, there is no need to send the actual
|
||||
* product data. Given that some products can be larger than one
|
||||
* megabyte and the notification is in XML format, this is a useful
|
||||
* optimization.
|
||||
*/
|
||||
if (event.product != null
|
||||
&& com.raytheon.rcm.message.Message
|
||||
.messageCodeOf(event.product) > 16)
|
||||
eventToSend.product = GraphicProduct
|
||||
.extractHeaderAndPDB(event.product);
|
||||
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(eventToSend, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error processing remote request: %s", e);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
TextMessage rtm = queueSession.createTextMessage(
|
||||
sw.toString());
|
||||
if (correlationID != null)
|
||||
rtm.setJMSCorrelationID(correlationID);
|
||||
queueSender.send(destination, rtm);
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error sending message: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
StringWriter sw = new StringWriter();
|
||||
try {
|
||||
synchronized (m) {
|
||||
m.marshal(eventToSend, sw);
|
||||
}
|
||||
} catch (JAXBException e) {
|
||||
Log.errorf("Error processing remote request: %s", e);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
TextMessage rtm = queueSession.createTextMessage(sw.toString());
|
||||
if (correlationID != null)
|
||||
rtm.setJMSCorrelationID(correlationID);
|
||||
queueSender.send(destination, rtm);
|
||||
} catch (JMSException e) {
|
||||
Log.errorf("Error sending message: %s", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,262 +1,262 @@
|
|||
<project name="Build specific targets and properties" default="noDefault">
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Run a given ${target} on all elements being built -->
|
||||
<!-- Add on <ant> task for each top level element being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<property name="allElementsFile" value="${builder}/allElements.xml"/>
|
||||
<import file="${allElementsFile}" />
|
||||
<target name="allElements">
|
||||
<antcall target="allElementsDelegator" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
|
||||
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
|
||||
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
|
||||
</target>
|
||||
|
||||
<target name="checkLocalBase">
|
||||
<available file="${base}" property="skipBase" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Check out map files from correct repository -->
|
||||
<!-- Replace values for mapsCheckoutTag as desired. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="checkLocalMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="tagMapFiles" if="tagMaps">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="clean" unless="noclean">
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="cleanElement" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="gatherLogs">
|
||||
<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="gatherLogs" />
|
||||
</antcall>
|
||||
<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
|
||||
<fileset dir="${buildDirectory}/features">
|
||||
<include name="**/*.log.zip" />
|
||||
</fileset>
|
||||
</unzip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before setup -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preSetup">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after setup but before starting the build proper -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postSetup">
|
||||
<echo message="${buildDirectory}"/>
|
||||
<mkdir dir="${buildDirectory}/plugins"/>
|
||||
<echo message="com.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="com.*/**"/>
|
||||
</copy>
|
||||
<project name="Build specific targets and properties" default="noDefault">
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Run a given ${target} on all elements being built -->
|
||||
<!-- Add on <ant> task for each top level element being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<property name="allElementsFile" value="${builder}/allElements.xml"/>
|
||||
<import file="${allElementsFile}" />
|
||||
<target name="allElements">
|
||||
<antcall target="allElementsDelegator" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
|
||||
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
|
||||
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
|
||||
</target>
|
||||
|
||||
<target name="checkLocalBase">
|
||||
<available file="${base}" property="skipBase" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Check out map files from correct repository -->
|
||||
<!-- Replace values for mapsCheckoutTag as desired. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="checkLocalMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="tagMapFiles" if="tagMaps">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="clean" unless="noclean">
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="cleanElement" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="gatherLogs">
|
||||
<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="gatherLogs" />
|
||||
</antcall>
|
||||
<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
|
||||
<fileset dir="${buildDirectory}/features">
|
||||
<include name="**/*.log.zip" />
|
||||
</fileset>
|
||||
</unzip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before setup -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preSetup">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after setup but before starting the build proper -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postSetup">
|
||||
<echo message="${buildDirectory}"/>
|
||||
<mkdir dir="${buildDirectory}/plugins"/>
|
||||
<echo message="com.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="com.*/**"/>
|
||||
</copy>
|
||||
<echo message="ucar.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ucar.*/**"/>
|
||||
</copy>
|
||||
<echo message="features.*/**"/>
|
||||
<copy todir="${buildDirectory}/features">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="*.feature*/**"/>
|
||||
</copy>
|
||||
<echo message="ncsa.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ncsa.*/**"/>
|
||||
</copy>
|
||||
<echo message="org.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="org.*/**"/>
|
||||
</copy>
|
||||
<echo message="net.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="net.*/**"/>
|
||||
</copy>
|
||||
</copy>
|
||||
<echo message="features.*/**"/>
|
||||
<copy todir="${buildDirectory}/features">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="*.feature*/**"/>
|
||||
</copy>
|
||||
<echo message="ncsa.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ncsa.*/**"/>
|
||||
</copy>
|
||||
<echo message="org.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="org.*/**"/>
|
||||
</copy>
|
||||
<echo message="net.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="net.*/**"/>
|
||||
</copy>
|
||||
<echo message="ohd.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ohd*/**"/>
|
||||
</copy>
|
||||
</copy>
|
||||
<echo message="meteolib.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="meteolib.*/**"/>
|
||||
</copy>
|
||||
<echo message="javax.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="javax.*/**"/>
|
||||
</copy>
|
||||
<echo message="gov.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="gov.*/**"/>
|
||||
</copy>
|
||||
<antcall target="getBaseComponents" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preGenerate">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postGenerate">
|
||||
<antcall target="clean" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preAssemble">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postAssemble">
|
||||
<copy todir="${buildDirectory}/../../static/common/alertviz/etc"
|
||||
verbose="true">
|
||||
<fileset dir="${buildDirectory}/../../static/common/cave/etc">
|
||||
<include name="alertViz*/**" />
|
||||
<include name="monitorIcons/**" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- Update the 32-bit linux AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 64-bit linux AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 32-bit win32 AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-win32.win32.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/win32.x86"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
|
||||
<delete includeEmptyDirs="true">
|
||||
<fileset dir="${buildDirectory}/../../static/common/alertviz/etc">
|
||||
<include name="alertViz*/**" />
|
||||
<include name="monitorIcons/**" />
|
||||
</fileset>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="prePackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postPackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after the build is done. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postBuild">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!-- Steps to do to test the build results -->
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="test">
|
||||
|
||||
<ant antfile="${builder}/test.xml" />
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="checkJUnitTestResults">
|
||||
|
||||
<taskdef name="checkJUnitReports" classname="sample.tools.TestResultCheck" classpath="${builder}/bin;${builder}/extraTools/sampletools.jar" />
|
||||
|
||||
<checkJUnitReports dir="${buildDirectory}/${buildLabel}/testresults" output="${buildDirectory}/junitresults.txt" />
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do to publish the build results -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="publish">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Default target -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="noDefault">
|
||||
<echo message="You must specify a target when invoking this file" />
|
||||
</target>
|
||||
|
||||
</project>
|
||||
</copy>
|
||||
<echo message="javax.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="javax.*/**"/>
|
||||
</copy>
|
||||
<echo message="gov.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="gov.*/**"/>
|
||||
</copy>
|
||||
<antcall target="getBaseComponents" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preGenerate">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postGenerate">
|
||||
<antcall target="clean" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preAssemble">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postAssemble">
|
||||
<copy todir="${buildDirectory}/../../static/common/alertviz/etc"
|
||||
verbose="true">
|
||||
<fileset dir="${buildDirectory}/../../static/common/cave/etc">
|
||||
<include name="alertViz*/**" />
|
||||
<include name="monitorIcons/**" />
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<!-- Update the 32-bit linux AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 64-bit linux AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 32-bit win32 AlertViz zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-win32.win32.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="cave/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/win32.x86"
|
||||
excludes="cave/**" />
|
||||
|
||||
</zip>
|
||||
|
||||
<delete includeEmptyDirs="true">
|
||||
<fileset dir="${buildDirectory}/../../static/common/alertviz/etc">
|
||||
<include name="alertViz*/**" />
|
||||
<include name="monitorIcons/**" />
|
||||
</fileset>
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="prePackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postPackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after the build is done. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postBuild">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!-- Steps to do to test the build results -->
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="test">
|
||||
|
||||
<ant antfile="${builder}/test.xml" />
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="checkJUnitTestResults">
|
||||
|
||||
<taskdef name="checkJUnitReports" classname="sample.tools.TestResultCheck" classpath="${builder}/bin;${builder}/extraTools/sampletools.jar" />
|
||||
|
||||
<checkJUnitReports dir="${buildDirectory}/${buildLabel}/testresults" output="${buildDirectory}/junitresults.txt" />
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do to publish the build results -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="publish">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Default target -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="noDefault">
|
||||
<echo message="You must specify a target when invoking this file" />
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
0
cave/build/build.ecl
Normal file
0
cave/build/build.ecl
Normal file
|
@ -1,485 +1,485 @@
|
|||
<project name="Build specific targets and properties" default="noDefault">
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Run a given ${target} on all elements being built -->
|
||||
<!-- Add on <ant> task for each top level element being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<property name="allElementsFile" value="${builder}/allElements.xml"/>
|
||||
<import file="${allElementsFile}" />
|
||||
<target name="allElements">
|
||||
<antcall target="allElementsDelegator" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
|
||||
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
|
||||
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
|
||||
</target>
|
||||
|
||||
<target name="checkLocalBase">
|
||||
<available file="${base}" property="skipBase" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Check out map files from correct repository -->
|
||||
<!-- Replace values for mapsCheckoutTag as desired. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="checkLocalMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="tagMapFiles" if="tagMaps">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="clean" unless="noclean">
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="cleanElement" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="gatherLogs">
|
||||
<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="gatherLogs" />
|
||||
</antcall>
|
||||
<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
|
||||
<fileset dir="${buildDirectory}/features">
|
||||
<include name="**/*.log.zip" />
|
||||
</fileset>
|
||||
</unzip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before setup -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preSetup">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after setup but before starting the build proper -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postSetup">
|
||||
<echo message="${buildDirectory}"/>
|
||||
<mkdir dir="${buildDirectory}/plugins"/>
|
||||
<echo message="com.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="com.*/**"/>
|
||||
</copy>
|
||||
<project name="Build specific targets and properties" default="noDefault">
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Run a given ${target} on all elements being built -->
|
||||
<!-- Add on <ant> task for each top level element being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<property name="allElementsFile" value="${builder}/allElements.xml"/>
|
||||
<import file="${allElementsFile}" />
|
||||
<target name="allElements">
|
||||
<antcall target="allElementsDelegator" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
|
||||
<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
|
||||
<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
|
||||
</target>
|
||||
|
||||
<target name="checkLocalBase">
|
||||
<available file="${base}" property="skipBase" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Check out map files from correct repository -->
|
||||
<!-- Replace values for mapsCheckoutTag as desired. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="checkLocalMaps">
|
||||
|
||||
</target>
|
||||
|
||||
<target name="tagMapFiles" if="tagMaps">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="clean" unless="noclean">
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="cleanElement" />
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="gatherLogs">
|
||||
<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
|
||||
<antcall target="allElements">
|
||||
<param name="target" value="gatherLogs" />
|
||||
</antcall>
|
||||
<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
|
||||
<fileset dir="${buildDirectory}/features">
|
||||
<include name="**/*.log.zip" />
|
||||
</fileset>
|
||||
</unzip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before setup -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preSetup">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after setup but before starting the build proper -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postSetup">
|
||||
<echo message="${buildDirectory}"/>
|
||||
<mkdir dir="${buildDirectory}/plugins"/>
|
||||
<echo message="com.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="com.*/**"/>
|
||||
</copy>
|
||||
<echo message="ucar.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ucar.*/**"/>
|
||||
</copy>
|
||||
<echo message="features.*/**"/>
|
||||
<copy todir="${buildDirectory}/features">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="*.feature*/**"/>
|
||||
</copy>
|
||||
<echo message="ncsa.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ncsa.*/**"/>
|
||||
</copy>
|
||||
<echo message="org.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="org.*/**"/>
|
||||
</copy>
|
||||
<echo message="net.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="net.*/**"/>
|
||||
</copy>
|
||||
</copy>
|
||||
<echo message="features.*/**"/>
|
||||
<copy todir="${buildDirectory}/features">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="*.feature*/**"/>
|
||||
</copy>
|
||||
<echo message="ncsa.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ncsa.*/**"/>
|
||||
</copy>
|
||||
<echo message="org.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="org.*/**"/>
|
||||
</copy>
|
||||
<echo message="net.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="net.*/**"/>
|
||||
</copy>
|
||||
<echo message="ohd.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="ohd*/**"/>
|
||||
</copy>
|
||||
</copy>
|
||||
<echo message="meteolib.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="meteolib.*/**"/>
|
||||
</copy>
|
||||
<echo message="javax.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="javax.*/**"/>
|
||||
</copy>
|
||||
<echo message="gov.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="gov.*/**"/>
|
||||
</copy>
|
||||
<echo message="edu.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="edu.*/**"/>
|
||||
</copy>
|
||||
<antcall target="getBaseComponents" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preGenerate">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postGenerate">
|
||||
<antcall target="clean" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preAssemble">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postAssemble">
|
||||
<!-- Update the 32-bit linux CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="alertviz/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux.x86" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 64-bit linux CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="alertviz/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux.x86_64" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 32-bit win32 CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-win32.win32.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/win32.x86"
|
||||
excludes="alertviz/**" />
|
||||
<!-- Include cave/etc in the win32 CAVE zip -->
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="alertviz/**" />
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="prePackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postPackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after the build is done. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postBuild">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
||||
classpath="${builder}/../lib/ant/ant-contrib-1.0b3.jar" />
|
||||
|
||||
<taskdef name="xmltask"
|
||||
classpath="${builder}/../lib/ant/xmltask-v1.15.1.jar"
|
||||
classname="com.oopsconsultancy.xmltask.ant.XmlTask" />
|
||||
|
||||
<!-- Generate the 32-bit CAVE ini files -->
|
||||
<var name="cave.arch" value="arch.x86" />
|
||||
<extractCAVEini
|
||||
zip.file="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip" />
|
||||
<antcall target="generateDynamicCAVE" />
|
||||
<!-- Update the 32-bit CAVE zip file -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
basedir="/tmp"
|
||||
includes="cave/*.ini, cave/*.sh"
|
||||
update="true" />
|
||||
|
||||
<!-- Generate the 64-bit CAVE ini files -->
|
||||
<var name="cave.arch" value="arch.x86_64" />
|
||||
<extractCAVEini
|
||||
zip.file="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip" />
|
||||
<antcall target="generateDynamicCAVE" />
|
||||
<!-- Update the 64-bit cave.ini file -->
|
||||
<antcall target="update64BitINI" />
|
||||
<!-- Update the 64-bit CAVE zip file -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
basedir="/tmp"
|
||||
includes="cave/*.ini, cave/*.sh"
|
||||
update="true" />
|
||||
</target>
|
||||
|
||||
<macrodef name="extractCAVEini">
|
||||
<attribute name="zip.file" />
|
||||
<sequential>
|
||||
|
||||
<unzip src="@{zip.file}"
|
||||
dest="/tmp">
|
||||
<patternset>
|
||||
<include name="**/cave/cave.ini" />
|
||||
</patternset>
|
||||
</unzip>
|
||||
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="verifyVersion">
|
||||
<attribute name="file.version" />
|
||||
|
||||
<sequential>
|
||||
<property name="___memorySettingsVersion___"
|
||||
value="3.0"/>
|
||||
<if>
|
||||
<not>
|
||||
<equals
|
||||
arg1="${___memorySettingsVersion___}"
|
||||
arg2="@{file.version}" />
|
||||
</not>
|
||||
<then>
|
||||
<fail
|
||||
message="ERROR: memorySettings.xml Version Mismatch." />
|
||||
</then>
|
||||
</if>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<target name="generateDynamicCAVE">
|
||||
<xmlproperty file="${builder}/memorySettings.xml"
|
||||
collapseAttributes="true"/>
|
||||
|
||||
<verifyVersion
|
||||
file.version="${cave-memory-settings.file-version}" />
|
||||
|
||||
<property name="iniLookupScript"
|
||||
value="/tmp/cave/iniLookup.sh" />
|
||||
<!-- Start the iniLookup.sh script -->
|
||||
<echo message="#!/bin/bash${line.separator}"
|
||||
file="${iniLookupScript}" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="# This auto-generated script will be sourced by caveUtil.sh.${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="export ASSOCIATED_INI=${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="function retrieveAssociatedINI()${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="{${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # Arguments${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # ${1} == one in the set: {-component, -perspective}${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # ${2} == the argument that corresponds to the first argument${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # AUTOGENERATED IF STATEMENTS."
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<xmltask source="${builder}/memorySettings.xml">
|
||||
<call path="//${cave.arch}/memory-setting">
|
||||
<param name="first-arg"
|
||||
path="command-line-args/first-arg/text()" />
|
||||
<param name="second-arg"
|
||||
path="command-line-args/second-arg/text()" />
|
||||
|
||||
<!-- TODO: Explore using copy and buffers to do
|
||||
the following actions in a better way. -->
|
||||
<param name="max-memory"
|
||||
path="ini-substitutions/max-memory/value/text()" />
|
||||
<param name="max-perm"
|
||||
path="ini-substitutions/max-perm/value/text()" />
|
||||
|
||||
<actions>
|
||||
<!-- Create a component-specific ini file -->
|
||||
<copy verbose="true"
|
||||
file="/tmp/cave/cave.ini"
|
||||
tofile="/tmp/cave/@{second-arg}.ini"
|
||||
overwrite="true" />
|
||||
|
||||
<!-- Update the ini file -->
|
||||
<update.ini
|
||||
ini.file="@{second-arg}.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-memory.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-memory.value}"
|
||||
new.value="@{max-memory}" />
|
||||
|
||||
<update.ini
|
||||
ini.file="@{second-arg}.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-perm.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-perm.value}"
|
||||
new.value="@{max-perm}" />
|
||||
|
||||
<!-- Add to the ini lookup utility script -->
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" if [ "$${1}" == "@{first-arg}" ] &&${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" [ "$${2}" == "@{second-arg}" ]; then${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<echo message=" export ASSOCIATED_INI="@{second-arg}.ini"${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" return 0${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" fi${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
</actions>
|
||||
</call>
|
||||
</xmltask>
|
||||
|
||||
<!-- Finish the iniLookup.sh script -->
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" return 1${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
</target>
|
||||
|
||||
<!-- Used to update cave.ini for the x86_64 cave. -->
|
||||
<target name="update64BitINI">
|
||||
<xmlproperty file="${builder}/memorySettings.xml"
|
||||
collapseAttributes="true"/>
|
||||
|
||||
<property name="caveXmx" value="2048M" />
|
||||
<property name="caveMaxPermSize" value="256m" />
|
||||
|
||||
<update.ini
|
||||
ini.file="cave.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-memory.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-memory.value}"
|
||||
new.value="${caveXmx}" />
|
||||
|
||||
<update.ini
|
||||
ini.file="cave.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-perm.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-perm.value}"
|
||||
new.value="${caveMaxPermSize}" />
|
||||
</target>
|
||||
|
||||
<macrodef name="update.ini">
|
||||
<attribute name="ini.file" />
|
||||
<attribute name="jvm.arg" />
|
||||
<attribute name="current.value" />
|
||||
<attribute name="new.value" />
|
||||
|
||||
<sequential>
|
||||
<if>
|
||||
<not>
|
||||
<equals arg1="@{new.value}"
|
||||
arg2="DEFAULT" />
|
||||
</not>
|
||||
<then>
|
||||
<exec executable="/bin/sed"
|
||||
output="/tmp/cave/ini.tmp">
|
||||
<arg value="-e" />
|
||||
<arg value="s/@{jvm.arg}@{current.value}/@{jvm.arg}@{new.value}/" />
|
||||
<arg value="/tmp/cave/@{ini.file}" />
|
||||
</exec>
|
||||
|
||||
<move verbose="true"
|
||||
file="/tmp/cave/ini.tmp"
|
||||
tofile="/tmp/cave/@{ini.file}"
|
||||
overwrite="true" />
|
||||
</then>
|
||||
</if>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!-- Steps to do to test the build results -->
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="test">
|
||||
|
||||
<ant antfile="${builder}/test.xml" />
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="checkJUnitTestResults">
|
||||
|
||||
<taskdef name="checkJUnitReports" classname="sample.tools.TestResultCheck" classpath="${builder}/bin;${builder}/extraTools/sampletools.jar" />
|
||||
|
||||
<checkJUnitReports dir="${buildDirectory}/${buildLabel}/testresults" output="${buildDirectory}/junitresults.txt" />
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do to publish the build results -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="publish">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Default target -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="noDefault">
|
||||
<echo message="You must specify a target when invoking this file" />
|
||||
</target>
|
||||
|
||||
</project>
|
||||
</copy>
|
||||
<echo message="javax.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="javax.*/**"/>
|
||||
</copy>
|
||||
<echo message="gov.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="gov.*/**"/>
|
||||
</copy>
|
||||
<echo message="edu.*/**"/>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../../" includes="edu.*/**"/>
|
||||
</copy>
|
||||
<antcall target="getBaseComponents" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after fetching the build elements -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postFetch">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preGenerate">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after generating the build scripts. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postGenerate">
|
||||
<antcall target="clean" />
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running the build.xmls for the elements being built. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postProcess">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="preAssemble">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running assemble. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postAssemble">
|
||||
<!-- Update the 32-bit linux CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="alertviz/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux.x86" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 64-bit linux CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/linux"
|
||||
excludes="alertviz/**" />
|
||||
<fileset dir="${buildDirectory}/../../static/linux.x86_64" />
|
||||
|
||||
</zip>
|
||||
<!-- Update the 32-bit win32 CAVE zip with static files -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-win32.win32.x86.zip"
|
||||
update="true">
|
||||
|
||||
<fileset dir="${buildDirectory}/../../static/win32.x86"
|
||||
excludes="alertviz/**" />
|
||||
<!-- Include cave/etc in the win32 CAVE zip -->
|
||||
<fileset dir="${buildDirectory}/../../static/common"
|
||||
excludes="alertviz/**" />
|
||||
</zip>
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do before running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="prePackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after running package. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postPackage">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do after the build is done. -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="postBuild">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
||||
classpath="${builder}/../lib/ant/ant-contrib-1.0b3.jar" />
|
||||
|
||||
<taskdef name="xmltask"
|
||||
classpath="${builder}/../lib/ant/xmltask-v1.15.1.jar"
|
||||
classname="com.oopsconsultancy.xmltask.ant.XmlTask" />
|
||||
|
||||
<!-- Generate the 32-bit CAVE ini files -->
|
||||
<var name="cave.arch" value="arch.x86" />
|
||||
<extractCAVEini
|
||||
zip.file="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip" />
|
||||
<antcall target="generateDynamicCAVE" />
|
||||
<!-- Update the 32-bit CAVE zip file -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86.zip"
|
||||
basedir="/tmp"
|
||||
includes="cave/*.ini, cave/*.sh"
|
||||
update="true" />
|
||||
|
||||
<!-- Generate the 64-bit CAVE ini files -->
|
||||
<var name="cave.arch" value="arch.x86_64" />
|
||||
<extractCAVEini
|
||||
zip.file="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip" />
|
||||
<antcall target="generateDynamicCAVE" />
|
||||
<!-- Update the 64-bit cave.ini file -->
|
||||
<antcall target="update64BitINI" />
|
||||
<!-- Update the 64-bit CAVE zip file -->
|
||||
<zip destfile="${buildDirectory}/${buildLabel}/${buildId}-linux.gtk.x86_64.zip"
|
||||
basedir="/tmp"
|
||||
includes="cave/*.ini, cave/*.sh"
|
||||
update="true" />
|
||||
</target>
|
||||
|
||||
<macrodef name="extractCAVEini">
|
||||
<attribute name="zip.file" />
|
||||
<sequential>
|
||||
|
||||
<unzip src="@{zip.file}"
|
||||
dest="/tmp">
|
||||
<patternset>
|
||||
<include name="**/cave/cave.ini" />
|
||||
</patternset>
|
||||
</unzip>
|
||||
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="verifyVersion">
|
||||
<attribute name="file.version" />
|
||||
|
||||
<sequential>
|
||||
<property name="___memorySettingsVersion___"
|
||||
value="3.0"/>
|
||||
<if>
|
||||
<not>
|
||||
<equals
|
||||
arg1="${___memorySettingsVersion___}"
|
||||
arg2="@{file.version}" />
|
||||
</not>
|
||||
<then>
|
||||
<fail
|
||||
message="ERROR: memorySettings.xml Version Mismatch." />
|
||||
</then>
|
||||
</if>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<target name="generateDynamicCAVE">
|
||||
<xmlproperty file="${builder}/memorySettings.xml"
|
||||
collapseAttributes="true"/>
|
||||
|
||||
<verifyVersion
|
||||
file.version="${cave-memory-settings.file-version}" />
|
||||
|
||||
<property name="iniLookupScript"
|
||||
value="/tmp/cave/iniLookup.sh" />
|
||||
<!-- Start the iniLookup.sh script -->
|
||||
<echo message="#!/bin/bash${line.separator}"
|
||||
file="${iniLookupScript}" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="# This auto-generated script will be sourced by caveUtil.sh.${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="export ASSOCIATED_INI=${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="function retrieveAssociatedINI()${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="{${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # Arguments${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # ${1} == one in the set: {-component, -perspective}${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # ${2} == the argument that corresponds to the first argument${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" # AUTOGENERATED IF STATEMENTS."
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<xmltask source="${builder}/memorySettings.xml">
|
||||
<call path="//${cave.arch}/memory-setting">
|
||||
<param name="first-arg"
|
||||
path="command-line-args/first-arg/text()" />
|
||||
<param name="second-arg"
|
||||
path="command-line-args/second-arg/text()" />
|
||||
|
||||
<!-- TODO: Explore using copy and buffers to do
|
||||
the following actions in a better way. -->
|
||||
<param name="max-memory"
|
||||
path="ini-substitutions/max-memory/value/text()" />
|
||||
<param name="max-perm"
|
||||
path="ini-substitutions/max-perm/value/text()" />
|
||||
|
||||
<actions>
|
||||
<!-- Create a component-specific ini file -->
|
||||
<copy verbose="true"
|
||||
file="/tmp/cave/cave.ini"
|
||||
tofile="/tmp/cave/@{second-arg}.ini"
|
||||
overwrite="true" />
|
||||
|
||||
<!-- Update the ini file -->
|
||||
<update.ini
|
||||
ini.file="@{second-arg}.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-memory.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-memory.value}"
|
||||
new.value="@{max-memory}" />
|
||||
|
||||
<update.ini
|
||||
ini.file="@{second-arg}.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-perm.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-perm.value}"
|
||||
new.value="@{max-perm}" />
|
||||
|
||||
<!-- Add to the ini lookup utility script -->
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" if [ "$${1}" == "@{first-arg}" ] &&${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" [ "$${2}" == "@{second-arg}" ]; then${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<echo message=" export ASSOCIATED_INI="@{second-arg}.ini"${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" return 0${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" fi${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
</actions>
|
||||
</call>
|
||||
</xmltask>
|
||||
|
||||
<!-- Finish the iniLookup.sh script -->
|
||||
<echo message="${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message=" return 1${line.separator}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
<echo message="}"
|
||||
file="${iniLookupScript}"
|
||||
append="true" />
|
||||
</target>
|
||||
|
||||
<!-- Used to update cave.ini for the x86_64 cave. -->
|
||||
<target name="update64BitINI">
|
||||
<xmlproperty file="${builder}/memorySettings.xml"
|
||||
collapseAttributes="true"/>
|
||||
|
||||
<property name="caveXmx" value="2048M" />
|
||||
<property name="caveMaxPermSize" value="256m" />
|
||||
|
||||
<update.ini
|
||||
ini.file="cave.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-memory.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-memory.value}"
|
||||
new.value="${caveXmx}" />
|
||||
|
||||
<update.ini
|
||||
ini.file="cave.ini"
|
||||
jvm.arg="${cave-memory-settings.default-memory-setting.default-max-perm.jvm-arg}"
|
||||
current.value="${cave-memory-settings.default-memory-setting.default-max-perm.value}"
|
||||
new.value="${caveMaxPermSize}" />
|
||||
</target>
|
||||
|
||||
<macrodef name="update.ini">
|
||||
<attribute name="ini.file" />
|
||||
<attribute name="jvm.arg" />
|
||||
<attribute name="current.value" />
|
||||
<attribute name="new.value" />
|
||||
|
||||
<sequential>
|
||||
<if>
|
||||
<not>
|
||||
<equals arg1="@{new.value}"
|
||||
arg2="DEFAULT" />
|
||||
</not>
|
||||
<then>
|
||||
<exec executable="/bin/sed"
|
||||
output="/tmp/cave/ini.tmp">
|
||||
<arg value="-e" />
|
||||
<arg value="s/@{jvm.arg}@{current.value}/@{jvm.arg}@{new.value}/" />
|
||||
<arg value="/tmp/cave/@{ini.file}" />
|
||||
</exec>
|
||||
|
||||
<move verbose="true"
|
||||
file="/tmp/cave/ini.tmp"
|
||||
tofile="/tmp/cave/@{ini.file}"
|
||||
overwrite="true" />
|
||||
</then>
|
||||
</if>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!-- Steps to do to test the build results -->
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<target name="test">
|
||||
|
||||
<ant antfile="${builder}/test.xml" />
|
||||
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="checkJUnitTestResults">
|
||||
|
||||
<taskdef name="checkJUnitReports" classname="sample.tools.TestResultCheck" classpath="${builder}/bin;${builder}/extraTools/sampletools.jar" />
|
||||
|
||||
<checkJUnitReports dir="${buildDirectory}/${buildLabel}/testresults" output="${buildDirectory}/junitresults.txt" />
|
||||
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Steps to do to publish the build results -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="publish">
|
||||
</target>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
<!-- Default target -->
|
||||
<!-- ===================================================================== -->
|
||||
<target name="noDefault">
|
||||
<echo message="You must specify a target when invoking this file" />
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -18,9 +18,13 @@
|
|||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<!--
|
||||
Date DR# Engineer Description
|
||||
03/26/2012 12864 zhao Changed CigVisTrendTimeout from 300 to 1800
|
||||
-->
|
||||
<ClimateTimeouts>
|
||||
<ClimateMetarTimeout>20</ClimateMetarTimeout>
|
||||
<WindRoseTimeout>20</WindRoseTimeout>
|
||||
<CigVisDistTimeout>90</CigVisDistTimeout>
|
||||
<CigVisTrendTimeout>300</CigVisTrendTimeout>
|
||||
<CigVisTrendTimeout>1800</CigVisTrendTimeout>
|
||||
</ClimateTimeouts>
|
||||
|
|
|
@ -452,7 +452,8 @@ class Procedure (SmartScript.SmartScript):
|
|||
" locked by another user."
|
||||
self.statusBarMsg(msg, "S")
|
||||
continue
|
||||
gustGrid[windTooHigh] = windGrid
|
||||
|
||||
gustGrid = where(windTooHigh, windGrid, gustGrid)
|
||||
self.createGrid(MODEL, "WindGust", "SCALAR", gustGrid, tr)
|
||||
gustDict[tr] = gustGrid # update the gustDict
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ VariableList=[]
|
|||
VariableList.append(("Value:",1,"numeric"))
|
||||
VariableList.append(("Action:","Add","radio",["Add","Subtract","Multiply","Divide"]))
|
||||
VariableList.append(("Elevation:","None","radio",["None","Mountain","Valley","Specific"]))
|
||||
VariableList.append(("Vectors:","Magnitude","radio",["Both","Magnitude","Direction"]))
|
||||
VariableList.append(("Vectors:","Magnitude","radio",["Magnitude","Direction"]))
|
||||
VariableList.append(("Edge:","Flat","radio",["Flat","Edge","Taper"]))
|
||||
VariableList.append(("Edge Width:",5,"scale",[1,30],1))
|
||||
VariableList.append(("Specific Elevation:",5000,"numeric"))
|
||||
|
@ -76,7 +76,7 @@ class Tool (SmartScript.SmartScript):
|
|||
SmartScript.SmartScript.__init__(self, dbss)
|
||||
def preProcessTool(self):
|
||||
self.savemode=self.getVectorEditMode()
|
||||
self.setVectorEditMode("Both")
|
||||
self.setVectorEditMode("Magnitude")
|
||||
def postProcessTool(self):
|
||||
self.setVectorEditMode(self.savemode)
|
||||
def preProcessGrid(self,Topo,editArea,varDict):
|
||||
|
@ -167,7 +167,7 @@ class Tool (SmartScript.SmartScript):
|
|||
else:
|
||||
mag=variableElement[0]
|
||||
dir=variableElement[1]
|
||||
if ((vect=="Magnitude")or(vect=="Both")):
|
||||
if (vect=="Magnitude"):
|
||||
if (action=="Add"):
|
||||
newmag=mag+(self.deltagrid*deltavalue)
|
||||
elif (action=="Subtract"):
|
||||
|
|
|
@ -162,6 +162,7 @@ class DiscretePhrases(PhraseBuilder.PhraseBuilder):
|
|||
|
||||
timeDescriptor = self.headlinesTimeRange_descriptor(
|
||||
tree, node, key, tr, areaLabel, issuanceTime)
|
||||
from com.raytheon.uf.common.dataplugin.gfe.discrete import DiscreteKey
|
||||
headlineWords = DiscreteKey.discreteDefinition(siteId).keyDesc(
|
||||
"Hazards" + "_SFC", key)
|
||||
if headlineWords == "": # Don't process the "<None>" key
|
||||
|
|
121
cave/build/static/common/cave/etc/ncep/nsharp/nsharpConfig.xml
Normal file
121
cave/build/static/common/cave/etc/ncep/nsharp/nsharpConfig.xml
Normal file
|
@ -0,0 +1,121 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<NsharpConfigStore xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
|
||||
<graphProperty tempOffset="0" windBarbDistance="400" windBarb="true" corfidiV="false" omega="true" smvBunkersL="true" smvBunkersR="true" smv1585="false" smv3075="false" meanWind="true" hodo="true" cloud="false" effLayer="true" moistAdiabat="false" dryAdiabat="true" mixratio="false" wetBulb="true" vTemp="true" parcel="true" dewp="true" temp="true"/>
|
||||
<linePropertyMap>
|
||||
<Line lineName="Compare 6">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 255}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 5">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 215, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 4">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {30, 144, 255}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Icing EPI">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 255}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 3">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {155, 0, 220}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Wind Barb">
|
||||
<lineProperty lineWidth="1" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 255, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Icing RH">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 9">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 139, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 8">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {139, 0, 139}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 7">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {139, 71, 38}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 10">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {144, 238, 144}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Overlay 2">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Temperature">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Overlay 1">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Turbulence WindShear">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 174, 185}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 2">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Compare 1">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Icing Temp">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Wetbulb">
|
||||
<lineProperty lineWidth="1" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 255}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Turbulence Ln">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {255, 0, 255}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Virtual Temp">
|
||||
<lineProperty lineWidth="2" lineStyle="SHORT_DASHED">
|
||||
<lineColor>RGB {255, 0, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Dew Point">
|
||||
<lineProperty lineWidth="2" lineStyle="SOLID">
|
||||
<lineColor>RGB {0, 255, 0}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
<Line lineName="Parcel">
|
||||
<lineProperty lineWidth="1" lineStyle="SHORT_DASHED">
|
||||
<lineColor>RGB {255, 250, 250}</lineColor>
|
||||
</lineProperty>
|
||||
</Line>
|
||||
</linePropertyMap>
|
||||
</NsharpConfigStore>
|
|
@ -1,69 +1,69 @@
|
|||
@echo OFF
|
||||
|
||||
REM Determine if we are running on a 32-bit or 64-bit OS.
|
||||
IF NOT EXIST C:\Windows\SysWOW64\reg.exe (
|
||||
SET REG_EXE=C:\Windows\System32\reg.exe
|
||||
) ELSE (
|
||||
SET REG_EXE=C:\Windows\SysWOW64\reg.exe
|
||||
)
|
||||
|
||||
REM Determine where we are located.
|
||||
SET CONTAINING_DIRECTORY=%~dp0
|
||||
|
||||
REM Prepare the environment.
|
||||
|
||||
REM Registry Query Variables.
|
||||
SET A2_JAVA_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Java"
|
||||
SET A2_PYTHON_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Python"
|
||||
REM Determine where AWIPS II Java (the jre) is located.
|
||||
%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Java. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory') DO (
|
||||
SET JavaJreDirectory=%%B)
|
||||
REM Determine where AWIPS II Python is located.
|
||||
%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Python. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory') DO (
|
||||
SET PythonInstallDirectory=%%B)
|
||||
|
||||
REM Add Java and Python to the path.
|
||||
SET Path=%PythonInstallDirectory%;%PythonInstallDirectory%\DLLs;%Path%
|
||||
SET Path=%JavaJreDirectory%\bin;%Path%
|
||||
REM Define 'PythonPath'.
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib\lib-tk;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\DLLs;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%;%PythonPath%
|
||||
|
||||
REM Eliminate variables that will no longer be used.
|
||||
SET PythonInstallDirectory=
|
||||
SET JavaJreDirectory=
|
||||
SET REG_EXE=
|
||||
SET A2_JAVA_REG=
|
||||
SET A2_PYTHON_REG=
|
||||
|
||||
REM Determine where we will be logging to.
|
||||
SET HOME_DIRECTORY=%HOMEDRIVE%%HOMEPATH%
|
||||
SET CAVEDATA_LOG_DIRECTORY=%HOMEDRIVE%%HOMEPATH%\caveData\logs
|
||||
SET CONSOLE_LOG_DIRECTORY=%CAVEDATA_LOG_DIRECTORY%\consoleLogs\%COMPUTERNAME%
|
||||
IF NOT EXIST "%CONSOLE_LOG_DIRECTORY%" (MKDIR "%CONSOLE_LOG_DIRECTORY%")
|
||||
|
||||
echo Starting ALERTVIZ; leave this CMD window open to enable AlertViz 'restart'.
|
||||
REM Start AlertViz (and implement the alertviz restart capability).
|
||||
:AlertVizLoopStart
|
||||
SET RND=%random%
|
||||
SET RND_DATETIME_FILE=%TMP%\awips2dt_%RND%.tmp
|
||||
REM Python is used to retrieve the current date and time because the order
|
||||
REM of the Windows date/time fields is not necessarily guaranteed and the
|
||||
REM Windows date/time fields can only be extracted using substring operations
|
||||
REM instead of -formatter- strings like Linux allows.
|
||||
python -c "from datetime import datetime; print datetime.now().strftime('%%Y%%m%%d_%%H%%M%%S');" > %RND_DATETIME_FILE%
|
||||
SET /p LOG_DATETIME= < %RND_DATETIME_FILE%
|
||||
DEL %RND_DATETIME_FILE%
|
||||
"%CONTAINING_DIRECTORY%alertviz.exe" %* > "%CONSOLE_LOG_DIRECTORY%\alertviz_%LOG_DATETIME%.log" 2>&1
|
||||
IF %ERRORLEVEL% == 0 (EXIT)
|
||||
echo Restarting AlertViz.
|
||||
GOTO AlertVizLoopStart
|
||||
|
||||
@echo OFF
|
||||
|
||||
REM Determine if we are running on a 32-bit or 64-bit OS.
|
||||
IF NOT EXIST C:\Windows\SysWOW64\reg.exe (
|
||||
SET REG_EXE=C:\Windows\System32\reg.exe
|
||||
) ELSE (
|
||||
SET REG_EXE=C:\Windows\SysWOW64\reg.exe
|
||||
)
|
||||
|
||||
REM Determine where we are located.
|
||||
SET CONTAINING_DIRECTORY=%~dp0
|
||||
|
||||
REM Prepare the environment.
|
||||
|
||||
REM Registry Query Variables.
|
||||
SET A2_JAVA_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Java"
|
||||
SET A2_PYTHON_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Python"
|
||||
REM Determine where AWIPS II Java (the jre) is located.
|
||||
%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Java. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory') DO (
|
||||
SET JavaJreDirectory=%%B)
|
||||
REM Determine where AWIPS II Python is located.
|
||||
%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Python. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory') DO (
|
||||
SET PythonInstallDirectory=%%B)
|
||||
|
||||
REM Add Java and Python to the path.
|
||||
SET Path=%PythonInstallDirectory%;%PythonInstallDirectory%\DLLs;%Path%
|
||||
SET Path=%JavaJreDirectory%\bin;%Path%
|
||||
REM Define 'PythonPath'.
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib\lib-tk;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\DLLs;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%;%PythonPath%
|
||||
|
||||
REM Eliminate variables that will no longer be used.
|
||||
SET PythonInstallDirectory=
|
||||
SET JavaJreDirectory=
|
||||
SET REG_EXE=
|
||||
SET A2_JAVA_REG=
|
||||
SET A2_PYTHON_REG=
|
||||
|
||||
REM Determine where we will be logging to.
|
||||
SET HOME_DIRECTORY=%HOMEDRIVE%%HOMEPATH%
|
||||
SET CAVEDATA_LOG_DIRECTORY=%HOMEDRIVE%%HOMEPATH%\caveData\logs
|
||||
SET CONSOLE_LOG_DIRECTORY=%CAVEDATA_LOG_DIRECTORY%\consoleLogs\%COMPUTERNAME%
|
||||
IF NOT EXIST "%CONSOLE_LOG_DIRECTORY%" (MKDIR "%CONSOLE_LOG_DIRECTORY%")
|
||||
|
||||
echo Starting ALERTVIZ; leave this CMD window open to enable AlertViz 'restart'.
|
||||
REM Start AlertViz (and implement the alertviz restart capability).
|
||||
:AlertVizLoopStart
|
||||
SET RND=%random%
|
||||
SET RND_DATETIME_FILE=%TMP%\awips2dt_%RND%.tmp
|
||||
REM Python is used to retrieve the current date and time because the order
|
||||
REM of the Windows date/time fields is not necessarily guaranteed and the
|
||||
REM Windows date/time fields can only be extracted using substring operations
|
||||
REM instead of -formatter- strings like Linux allows.
|
||||
python -c "from datetime import datetime; print datetime.now().strftime('%%Y%%m%%d_%%H%%M%%S');" > %RND_DATETIME_FILE%
|
||||
SET /p LOG_DATETIME= < %RND_DATETIME_FILE%
|
||||
DEL %RND_DATETIME_FILE%
|
||||
"%CONTAINING_DIRECTORY%alertviz.exe" %* > "%CONSOLE_LOG_DIRECTORY%\alertviz_%LOG_DATETIME%.log" 2>&1
|
||||
IF %ERRORLEVEL% == 0 (EXIT)
|
||||
echo Restarting AlertViz.
|
||||
GOTO AlertVizLoopStart
|
||||
|
||||
|
|
|
@ -1,72 +1,72 @@
|
|||
@echo OFF
|
||||
|
||||
REM Determine if we are running on a 32-bit or 64-bit OS.
|
||||
IF NOT EXIST C:\Windows\SysWOW64\reg.exe (
|
||||
SET REG_EXE=C:\Windows\System32\reg.exe
|
||||
) ELSE (
|
||||
SET REG_EXE=C:\Windows\SysWOW64\reg.exe
|
||||
)
|
||||
|
||||
REM Determine where we are located.
|
||||
SET CONTAINING_DIRECTORY=%~dp0
|
||||
|
||||
REM Prepare the environment.
|
||||
|
||||
REM Registry Query Variables.
|
||||
SET A2_JAVA_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Java"
|
||||
SET A2_PYTHON_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Python"
|
||||
REM Determine where AWIPS II Java (the jre) is located.
|
||||
%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Java. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory') DO (
|
||||
SET JavaJreDirectory=%%B)
|
||||
REM Determine where AWIPS II Python is located.
|
||||
%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Python. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory') DO (
|
||||
SET PythonInstallDirectory=%%B)
|
||||
|
||||
REM Add Java and Python to the path.
|
||||
SET Path=%PythonInstallDirectory%;%PythonInstallDirectory%\DLLs;%Path%
|
||||
SET Path=%JavaJreDirectory%\bin;%Path%
|
||||
REM Add the CAVE lib directory to the path.
|
||||
SET Path=%CONTAINING_DIRECTORY%lib;%Path%
|
||||
REM Define 'PythonPath'.
|
||||
SET PythonPath=%CONTAINING_DIRECTORY%lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib\lib-tk;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\DLLs;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%;%PythonPath%
|
||||
|
||||
REM Eliminate variables that will no longer be used.
|
||||
SET PythonInstallDirectory=
|
||||
SET JavaJreDirectory=
|
||||
SET REG_EXE=
|
||||
SET A2_JAVA_REG=
|
||||
SET A2_PYTHON_REG=
|
||||
|
||||
REM Determine where we will be logging to.
|
||||
SET HOME_DIRECTORY=%HOMEDRIVE%%HOMEPATH%
|
||||
SET CAVEDATA_LOG_DIRECTORY=%HOMEDRIVE%%HOMEPATH%\caveData\logs
|
||||
SET CONSOLE_LOG_DIRECTORY=%CAVEDATA_LOG_DIRECTORY%\consoleLogs\%COMPUTERNAME%
|
||||
IF NOT EXIST "%CONSOLE_LOG_DIRECTORY%" (MKDIR "%CONSOLE_LOG_DIRECTORY%")
|
||||
|
||||
SET RND=%random%
|
||||
SET RND_DATETIME_FILE=%TMP%\awips2dt_%RND%.tmp
|
||||
REM Python is used to retrieve the current date and time because the order
|
||||
REM of the Windows date/time fields is not necessarily guaranteed and the
|
||||
REM Windows date/time fields can only be extracted using substring operations
|
||||
REM instead of -formatter- strings like Linux allows.
|
||||
python -c "from datetime import datetime; print datetime.now().strftime('%%Y%%m%%d_%%H%%M%%S');" > %RND_DATETIME_FILE%
|
||||
SET /p LOG_DATETIME= < %RND_DATETIME_FILE%
|
||||
DEL %RND_DATETIME_FILE%
|
||||
|
||||
echo THIS CMD WINDOW CAN BE CLOSED AT ANY TIME!
|
||||
cd %HOMEPATH%
|
||||
REM Start CAVE.
|
||||
"%CONTAINING_DIRECTORY%cave.exe" %* > "%CONSOLE_LOG_DIRECTORY%\cave_%LOG_DATETIME%.log" 2>&1
|
||||
IF ERRORLEVEL 1 (echo CAVE ERROR - check the logs for additional information. && PAUSE)
|
||||
|
||||
EXIT
|
||||
@echo OFF
|
||||
|
||||
REM Determine if we are running on a 32-bit or 64-bit OS.
|
||||
IF NOT EXIST C:\Windows\SysWOW64\reg.exe (
|
||||
SET REG_EXE=C:\Windows\System32\reg.exe
|
||||
) ELSE (
|
||||
SET REG_EXE=C:\Windows\SysWOW64\reg.exe
|
||||
)
|
||||
|
||||
REM Determine where we are located.
|
||||
SET CONTAINING_DIRECTORY=%~dp0
|
||||
|
||||
REM Prepare the environment.
|
||||
|
||||
REM Registry Query Variables.
|
||||
SET A2_JAVA_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Java"
|
||||
SET A2_PYTHON_REG="HKLM\Software\Raytheon\Runtime Environment\AWIPS II Python"
|
||||
REM Determine where AWIPS II Java (the jre) is located.
|
||||
%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Java. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_JAVA_REG% /v JavaJreDirectory') DO (
|
||||
SET JavaJreDirectory=%%B)
|
||||
REM Determine where AWIPS II Python is located.
|
||||
%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory > NUL 2>&1
|
||||
IF ERRORLEVEL 1 (echo ENVIRONMENT ERROR - Unable to find AWIPS II Python. && PAUSE && EXIT)
|
||||
FOR /F "tokens=2* delims= " %%A IN (
|
||||
'%REG_EXE% QUERY %A2_PYTHON_REG% /v PythonInstallDirectory') DO (
|
||||
SET PythonInstallDirectory=%%B)
|
||||
|
||||
REM Add Java and Python to the path.
|
||||
SET Path=%PythonInstallDirectory%;%PythonInstallDirectory%\DLLs;%Path%
|
||||
SET Path=%JavaJreDirectory%\bin;%Path%
|
||||
REM Add the CAVE lib directory to the path.
|
||||
SET Path=%CONTAINING_DIRECTORY%lib;%Path%
|
||||
REM Define 'PythonPath'.
|
||||
SET PythonPath=%CONTAINING_DIRECTORY%lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib\lib-tk;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\DLLs;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%\Lib;%PythonPath%
|
||||
SET PythonPath=%PythonInstallDirectory%;%PythonPath%
|
||||
|
||||
REM Eliminate variables that will no longer be used.
|
||||
SET PythonInstallDirectory=
|
||||
SET JavaJreDirectory=
|
||||
SET REG_EXE=
|
||||
SET A2_JAVA_REG=
|
||||
SET A2_PYTHON_REG=
|
||||
|
||||
REM Determine where we will be logging to.
|
||||
SET HOME_DIRECTORY=%HOMEDRIVE%%HOMEPATH%
|
||||
SET CAVEDATA_LOG_DIRECTORY=%HOMEDRIVE%%HOMEPATH%\caveData\logs
|
||||
SET CONSOLE_LOG_DIRECTORY=%CAVEDATA_LOG_DIRECTORY%\consoleLogs\%COMPUTERNAME%
|
||||
IF NOT EXIST "%CONSOLE_LOG_DIRECTORY%" (MKDIR "%CONSOLE_LOG_DIRECTORY%")
|
||||
|
||||
SET RND=%random%
|
||||
SET RND_DATETIME_FILE=%TMP%\awips2dt_%RND%.tmp
|
||||
REM Python is used to retrieve the current date and time because the order
|
||||
REM of the Windows date/time fields is not necessarily guaranteed and the
|
||||
REM Windows date/time fields can only be extracted using substring operations
|
||||
REM instead of -formatter- strings like Linux allows.
|
||||
python -c "from datetime import datetime; print datetime.now().strftime('%%Y%%m%%d_%%H%%M%%S');" > %RND_DATETIME_FILE%
|
||||
SET /p LOG_DATETIME= < %RND_DATETIME_FILE%
|
||||
DEL %RND_DATETIME_FILE%
|
||||
|
||||
echo THIS CMD WINDOW CAN BE CLOSED AT ANY TIME!
|
||||
cd %HOMEPATH%
|
||||
REM Start CAVE.
|
||||
"%CONTAINING_DIRECTORY%cave.exe" %* > "%CONSOLE_LOG_DIRECTORY%\cave_%LOG_DATETIME%.log" 2>&1
|
||||
IF ERRORLEVEL 1 (echo CAVE ERROR - check the logs for additional information. && PAUSE)
|
||||
|
||||
EXIT
|
||||
|
|
0
cave/build/static/win32.x86/cave/lib/libgcc_s_dw2-1.dll
Executable file → Normal file
0
cave/build/static/win32.x86/cave/lib/libgcc_s_dw2-1.dll
Executable file → Normal file
0
cave/build/static/win32.x86/cave/lib/libgfortran-3.dll
Executable file → Normal file
0
cave/build/static/win32.x86/cave/lib/libgfortran-3.dll
Executable file → Normal file
0
cave/build/static/win32.x86/cave/lib/libquadmath-0.dll
Executable file → Normal file
0
cave/build/static/win32.x86/cave/lib/libquadmath-0.dll
Executable file → Normal file
|
@ -27,4 +27,8 @@
|
|||
<framesPerSecondPreference>25</framesPerSecondPreference>
|
||||
<tileBoundaries>false</tileBoundaries>
|
||||
<fontMagnification>1.0</fontMagnification>
|
||||
<qpid>
|
||||
<max_count>1000</max_count>
|
||||
<policy_type>ring</policy_type>
|
||||
</qpid>
|
||||
</configuration>
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
/**
|
||||
* 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
|
||||
* 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
|
||||
*
|
||||
* 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.
|
||||
**/
|
||||
|
|
|
@ -39,14 +39,14 @@ import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 11/01/2007 #518 S.Manoj Initial version
|
||||
* 11/16/2009 #3120 rjpeter Modifed to better integrate with level framework.
|
||||
* 11/21/2009 #3576 rjpeter Added group
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 11/01/2007 #518 S.Manoj Initial version
|
||||
* 11/16/2009 #3120 rjpeter Modifed to better integrate with level framework.
|
||||
* 11/21/2009 #3576 rjpeter Added group
|
||||
*
|
||||
* @author smanoj
|
||||
* @version 1.0
|
||||
*/
|
||||
|
|
|
@ -54,6 +54,7 @@ import com.raytheon.uf.viz.core.Activator;
|
|||
import com.raytheon.uf.viz.core.comm.JMSConnection;
|
||||
import com.raytheon.uf.viz.core.notification.INotificationObserver;
|
||||
import com.raytheon.uf.viz.core.notification.NotificationMessage;
|
||||
import com.raytheon.uf.viz.core.preferences.JMSPreferences;
|
||||
|
||||
/**
|
||||
* Job to monitor the JMS topic containing notification messages, delegating the
|
||||
|
@ -505,10 +506,11 @@ public class NotificationManagerJob implements ExceptionListener, IDisposable {
|
|||
disconnect();
|
||||
session = manager.connection.createSession(false,
|
||||
Session.AUTO_ACKNOWLEDGE);
|
||||
|
||||
if (session != null) {
|
||||
String topicName = id;
|
||||
Topic t = session.createTopic(topicName);
|
||||
|
||||
Topic t = session.createTopic(JMSPreferences
|
||||
.getPolicyString(topicName));
|
||||
if (queryString != null) {
|
||||
consumer = session.createConsumer(t, queryString);
|
||||
} else {
|
||||
|
|
|
@ -0,0 +1,148 @@
|
|||
/**
|
||||
* 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.viz.core.preferences;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
|
||||
import com.raytheon.uf.viz.core.Activator;
|
||||
|
||||
/**
|
||||
* Serialized class for the JMS policy type
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jan 30, 2012 mnash Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mnash
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class JMSPreferences {
|
||||
|
||||
// these are the policy types as supported by QPID
|
||||
//
|
||||
// reject - reject the message if the topic is full
|
||||
//
|
||||
// ring - start overwriting messages in a ring based on sizing. If head
|
||||
// meets tail, advance head.
|
||||
//
|
||||
// flow to disk - flow the messages to disk to preserve memory
|
||||
//
|
||||
// ring strict - start overwriting messages in a ring based on sizing. If
|
||||
// head meets tail, AND the consumer has the tail message acquired it will
|
||||
// reject
|
||||
//
|
||||
public enum PolicyType {
|
||||
REJECT("reject"), RING("ring"), FLOW_TO_DISK("flow_to_disk"), RING_STRICT(
|
||||
"ring_strict");
|
||||
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* @return the type
|
||||
*/
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
private PolicyType(String name) {
|
||||
type = name;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// declare topic as ADDR, not BURL
|
||||
private static final String addressArgs = "ADDR:'amq.topic'/";
|
||||
|
||||
private static final String declareArgs = "; { node: { type: 'topic', x-declare: {arguments: {";
|
||||
|
||||
private static final String linkArgs = "}}}, link: { name: '";
|
||||
|
||||
private static final String linkDeclareArgs = "', x-declare: {arguments: {";
|
||||
|
||||
private static final String QPID_MAX_COUNT = "qpid.max_count";
|
||||
|
||||
private static final String QPID_POLICY_TYPE = "qpid.policy_type";
|
||||
|
||||
private static String policyType = "";
|
||||
|
||||
private static int maxVal = 0;
|
||||
|
||||
// putting together the arguments for the qpid queue
|
||||
public static String getPolicyString(String val) {
|
||||
// for qpid.policy_type, there is a corresponding constant in
|
||||
// QpidQueueOptions, but did not want to add a dependency
|
||||
|
||||
return addressArgs + val + declareArgs + "'" + QPID_MAX_COUNT + "':"
|
||||
+ getMaxCount() + ",'" + QPID_POLICY_TYPE + "':"
|
||||
+ getPolicyType() + linkArgs + val + UUID.randomUUID()
|
||||
+ linkDeclareArgs + "'" + QPID_MAX_COUNT + "':" + getMaxCount()
|
||||
+ ",'" + QPID_POLICY_TYPE + "':" + getPolicyType() + "}}}}";
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the policyTypeOption
|
||||
*/
|
||||
public static String getPolicyType() {
|
||||
if (policyType != null && !policyType.isEmpty()) {
|
||||
return policyType;
|
||||
}
|
||||
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
|
||||
String value = store.getString(QPID_POLICY_TYPE);
|
||||
// validation
|
||||
for (PolicyType type : PolicyType.values()) {
|
||||
if (!type.getType().equals(value)) {
|
||||
policyType = value;
|
||||
}
|
||||
}
|
||||
// fail safe for bad configurations
|
||||
if (policyType == null || policyType.isEmpty()) {
|
||||
policyType = PolicyType.RING.getType();
|
||||
}
|
||||
return "'" + policyType + "'";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the max count as given in the config.xml in the preference store
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static int getMaxCount() {
|
||||
if (maxVal != 0) {
|
||||
return maxVal;
|
||||
}
|
||||
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
|
||||
maxVal = store.getInt(QPID_MAX_COUNT);
|
||||
|
||||
// fail safe
|
||||
if (maxVal == 0) {
|
||||
maxVal = 1000;
|
||||
}
|
||||
return maxVal;
|
||||
}
|
||||
}
|
|
@ -1,19 +1,19 @@
|
|||
/**
|
||||
* 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
|
||||
* 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
|
||||
*
|
||||
* 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.
|
||||
**/
|
||||
|
|
|
@ -32,6 +32,7 @@ import com.raytheon.uf.common.message.IMessage;
|
|||
import com.raytheon.uf.common.serialization.SerializationException;
|
||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||
import com.raytheon.uf.viz.core.comm.JMSConnection;
|
||||
import com.raytheon.uf.viz.core.preferences.JMSPreferences;
|
||||
|
||||
/**
|
||||
* Sends messages to jms endpoints programmatically.
|
||||
|
@ -88,7 +89,8 @@ public class MessageSender {
|
|||
dest = session.createQueue(endpoint);
|
||||
}
|
||||
if (DestinationType.TOPIC.equals(type)) {
|
||||
dest = session.createTopic(endpoint);
|
||||
dest = session
|
||||
.createTopic(JMSPreferences.getPolicyString(endpoint));
|
||||
}
|
||||
return dest;
|
||||
|
||||
|
|
0
cave/com.raytheon.uf.viz.cwa/com.raytheon.uf.viz.cwa.ecl
Normal file
0
cave/com.raytheon.uf.viz.cwa/com.raytheon.uf.viz.cwa.ecl
Normal file
|
@ -61,6 +61,7 @@ import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
|
|||
import com.raytheon.uf.viz.core.rsc.IResourceGroup;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
import com.raytheon.uf.viz.core.rsc.ResourceList;
|
||||
import com.raytheon.uf.viz.core.time.TimeMatchingJob;
|
||||
import com.raytheon.uf.viz.d2d.core.D2DLoadProperties;
|
||||
|
||||
/**
|
||||
|
@ -72,6 +73,7 @@ import com.raytheon.uf.viz.d2d.core.D2DLoadProperties;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 10, 2009 chammack Initial creation
|
||||
* 2012-04-20 DR 14699 D. Friedman Work around race conditions
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -122,6 +124,10 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
|
||||
private AbstractTimeMatchingConfigurationFactory configFactory;
|
||||
|
||||
// DR 14699 work arounds
|
||||
private boolean needRetry;
|
||||
private int nRetries;
|
||||
|
||||
/**
|
||||
* Default Constructor.
|
||||
*/
|
||||
|
@ -152,6 +158,8 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
public void redoTimeMatching(IDescriptor descriptor) throws VizException {
|
||||
|
||||
synchronized (this) {
|
||||
needRetry = false;
|
||||
|
||||
if (timeMatchBasis != null) {
|
||||
IDescriptor tmDescriptor = timeMatchBasis.getDescriptor();
|
||||
if (tmDescriptor != null && tmDescriptor != descriptor) {
|
||||
|
@ -175,8 +183,11 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
Iterator<ResourcePair> pairIterator = descriptor.getResourceList()
|
||||
.listIterator();
|
||||
while (pairIterator.hasNext()) {
|
||||
AbstractVizResource<?, ?> rsc = pairIterator.next()
|
||||
ResourcePair rp = pairIterator.next();
|
||||
AbstractVizResource<?, ?> rsc = rp
|
||||
.getResource();
|
||||
if (rsc == null && rp.getResourceData() instanceof AbstractRequestableResourceData)
|
||||
needRetry = true;
|
||||
recursiveOverlay(descriptor, new FramesInfo(timeSteps, -1,
|
||||
resourceTimeMap), rsc);
|
||||
}
|
||||
|
@ -193,6 +204,14 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
timeMatchUpdate(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
if (needRetry) {
|
||||
if (nRetries < 200) {
|
||||
++nRetries;
|
||||
TimeMatchingJob.scheduleTimeMatch(descriptor);
|
||||
}
|
||||
} else
|
||||
nRetries = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,6 +322,8 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
if (rsc instanceof IResourceGroup) {
|
||||
for (ResourcePair rp : ((IResourceGroup) rsc).getResourceList()) {
|
||||
AbstractVizResource<?, ?> rsc1 = rp.getResource();
|
||||
if (rsc1 == null && rp.getResourceData() instanceof AbstractRequestableResourceData)
|
||||
needRetry = true;
|
||||
recursiveOverlay(descriptor, framesInfo, rsc1);
|
||||
}
|
||||
}
|
||||
|
@ -311,7 +332,9 @@ public class D2DTimeMatcher extends AbstractTimeMatcher implements
|
|||
TimeMatchingConfiguration config = getConfiguration(rsc
|
||||
.getLoadProperties());
|
||||
DataTime[] timeSteps = getFrameTimes(descriptor, framesInfo);
|
||||
if (Arrays.equals(timeSteps, config.getLastBaseTimes())) {
|
||||
if (Arrays.equals(timeSteps, config.getLastBaseTimes()) &&
|
||||
config.getLastFrameTimes() != null &&
|
||||
config.getLastFrameTimes().length > 0) {
|
||||
framesInfo.getTimeMap().put(rsc, config.getLastFrameTimes());
|
||||
} else {
|
||||
config = config.clone();
|
||||
|
|
|
@ -94,7 +94,7 @@ public class MdlSndNSharpResourceData extends D2DNSharpResourceData {
|
|||
|
||||
@Override
|
||||
protected NcSoundingCube getSoundingCube(NsharpStationInfo stnInfo) {
|
||||
float[][] latLon = { { stnInfo.getLatitude(), stnInfo.getLongitude() } };
|
||||
double[][] latLon = { { stnInfo.getLatitude(), stnInfo.getLongitude() } };
|
||||
return NcSoundingQuery.pfcSoundingQueryByLatLon(stnInfo.getReftime()
|
||||
.getTime(), stnInfo.getRangestarttime().getTime(), latLon,
|
||||
stnInfo.getSndType(), NcSoundingLayer.DataType.ALLDATA, false,
|
||||
|
|
|
@ -37,6 +37,28 @@
|
|||
</contourLabeling>
|
||||
</contourStyle>
|
||||
</styleRule>
|
||||
|
||||
<!--
|
||||
* GH, GHxSM, zAGL
|
||||
dam | 0.1 | 0.0 | 4 | i4 | |..|8000F0FF| | 0 | 50
|
||||
-->
|
||||
<!-- geopotential height (GH) rules for HRRR-East -->
|
||||
<styleRule>
|
||||
<paramLevelMatches>
|
||||
<parameter>GH</parameter>
|
||||
<parameter>GHxSM</parameter>
|
||||
<parameter>zAGL</parameter>
|
||||
<creatingEntity>HRRR-East</creatingEntity>
|
||||
<creatingEntity>HRRR-West</creatingEntity>
|
||||
</paramLevelMatches>
|
||||
<contourStyle>
|
||||
<displayUnits>ft</displayUnits>
|
||||
<contourLabeling labelSpacing="4" labelFormat="#">
|
||||
<increment>5000</increment>
|
||||
</contourLabeling>
|
||||
</contourStyle>
|
||||
</styleRule>
|
||||
|
||||
<!--
|
||||
* GH, GHxSM, Topo, Surface
|
||||
m | 1.0 | 0.0 | 4 | i4 | |..|8000F0FF| | 12 | 1 100 200 300 500 700 1000 1500 2000 2500 3000 3500
|
||||
|
@ -345,7 +367,7 @@ F | 1.8 |-459.67| 4 | | |..|8000F0FF| | 0 | 5
|
|||
<contourStyle>
|
||||
<displayUnits>F</displayUnits>
|
||||
<range scale="LINEAR">
|
||||
<minValue>-40</minValue>
|
||||
<minValue>-100</minValue>
|
||||
<maxValue>115</maxValue>
|
||||
</range>
|
||||
<contourLabeling>
|
||||
|
@ -962,7 +984,7 @@ PVU |1e5| 0.0 | 4 | | |..|8000F0FF| |16| \
|
|||
<parameter>MpV</parameter>
|
||||
</paramLevelMatches>
|
||||
<contourStyle>
|
||||
<displayUnits label="PVU">K/hPa/s*1.0E-5</displayUnits>
|
||||
<displayUnits label="PVU">K/hPa/s</displayUnits>
|
||||
<contourLabeling labelSpacing="4">
|
||||
<values>-1 -.5 -.1 0 1 1.5 2 3 4 5 6 8 10 12 15 20</values>
|
||||
</contourLabeling>
|
||||
|
|
|
@ -81,6 +81,8 @@ import com.raytheon.uf.viz.derivparam.tree.UnionLevelNode;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 17, 2010 bsteffen Initial creation
|
||||
* Apr 11, 2012 DR14666 porricel Modified resolveField to
|
||||
* use middle of layer for BL
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1021,17 +1023,24 @@ public abstract class AbstractInventory implements DerivParamUpdateListener {
|
|||
if (pStatic != null) {
|
||||
return pStatic;
|
||||
}
|
||||
|
||||
|
||||
// Check to see if we can set the field from the
|
||||
// masterlevel name
|
||||
if (level.getMasterLevel().getName().equals(fieldParamAbbrev)) {
|
||||
|
||||
FloatRequestableData data = new FloatRequestableData(
|
||||
FloatRequestableData data;
|
||||
if (level.isRangeLevel() && fieldParamAbbrev.equals("BL")){
|
||||
// get midpoint of boundary layer
|
||||
data = new FloatRequestableData(
|
||||
(float) ((level.getLevelonevalue() + level.getLeveltwovalue())/2));
|
||||
}
|
||||
else {
|
||||
data = new FloatRequestableData(
|
||||
(float) level.getLevelonevalue());
|
||||
}
|
||||
data.setUnit(level.getMasterLevel().getUnit());
|
||||
return data;
|
||||
}
|
||||
|
||||
String validSource = field.getValidSource();
|
||||
SourceNode fieldSourceNode = sourceNode;
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue