Merge branch 'omaha_13.5.1' into omaha_13.5.2

Former-commit-id: 67f7a8db62 [formerly 67f7a8db62 [formerly cfd93a48150e8c559622e806e98362a51f19aee0]]
Former-commit-id: 282577d168
Former-commit-id: 877d672852
This commit is contained in:
Steve Harris 2013-08-15 12:55:24 -05:00
commit 850d0d54c6
19 changed files with 1395 additions and 2150 deletions

View file

@ -1001,7 +1001,8 @@ public class D2DTimeMatcher extends AbstractTimeMatcher {
} else if (rp.getProperties().isMapLayer()
|| rp.getProperties().isSystemResource()) {
continue;
} else if (rsc.getResourceData() instanceof IResourceGroup) {
} else if (rsc != null
&& rsc.getResourceData() instanceof IResourceGroup) {
if (validateTimeMatchBasis(((IResourceGroup) rsc.getResourceData())
.getResourceList())) {
return true;

View file

@ -36,7 +36,7 @@ import com.raytheon.uf.common.time.util.TimeUtil;
* Initial creation
* May 7, 2013 1973 rferrel Changes to properly display Issue Time.
* Aug 7, 2013 2243 jsanchez Set all the attributes of an AbstractWarningRecord and added an expiration string. Removed calendar object.
*
* Aug 15,2013 2243 jsanchez Improved the expiration string off by one minute.
* </pre>
*
* @author rferrel
@ -139,9 +139,11 @@ public class FollowupData extends WarningRecord {
StringBuilder rval = new StringBuilder();
long timeInMillis = SimulatedTime.getSystemTime().getMillis();
if (status != WarningAction.COR) {
// Positive means not yet expired
long diffMins = (record.getEndTime().getTimeInMillis() - timeInMillis)
/ TimeUtil.MILLIS_PER_MINUTE;
// use double to keep precision until it's casted to an integer
double diffMillis = record.getEndTime().getTimeInMillis()
- timeInMillis;
int diffMins = (int) Math.round(diffMillis
/ TimeUtil.MILLIS_PER_MINUTE);
if (diffMins == 0) {
rval.append(" Expired");
} else if (diffMins > 0) {
@ -150,8 +152,12 @@ public class FollowupData extends WarningRecord {
rval.append(" Exp ").append(-diffMins).append(" min ago");
}
} else {
long diffMins = (timeInMillis - record.getIssueTime()
.getTimeInMillis()) / TimeUtil.MILLIS_PER_MINUTE;
// use double to keep precision until it's casted to an integer
double diffMillis = timeInMillis
- record.getIssueTime().getTimeInMillis();
int diffMins = (int) Math.round(diffMillis
/ TimeUtil.MILLIS_PER_MINUTE);
if (diffMins == 0) {
rval.append(" Just Issued");
} else {

View file

@ -69,6 +69,7 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.SimulatedTime;
import com.raytheon.uf.common.time.TimeRange;
import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
import com.raytheon.uf.viz.core.VizApp;
@ -193,11 +194,11 @@ public class WarngenDialog extends CaveSWTDialog implements
final DateFormat df = new SimpleDateFormat("HH:mm EEE d-MMM");
private java.util.List<String> mapsLoaded = new ArrayList<String>();
private final java.util.List<String> mapsLoaded = new ArrayList<String>();
private Button okButton;
private BulletListManager bulletListManager;
private final BulletListManager bulletListManager;
private List bulletList;
@ -277,7 +278,7 @@ public class WarngenDialog extends CaveSWTDialog implements
private boolean invalidFollowUpAction = false;
private IWarngenObserver wed = new WarningSender();
private final IWarngenObserver wed = new WarningSender();
public WarngenDialog(Shell parentShell, WarngenLayer layer) {
super(parentShell, SWT.CLOSE | SWT.MODELESS | SWT.BORDER | SWT.TITLE,
@ -480,7 +481,7 @@ public class WarngenDialog extends CaveSWTDialog implements
String defaultTemplate = warngenLayer.getDialogConfig()
.getDefaultTemplate();
if (defaultTemplate == null || defaultTemplate.equals("")) {
if ((defaultTemplate == null) || defaultTemplate.equals("")) {
defaultTemplate = mainProducts.get(0).split("/")[1];
}
@ -819,7 +820,7 @@ public class WarngenDialog extends CaveSWTDialog implements
createTextButtonEnabled = false;
} else if (warngenLayer.getStormTrackState().mode == Mode.NONE) {
createTextButtonEnabled = false;
} else if (warngenLayer.getPolygon() == null
} else if ((warngenLayer.getPolygon() == null)
|| warngenLayer.getPolygon().isEmpty()) {
str += WarngenConstants.INSTRUCTION_NO_SHADED_AREA;
createTextButtonEnabled = false;
@ -888,9 +889,9 @@ public class WarngenDialog extends CaveSWTDialog implements
newYes = true;
} else if (act == WarningAction.EXT) {
extYes = true;
} else if (act == WarningAction.CON
|| act == WarningAction.CAN
|| act == WarningAction.EXP) {
} else if ((act == WarningAction.CON)
|| (act == WarningAction.CAN)
|| (act == WarningAction.EXP)) {
follow = true;
} else if (act == WarningAction.COR) {
corYes = true;
@ -935,6 +936,7 @@ public class WarngenDialog extends CaveSWTDialog implements
// Select the previously selected item.
invalidFollowUpAction = false;
if (currentSelection != null) {
// isValid checks if the current selection is still in the list
boolean isValid = false;
for (int i = 0; i < updateListCbo.getItemCount(); i++) {
if (updateListCbo.getItem(i).startsWith(
@ -953,7 +955,9 @@ public class WarngenDialog extends CaveSWTDialog implements
// up option could be removed due to an action such as a CAN or an
// EXP. If an action removes the follow up, then no warning message
// should be displayed.
if (!timeRange.contains(SimulatedTime.getSystemTime().getTime())) {
if (!isValid
&& !timeRange.contains(SimulatedTime.getSystemTime()
.getTime())) {
invalidFollowUpAction = true;
preventFollowUpAction(currentSelection);
}
@ -1041,13 +1045,13 @@ public class WarngenDialog extends CaveSWTDialog implements
return;
}
if (followupData != null
&& WarningAction.valueOf(followupData.getAct()) == WarningAction.NEW) {
if ((followupData != null)
&& (WarningAction.valueOf(followupData.getAct()) == WarningAction.NEW)) {
redrawFromWarned();
}
if ((followupData == null || (WarningAction.valueOf(followupData
.getAct()) == WarningAction.CON && warngenLayer
if (((followupData == null) || ((WarningAction.valueOf(followupData
.getAct()) == WarningAction.CON) && warngenLayer
.conWarnAreaChanged(followupData)))
&& !polygonLocked) {
redrawFromWarned();
@ -1062,6 +1066,7 @@ public class WarngenDialog extends CaveSWTDialog implements
try {
pmd.run(false, false, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor)
throws InvocationTargetException, InterruptedException {
try {
@ -1131,7 +1136,7 @@ public class WarngenDialog extends CaveSWTDialog implements
private boolean checkDamSelection() {
if (bulletListManager.isDamNameSeletcted()
&& bulletListManager.isDamCauseSelected() == false) {
&& (bulletListManager.isDamCauseSelected() == false)) {
/*
* On WES 'Instructions' became 'Warning' but didn't prevent a
* created text
@ -1152,9 +1157,9 @@ public class WarngenDialog extends CaveSWTDialog implements
}
private void updateWarngenUIState(String result) {
if (VtecUtil.parseMessage(result) != null
&& WarningAction.valueOf(VtecUtil.parseMessage(result)
.getAction()) != WarningAction.NEW) {
if ((VtecUtil.parseMessage(result) != null)
&& (WarningAction.valueOf(VtecUtil.parseMessage(result)
.getAction()) != WarningAction.NEW)) {
// TODO Use warningsArrived method to set old
// polygon and warning area
warngenLayer.state.setOldWarningPolygon((Polygon) warngenLayer
@ -1169,7 +1174,7 @@ public class WarngenDialog extends CaveSWTDialog implements
// An error dialog is to appear if a user tries to press Create Text
// again after a product was issued.AWIPS I does not auto update their
// update list, this is their solution.
if (followupData != null && totalSegments > 1) {
if ((followupData != null) && (totalSegments > 1)) {
multiSegmentMessage(followupData.getEquvialentString());
return false;
}
@ -1237,8 +1242,8 @@ public class WarngenDialog extends CaveSWTDialog implements
warngenLayer.getStormTrackState().mode = Mode.TRACK;
warngenLayer.lastMode = Mode.DRAG_ME;
}
if (warngenLayer.getConfiguration().isTrackEnabled() == false
|| warngenLayer.getConfiguration().getPathcastConfig() == null) {
if ((warngenLayer.getConfiguration().isTrackEnabled() == false)
|| (warngenLayer.getConfiguration().getPathcastConfig() == null)) {
warngenLayer.getStormTrackState().setInitiallyMotionless(true);
}
warngenLayer.resetInitialFrame();
@ -1258,8 +1263,8 @@ public class WarngenDialog extends CaveSWTDialog implements
* Action for when something is selected from the backup site combo
*/
private void backupSiteSelected() {
if (backupSiteCbo.getSelectionIndex() >= 0
&& backupSiteCbo.getItemCount() > 0) {
if ((backupSiteCbo.getSelectionIndex() >= 0)
&& (backupSiteCbo.getItemCount() > 0)) {
warngenLayer.setBackupSite(backupSiteCbo.getItems()[backupSiteCbo
.getSelectionIndex()]);
// Refresh template
@ -1367,8 +1372,8 @@ public class WarngenDialog extends CaveSWTDialog implements
DamInfoBullet damBullet = bulletListManager.getSelectedDamInfoBullet();
if (damBullet != null) {
if (damBullet.getCoords() == null
|| damBullet.getCoords().length() == 0) {
if ((damBullet.getCoords() == null)
|| (damBullet.getCoords().length() == 0)) {
damBreakInstruct = "LAT...LON can not be found in 'coords' parameter";
} else {
ArrayList<Coordinate> coordinates = new ArrayList<Coordinate>();
@ -1381,8 +1386,8 @@ public class WarngenDialog extends CaveSWTDialog implements
if (m.find()) {
m = latLonPtrn.matcher(damBullet.getCoords());
while (m.find()) {
coordinates.add(new Coordinate(-1
* Double.parseDouble(m.group(2)) / 100, Double
coordinates.add(new Coordinate((-1 * Double
.parseDouble(m.group(2))) / 100, Double
.parseDouble(m.group(1)) / 100));
}
@ -1448,8 +1453,9 @@ public class WarngenDialog extends CaveSWTDialog implements
private void changeTemplate(String templateName) {
// DR 14515
if (templateName.equals(warngenLayer.getTemplateName()))
if (templateName.equals(warngenLayer.getTemplateName())) {
return;
}
String lastAreaSource = warngenLayer.getConfiguration()
.getHatchedAreaSource().getAreaSource();
@ -1503,9 +1509,9 @@ public class WarngenDialog extends CaveSWTDialog implements
.getSelection() ? DisplayType.POLY : DisplayType.POINT;
}
warngenLayer.getStormTrackState().setInitiallyMotionless(
warngenLayer.getConfiguration().isTrackEnabled() == false
|| warngenLayer.getConfiguration()
.getPathcastConfig() == null);
(warngenLayer.getConfiguration().isTrackEnabled() == false)
|| (warngenLayer.getConfiguration()
.getPathcastConfig() == null));
if (warngenLayer.getStormTrackState().isInitiallyMotionless()) {
warngenLayer.getStormTrackState().speed = 0;
warngenLayer.getStormTrackState().angle = 0;
@ -1608,10 +1614,10 @@ public class WarngenDialog extends CaveSWTDialog implements
// (AWIPS 1)
if (warngenLayer.state.followupData != null) {
if (data.equals(warngenLayer.state.followupData)) {
if (WarningAction
if ((WarningAction
.valueOf(warngenLayer.state.followupData
.getAct()) == WarningAction.CON
&& totalSegments > 1) {
.getAct()) == WarningAction.CON)
&& (totalSegments > 1)) {
sameProductMessage(warngenLayer.state.followupData
.getEquvialentString());
}
@ -1678,7 +1684,7 @@ public class WarngenDialog extends CaveSWTDialog implements
if (warngenLayer.getConfiguration().getEnableDamBreakThreat()) {
for (BulletActionGroup bulletActionGroup : warngenLayer
.getConfiguration().getBulletActionGroups()) {
if (bulletActionGroup.getAction() != null
if ((bulletActionGroup.getAction() != null)
&& bulletActionGroup.getAction().equals(
data.getAct())) {
warngenLayer.getConfiguration().setDamInfoBullets(
@ -1699,14 +1705,14 @@ public class WarngenDialog extends CaveSWTDialog implements
bulletListManager.recreateBulletsFromFollowup(
warngenLayer.getConfiguration(), action, oldWarning);
if (bulletListManager.isDamNameSeletcted()
&& action != WarningAction.NEW) {
&& (action != WarningAction.NEW)) {
setPolygonLocked(true);
}
}
refreshBulletList();
recreateUpdates();
if (action == null || action == WarningAction.NEW
|| action == WarningAction.EXT) {
if ((action == null) || (action == WarningAction.NEW)
|| (action == WarningAction.EXT)) {
recreateDurations(durationList);
}
}
@ -1741,7 +1747,7 @@ public class WarngenDialog extends CaveSWTDialog implements
}
private void changeSelected() {
if (validPeriodDlg == null || validPeriodDlg.isDisposed()) {
if ((validPeriodDlg == null) || validPeriodDlg.isDisposed()) {
validPeriodDlg = new ValidPeriodDialog(shell, startTime, endTime);
validPeriodDlg.setCloseCallback(new ICloseCallback() {
@ -1846,6 +1852,7 @@ public class WarngenDialog extends CaveSWTDialog implements
public void run() {
getDisplay().syncExec(new Runnable() {
@Override
public void run() {
try {
changeStartEndTimes();
@ -1872,6 +1879,7 @@ public class WarngenDialog extends CaveSWTDialog implements
public void run() {
getDisplay().syncExec(new Runnable() {
@Override
public void run() {
try {
recreateUpdates();
@ -1887,7 +1895,7 @@ public class WarngenDialog extends CaveSWTDialog implements
// Update the follow up list every minute
long currentTimeInSeconds = SimulatedTime.getSystemTime().getMillis() / 1000;
long secondsToNextMinute = 0;
if (currentTimeInSeconds % 60 != 0) {
if ((currentTimeInSeconds % 60) != 0) {
secondsToNextMinute = 60 - (currentTimeInSeconds % 60);
}
timer.schedule(recreateUpdatesTask, secondsToNextMinute * 1000,
@ -1909,7 +1917,7 @@ public class WarngenDialog extends CaveSWTDialog implements
FollowupData fd = (FollowupData) updateListCbo
.getData(updateListCbo.getItem(updateListCbo
.getSelectionIndex()));
if (fd == null
if ((fd == null)
|| (WarningAction.valueOf(fd.getAct()) == WarningAction.NEW)) {
startTime = TimeUtil.newCalendar();
endTime = DurationUtil.calcEndTime(this.startTime, duration);
@ -2179,7 +2187,7 @@ public class WarngenDialog extends CaveSWTDialog implements
* Set the shell to visible and then move it on top of the CAVE dialog.
*/
public void showDialog(boolean show) {
if (shell != null && shell.isDisposed() == false) {
if ((shell != null) && (shell.isDisposed() == false)) {
if (show) {
if (shell.isVisible() == false) {
shell.setVisible(true);
@ -2266,8 +2274,9 @@ public class WarngenDialog extends CaveSWTDialog implements
Polygon rval = gf.createPolygon(gf.createLinearRing(points
.toArray(new Coordinate[points.size()])), null);
if (adjusted)
if (adjusted) {
oldWarning.setGeometry(rval);
}
boolean invalidPolyFlag = false;
if (rval.isValid() == false) {
@ -2292,10 +2301,12 @@ public class WarngenDialog extends CaveSWTDialog implements
int size = coords.length;
java.util.List<Coordinate> coords2 = new ArrayList<Coordinate>();
coords2.add(coords[0]);
for (int i = 1; i < size; i++)
if (Math.abs(coords[i].x - coords[i - 1].x) > MIN_LATLON_DIFF
|| Math.abs(coords[i].y - coords[i - 1].y) > MIN_LATLON_DIFF)
for (int i = 1; i < size; i++) {
if ((Math.abs(coords[i].x - coords[i - 1].x) > MIN_LATLON_DIFF)
|| (Math.abs(coords[i].y - coords[i - 1].y) > MIN_LATLON_DIFF)) {
coords2.add(coords[i]);
}
}
size = coords2.size();
Coordinate[] coords3 = coords2.toArray(new Coordinate[size]);
return coords3;
@ -2308,7 +2319,7 @@ public class WarngenDialog extends CaveSWTDialog implements
double diffx1, diffx2, diffy1, diffy2;
double ratio1, ratio2;
boolean adjusted = false;
for (int i = 2; i < coords.length - 2; i++) {
for (int i = 2; i < (coords.length - 2); i++) {
diffx1 = coords[i - 1].x - coords[i].x;
if (Math.abs(diffx1) > MIN_LATLON_DIFF) {
ratio1 = (coords[i - 1].y - coords[i].y) / diffx1;
@ -2316,8 +2327,8 @@ public class WarngenDialog extends CaveSWTDialog implements
if (Math.abs(diffx2) > MIN_LATLON_DIFF) {
ratio2 = (coords[i].y - coords[i + 1].y) / diffx2;
if (Math.abs(ratio1 - ratio2) < MIN_DIFF) {
if (diffx1 > 0.0 && diffx2 > 0.0 || diffx1 < 0.0
&& diffx2 < 0.0) {
if (((diffx1 > 0.0) && (diffx2 > 0.0))
|| ((diffx1 < 0.0) && (diffx2 < 0.0))) {
// three vertices on a straight line. Not overlaid.
} else {
// two segments overlaid
@ -2335,8 +2346,8 @@ public class WarngenDialog extends CaveSWTDialog implements
if (Math.abs(diffy2) > MIN_LATLON_DIFF) {
ratio2 = (coords[i].x - coords[i + 1].x) / diffy2;
if (Math.abs(ratio1 - ratio2) < MIN_DIFF) {
if (diffy1 > 0.0 && diffy2 > 0.0 || diffy1 < 0.0
&& diffy2 < 0.0) {
if (((diffy1 > 0.0) && (diffy2 > 0.0))
|| ((diffy1 < 0.0) && (diffy2 < 0.0))) {
// three vertices on a straight line. Not overlaid.
} else {
// two segments overlaid
@ -2368,29 +2379,33 @@ public class WarngenDialog extends CaveSWTDialog implements
if (Math.abs(diffx) > MIN_LATLON_DIFF) {
if (coords[i - 1].y > coords[i].y) {
factor = 1;
} else
} else {
factor = -1;
}
if (diffx < 0.0) {
coords[i + 1].x -= factor * adjustedValue;
} else {
coords[i - 1].x += factor * adjustedValue;
}
if (i == n - 3)
if (i == (n - 3)) {
coords[0].x = coords[i - 1].x;
}
} else {
diffx = coords[i + 2].x - coords[i + 1].x;
if (Math.abs(diffx) > MIN_LATLON_DIFF) {
if (coords[i + 1].y > coords[i].y) {
factor = -1;
} else
} else {
factor = 1;
}
if (diffx < 0.0) {
coords[i - 1].x -= factor * adjustedValue;
} else {
coords[i + 1].x += factor * adjustedValue;
}
if (i == n - 3)
if (i == (n - 3)) {
coords[0].x = coords[i - 1].x;
}
}
}
} else {
@ -2399,29 +2414,33 @@ public class WarngenDialog extends CaveSWTDialog implements
if (Math.abs(diffy) > MIN_LATLON_DIFF) {
if (coords[i - 1].x > coords[i].x) {
factor = -1;
} else
} else {
factor = 1;
}
if (diffy > 0.0) {
coords[i + 1].y -= factor * adjustedValue;
} else {
coords[i - 1].y += factor * adjustedValue;
}
if (i == n - 3)
if (i == (n - 3)) {
coords[0].y = coords[i - 1].y;
}
} else {
diffy = coords[i + 2].y - coords[i + 1].y;
if (Math.abs(diffy) > MIN_LATLON_DIFF) {
if (coords[i + 1].x > coords[i].x) {
factor = -1;
} else
} else {
factor = 1;
}
if (diffy < 0.0) {
coords[i - 1].y -= factor * adjustedValue;
} else {
coords[i + 1].y += factor * adjustedValue;
}
if (i == n - 3)
if (i == (n - 3)) {
coords[0].y = coords[i - 1].y;
}
}
}
}

View file

@ -73,6 +73,8 @@ import com.vividsolutions.jts.geom.Geometry;
* May 10, 2013 1951 rjpeter Updated ugcZones references
* May 31, 2013 DR 16264 D. Friedman Fix query in prepare method.
* Jun 05, 2013 DR 16279 D. Friedman Fix updating of issuance time for followups.
* Aug 14, 2013 DR 16483 Qinglu Lin Fixed no option issue in WarnGen dropdown menu after
* issuance of an CANCON and restart of CAVE.
* </pre>
*
* @author mschenke
@ -342,7 +344,7 @@ public class CurrentWarnings {
|| (action == WarningAction.EXP)) {
if ((rval != null)
&& (warning.getCountyheader().equals(
rval.getCountyheader()) || !warning
rval.getCountyheader()) || warning
.getUgcZones().containsAll(
rval.getUgcZones()))) {
rval = null;

View file

@ -32,6 +32,7 @@ import com.raytheon.viz.warngen.text.ICommonPatterns;
* Mar 13, 2013 DR 15892 D. Friedman Handle SMW format in canceledAreasFromText
* Aug 6, 2013 2243 jsanchez Updated the time ranges to be removed from the follow up list correctly.
* Aug 13, 2013 2243 jsanchez Removed calendar object.
* Aug 15, 2013 2243 jsanchez Reset the time ranges to the correct values.
*
* </pre>
*
@ -314,45 +315,40 @@ public class FollowUpUtil {
TimeRange rval = null;
// The time ranges are offset by 1 minute so that after a refresh and on
// the final minute of the time range the follow up data will be
// removed. For example, if a CON is only a available until 5 minutes
// before a warnings expiration, when the time reaches 5 minutes the
// follow up data for a CON is correctly removed.
if (action == WarningAction.NEW) {
/* Calculate NEW Time Range */
start.setTime(record.getEndTime().getTime());
start.add(Calendar.MINUTE, -21);
start.add(Calendar.MINUTE, -20);
end.setTime(record.getEndTime().getTime());
end.add(Calendar.MINUTE, 29);
end.add(Calendar.MINUTE, 30);
rval = new TimeRange(start, end);
} else if (action == WarningAction.COR) {
/* Calculate COR Time Range */
end.setTime(record.getIssueTime().getTime());
end.add(Calendar.MINUTE, 9);
end.add(Calendar.MINUTE, 10);
rval = new TimeRange(record.getStartTime(), end);
} else if (action == WarningAction.CAN) {
/* Calculate CAN Time Range */
end.setTime(record.getEndTime().getTime());
end.add(Calendar.MINUTE, -11);
end.add(Calendar.MINUTE, -10);
rval = new TimeRange(record.getStartTime(), end);
} else if (action == WarningAction.CON) {
/* Calculate CON Time Range */
end.setTime(record.getEndTime().getTime());
end.add(Calendar.MINUTE, -6);
end.add(Calendar.MINUTE, -5);
rval = new TimeRange(record.getStartTime(), end);
} else if (action == WarningAction.EXP) {
/* Calculate EXP Time Range */
start.setTime(record.getEndTime().getTime());
start.add(Calendar.MINUTE, -11);
start.add(Calendar.MINUTE, -10);
end.setTime(record.getEndTime().getTime());
end.add(Calendar.MINUTE, 9);
end.add(Calendar.MINUTE, 10);
rval = new TimeRange(start, end);
} else if (action == WarningAction.EXT) {
/* Calculate EXT Time Range */
start.setTime(record.getStartTime().getTime());
end.setTime(record.getEndTime().getTime());
end.add(Calendar.MINUTE, -6);
end.add(Calendar.MINUTE, -5);
rval = new TimeRange(start, end);
}

View file

@ -197,12 +197,5 @@ if [ $? -ne 0 ]; then
echo "ERROR: Failed to copy the org.apache.thrift lib to its destination."
exit 1
fi
# org.apache.qpid lib -> notification/lib
cp -vPf ${BUILD_ROOT}/workspace_/org.apache.qpid/${FOSS_LIB_DIR}/* \
${BUILD_ROOT}/awips2/notification/${FOSS_LIB_DIR}
if [ $? -ne 0 ]; then
echo "ERROR: Failed to copy the org.apache.qpid lib to its destination."
exit 1
fi
exit 0

File diff suppressed because it is too large Load diff

View file

@ -1 +1,2 @@
/Build x86
/Build x86_64

View file

@ -28,6 +28,7 @@
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 11/2/09 3375 brockwoo Initial Creation
* 08/13/13 2257 bkowal Update for qpid 0.18.
*
* </pre>
*
@ -35,14 +36,18 @@
* @version 1
*/
#include <qpid/client/QueueOptions.h>
#include <qpid/client/Connection.h>
#include <iostream>
#include <sstream>
#include <uuid/uuid.h>
#include <qpid/messaging/Connection.h>
#include <qpid/messaging/Duration.h>
#include <qpid/Url.h>
#include "EdexNotification.h"
using qpid::Url;
EdexNotification::EdexNotification(const string & brokerURI) {
EdexNotification::EdexNotification(const string & brokerURI) :
duration(Duration(1000 * 120)) {
this->sessionTransacted = false;
this->brokerURI = brokerURI;
this->isConnected = false;
@ -50,8 +55,6 @@ EdexNotification::EdexNotification(const string & brokerURI) {
this->mess = new com_raytheon_uf_common_dataplugin_message_DataURINotificationMessage();
this->timeout = false;
this->timeoutLength = 999999;
this->subman = NULL;
this->localQueue = NULL;
}
EdexNotification::~EdexNotification() {
@ -92,24 +95,14 @@ void EdexNotification::listen() {
Message message;
bool result;
try {
result = localQueue->get(message, 120 * qpid::sys::TIME_SEC);
result = this->receiver.fetch(message, this->duration);
} catch(...) {
cleanup();
throw;
}
if (result) {
std::string output = message.getData();
/* Message * message;
if(timeout) {
message = this->consumer->receive();
}
else {
message = this->consumer->receive(timeoutLength);
}
if (message == NULL) {
listSize = 0;
} else {
*/
this->session.acknowledge(message);
std::string output = message.getContent();
uint8_t * data = (uint8_t *) output.c_str();
TMemoryBuffer * buffer = new TMemoryBuffer(data,
output.length(),
@ -136,16 +129,52 @@ void EdexNotification::listen() {
void EdexNotification::cleanup() {
// Destroy resources.
try {
delete subman;
subman = NULL;
delete localQueue;
localQueue = NULL;
session.close();
connection.close();
} catch (const std::exception& error) {
this->isConnected = false;
// attempt to close the receiver
if (this->receiver != 0)
{
try
{
this->receiver.close();
this->receiver = 0;
}
catch (const std::exception& error)
{
std::cout << "WARNING: Failed to close the receiver -"
<< error.what() << std::endl;
}
}
// attempt to close the session
if (this->session != 0)
{
try
{
this->session.close();
this->session = 0;
}
catch (const std::exception& error)
{
std::cout << "WARNING: Failed to close the session -"
<< error.what() << std::endl;
}
}
// attempt to close the connection
if (this->connection != 0)
{
try
{
this->connection.close();
this->connection = 0;
}
catch (const std::exception& error)
{
std::cout << "WARNING: Failed to close the connection -"
<< error.what() << std::endl;
}
}
this->isConnected = false;
}
@ -154,23 +183,38 @@ bool EdexNotification::connect() {
return this->isConnected;
}
try {
this->connection.open(Url(brokerURI));
this->session = this->connection.newSession();
// initialize
this->connection = 0;
this->session = 0;
this->receiver = 0;
char uuidBuff[37];
uuid_t uuidGenerated;
uuid_generate_random(uuidGenerated);
uuid_unparse(uuidGenerated, uuidBuff);
std::string connectionOptions = "{sasl-mechanism:PLAIN,"
"username:guest,password:guest}";
this->connection = Connection(this->brokerURI, connectionOptions);
this->connection.open();
queue = "_edex.alert-edex_com@amq.topic_";
queue += session.getId().getName();
QueueOptions qo;
qo.setSizePolicy(RING, 100 * 1024 * 1024, 5000);
session.queueDeclare(arg::queue = queue, arg::exclusive = true,
arg::autoDelete = true, arg::arguments=qo);
session.exchangeBind(arg::exchange = "amq.topic", arg::queue = queue,
arg::bindingKey = "edex.alerts");
subman = new SubscriptionManager(session);
localQueue = new LocalQueue();
subman->subscribe(*localQueue, queue);
queue += std::string(uuidBuff);
std::stringstream addressBuilder;
addressBuilder << queue;
addressBuilder << "; {create:always,delete:always,node:{type:queue,";
addressBuilder << "x-bindings:[{exchange:amq.topic,queue:";
addressBuilder << queue;
addressBuilder << ",key:edex.alerts}]}}";
const std::string address = addressBuilder.str();
this->session = this->connection.createSession();
this->receiver = this->session.createReceiver(address);
this->isConnected = true;
} catch (const std::exception& error) {
this->isConnected = false;
cleanup();
this->cleanup();
throw;
}
return this->isConnected;

View file

@ -29,6 +29,7 @@
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 11/2/09 3375 brockwoo Initial Creation
* 08/13/13 2257 bkowal Update for qpid 0.18.
*
* </pre>
*
@ -43,18 +44,18 @@ typedef void CEdexNotification;
#ifdef __cplusplus
#include <qpid/client/Connection.h>
#include <qpid/client/Session.h>
#include <qpid/client/Message.h>
#include <qpid/client/MessageListener.h>
#include <qpid/client/SubscriptionManager.h>
#include <qpid/messaging/Connection.h>
#include <qpid/messaging/Session.h>
#include <qpid/messaging/Message.h>
#include <qpid/messaging/Duration.h>
#include <qpid/messaging/Receiver.h>
#include <qpid/sys/Time.h>
#include <transport/TBufferTransports.h>
#include <sys/timeb.h>
#include "Notification_types.h"
#include "NotificationProtocol.h"
using namespace qpid::client;
using namespace qpid::messaging;
using namespace qpid::framing;
using namespace std;
using apache::thrift::transport::TMemoryBuffer;
@ -65,16 +66,16 @@ private:
Connection connection;
Session session;
Receiver receiver;
const Duration duration;
bool useTopic;
bool sessionTransacted;
bool isConnected;
int listSize;
com_raytheon_uf_common_dataplugin_message_DataURINotificationMessage * mess;
SubscriptionManager * subman;
vector<string>::iterator myStringIterator;
std::string brokerURI;
std::string queue;
LocalQueue * localQueue;
bool timeout;
int timeoutLength;

View file

@ -45,14 +45,14 @@
<option id="gnu.c.compiler.exe.release.option.debugging.level.590465920" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.default" valueType="enumerated"/>
<option id="gnu.c.compiler.option.misc.other.1772453324" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-m32 -c -fmessage-length=0" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.1577302699" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.qpid/include}&quot;"/>
<listOptionValue builtIn="false" value="/awips2/qpid/include"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edex_com/src}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.563649508" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.621939508" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release">
<option id="gnu.c.link.option.paths.945694272" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.qpid/lib}&quot;"/>
<listOptionValue builtIn="false" value="/awips2/qpid/lib"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.thrift/lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edex_com/Build x86}&quot;"/>
</option>
@ -82,255 +82,6 @@
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1309755902;cdt.managedbuild.config.gnu.exe.release.1309755902.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.91404518;cdt.managedbuild.tool.gnu.c.compiler.input.1483689751">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.944270981;cdt.managedbuild.config.gnu.exe.debug.944270981.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.503280132;cdt.managedbuild.tool.gnu.c.compiler.input.2111842514">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
@ -378,24 +129,24 @@
<option id="gnu.c.compiler.exe.release.option.debugging.level.832113686" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
<option id="gnu.c.compiler.option.misc.other.1624933412" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-m64 -c -fmessage-length=0" valueType="string"/>
<option id="gnu.c.compiler.option.include.paths.1093941043" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.qpid/include}&quot;"/>
<listOptionValue builtIn="false" value="/awips2/qpid/include"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edex_com/src}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.754027704" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1572066433" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release">
<option id="gnu.c.link.option.paths.1184519300" name="Library search path (-L)" superClass="gnu.c.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.qpid/lib64}&quot;"/>
<listOptionValue builtIn="false" value="/awips2/qpid/lib"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.apache.thrift/lib64}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/edex_com/Build x86_64}&quot;"/>
</option>
<option id="gnu.c.link.option.ldflags.1878548950" name="Linker flags" superClass="gnu.c.link.option.ldflags" value="-m64" valueType="string"/>
<option id="gnu.c.link.option.libs.961367030" name="Libraries (-l)" superClass="gnu.c.link.option.libs" valueType="libs">
<listOptionValue builtIn="false" value="edex_com"/>
<listOptionValue builtIn="false" value="qpidclient"/>
<listOptionValue builtIn="false" value="thrift"/>
<listOptionValue builtIn="false" value="qpidmessaging"/>
<listOptionValue builtIn="false" value="qpidtypes"/>
<listOptionValue builtIn="false" value="qpidclient"/>
<listOptionValue builtIn="false" value="qpidcommon"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1341350933" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
@ -415,255 +166,6 @@
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1309755902;cdt.managedbuild.config.gnu.exe.release.1309755902.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.91404518;cdt.managedbuild.tool.gnu.c.compiler.input.1483689751">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.944270981;cdt.managedbuild.config.gnu.exe.debug.944270981.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.503280132;cdt.managedbuild.tool.gnu.c.compiler.input.2111842514">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
@ -673,4 +175,254 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="edex_notify.cdt.managedbuild.target.gnu.exe.1393028794" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
</storageModule>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.1309755902;cdt.managedbuild.config.gnu.exe.release.1309755902.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.91404518;cdt.managedbuild.tool.gnu.c.compiler.input.1483689751">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.944270981;cdt.managedbuild.config.gnu.exe.debug.944270981.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.503280132;cdt.managedbuild.tool.gnu.c.compiler.input.2111842514">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
</storageModule>
</cproject>

View file

@ -1 +1,2 @@
/Build x86
/Build x86_64

View file

@ -9,7 +9,7 @@
Name: awips2-ldm
Summary: AWIPS II LDM Distribution
Version: %{_ldm_version}
Release: 6
Release: 7
Group: AWIPSII
BuildRoot: /tmp
BuildArch: noarch
@ -20,7 +20,6 @@ Vendor: Raytheon
Packager: Bryan Kowal
AutoReq: no
Requires: awips2-notification
Requires: qpid-cpp-client-devel
Requires: zlib-devel
provides: awips2-ldm
@ -77,7 +76,7 @@ fi
_ldm_destination=%{_build_root}/usr/local/ldm
_ldm_destination_source=${_ldm_destination}/SOURCES
_NATIVELIB_PROJECTS=( 'edexBridge' 'decrypt_file' )
_NATIVELIB_PROJECTS=( 'edexBridge' 'decrypt_file' 'org.apache.qpid' )
_RPM_directory=%{_baseline_workspace}/rpms
_Installer_ldm=${_RPM_directory}/awips2.core/Installer.ldm
@ -272,9 +271,28 @@ if [ ${_myHost} != "cpsbn1" -a ${_myHost} != "cpsbn2" -a ${_myHost} != "dx1" -a
fi
popd > /dev/null 2>&1
# build decrypt_file & edexBridge
# extract qpid libraries; build decrypt_file & edexBridge
pushd . > /dev/null 2>&1
cd ${_ldm_dir}/SOURCES
# determine which lib directory to use
_arch=`uname -i`
_qpid_lib_dir="lib"
if [ "${_arch}" = "x86_64" ]; then
_qpid_lib_dir="lib64"
fi
/bin/tar -xvf org.apache.qpid.tar org.apache.qpid/${_qpid_lib_dir}/*
if [ $? -ne 0 ]; then
echo "FATAL: failed to extract the qpid libraries!"
exit 1
fi
cp -Pf org.apache.qpid/${_qpid_lib_dir}/* ${_ldm_root_dir}/lib
if [ $? -ne 0 ]; then
echo "FATAL: failed to copy the qpid libraries to the ldm lib directory."
exit 1
fi
/bin/tar -xf decrypt_file.tar
if [ $? -ne 0 ]; then
echo "FATAL: failed to untar decrypt_file.tar!"

View file

@ -28,6 +28,7 @@ Packager: Bryan Kowal
AutoReq: no
requires: boost >= 1.33.1
requires: awips2-qpid-lib
provides: awips2-notification
%description

View file

@ -2,11 +2,12 @@
# Determine where notification has been installed.
set NOTIFICATION_INSTALL="/awips2/notification"
set QPID_LIB_DIR="/awips2/qpid/lib"
if $?LD_LIBRARY_PATH then
setenv LD_LIBRARY_PATH ${NOTIFICATION_INSTALL}/lib:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH ${NOTIFICATION_INSTALL}/lib:${QPID_LIB_DIR}:$LD_LIBRARY_PATH
else
setenv LD_LIBRARY_PATH ${NOTIFICATION_INSTALL}/lib
setenv LD_LIBRARY_PATH ${NOTIFICATION_INSTALL}/lib:${QPID_LIB_DIR}
endif
if $?PATH then

View file

@ -2,23 +2,30 @@
# Is awips2-notification Installed?
rpm -q awips2-notification > /dev/null 2>&1
RC=$?
if [ ${RC} -ne 0 ]; then
if [ $? -ne 0 ]; then
return
fi
# Determine Where awips2-notification Has Been Installed.
NOTIFICATION_INSTALL="/awips2/notification"
if [ "${NOTIFICATION_INSTALL}" = "" ]; then
return
fi
QPID_LIB_DIR="/awips2/qpid/lib"
# Update The Environment.
# Determine if awips2-notification is Already On LD_LIBRARY_PATH
CHECK_PATH=`echo ${LD_LIBRARY_PATH} | grep ${NOTIFICATION_INSTALL}`
if [ "${CHECK_PATH}" = "" ]; then
# awips2-notification Is Not On LD_LIBRARY_PATH; Add It.
export LD_LIBRARY_PATH=${NOTIFICATION_INSTALL}/lib:${LD_LIBRARY_PATH}
_lib_dir=${NOTIFICATION_INSTALL}/lib
if [ -d ${NOTIFICATION_INSTALL}/lib64 ]; then
_lib_dir=${NOTIFICATION_INSTALL}/lib64
fi
export LD_LIBRARY_PATH=${_lib_dir}:${LD_LIBRARY_PATH}
fi
# Determine if the qpid lib directory is already on LD_LIBRARY_PATH
CHECK_PATH=`echo ${LD_LIBRARY_PATH} | grep ${QPID_LIB_DIR}`
if [ "${CHECK_PATH}" = "" ]; then
export LD_LIBRARY_PATH=${QPID_LIB_DIR}:$LD_LIBRARY_PATH
fi
# Determine if awips2-notification Is Already Part Of The Path.

View file

@ -0,0 +1,122 @@
%define _build_arch %(uname -i)
%define _qpid_version 0.18
%define _qpid_build_loc %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%global qpid_src_dir qpid-%{version}
#
# AWIPS II QPID native Spec File
#
Name: awips2-qpid-lib
Summary: AWIPS II QPID Native Library Distribution
Version: %{_qpid_version}
Release: 1.el6
Group: AWIPSII
BuildRoot: %{_build_root}
BuildArch: %{_build_arch}
URL: N/A
License: N/A
Distribution: N/A
Vendor: Raytheon
Packager: Bryan Kowal
Source0: %{qpid_src_dir}.tar.gz
AutoReq: no
BuildRequires: awips2-python
provides: awips2-qpid-lib
%description
AWIPS II QPID Lib Distribution - Contains the qpid shared libraries and
header files for qpid %{_qpid_version}.
%prep
# Ensure that a "buildroot" has been specified.
if [ "%{_build_root}" = "" ]; then
echo "ERROR: A BuildRoot has not been specified."
echo "FATAL: Unable to Continue ... Terminating."
exit 1
fi
if [ -d %{_build_root} ]; then
rm -rf %{_build_root}
fi
if [ -d %{_qpid_build_loc} ]; then
rm -rf %{_qpid_build_loc}
fi
mkdir -p %{_qpid_build_loc}
if [ $? -ne 0 ]; then
exit 1
fi
cp -v %SOURCE0 %{_qpid_build_loc}
if [ $? -ne 0 ]; then
exit 1
fi
pushd . > /dev/null 2>&1
cd %{_qpid_build_loc}
tar -xvf %SOURCE0
if [ $? -ne 0 ]; then
exit 1
fi
popd > /dev/null 2>&1
%build
pushd . > /dev/null 2>&1
cd %{_qpid_build_loc}/%{qpid_src_dir}/cpp
./bootstrap
if [ $? -ne 0 ]; then
exit 1
fi
./configure --prefix=%{_qpid_build_loc}/awips2/qpid
if [ $? -ne 0 ]; then
exit 1
fi
make
if [ $? -ne 0 ]; then
exit 1
fi
popd > /dev/null 2>&1
%install
/bin/mkdir -p %{_qpid_build_loc}/awips2/qpid
if [ $? -ne 0 ]; then
exit 1
fi
pushd . > /dev/null 2>&1
cd %{_qpid_build_loc}/%{qpid_src_dir}/cpp
make install
if [ $? -ne 0 ]; then
exit 1
fi
popd > /dev/null 2>&1
/bin/mkdir -p %{_build_root}/awips2/qpid
if [ $? -ne 0 ]; then
exit 1
fi
# copy qpid lib and include directories.
/bin/cp -rv %{_qpid_build_loc}/awips2/qpid/lib \
%{_build_root}/awips2/qpid
/bin/cp -rv %{_qpid_build_loc}/awips2/qpid/include \
%{_build_root}/awips2/qpid
%pre
%post
%preun
%postun
%clean
rm -rf ${RPM_BUILD_ROOT}
rm -rf %{_qpid_build_loc}
%files
%defattr(644,awips,fxalpha,755)
%dir /awips2/qpid
%dir /awips2/qpid/lib
/awips2/qpid/lib/*
%dir /awips2/qpid/include
/awips2/qpid/include/*

View file

@ -54,6 +54,15 @@ rpmbuild -ba \
if [ $? -ne 0 ]; then
exit 1
fi
rpmbuild -ba \
--define "_topdir ${TOPDIR}" \
--define "_baseline_workspace ${WORKSPACE}" \
--define "_build_root ${AWIPSII_BUILD_ROOT}" \
--buildroot ${AWIPSII_BUILD_ROOT} \
SPECS/qpid-lib.spec
if [ $? -ne 0 ]; then
exit 1
fi
popd > /dev/null
exit 0

View file

@ -57,6 +57,22 @@ function buildQPID()
if [ $? -ne 0 ]; then
return 1
fi
cd ../x86_64
if [ $? -ne 0 ]; then
echo "ERROR: Failed to build Qpid v0.18 lib."
return 1
fi
if [ ! -d ${AWIPSII_TOP_DIR}/RPMS/x86_64 ]; then
mkdir -p ${AWIPSII_TOP_DIR}/RPMS/x86_64
if [ $? -ne 0 ]; then
exit 1
fi
fi
/bin/cp -v *.rpm ${AWIPSII_TOP_DIR}/RPMS/x86_64
if [ $? -ne 0 ]; then
echo "ERROR: Failed to build Qpid v0.18 lib."
return 1
fi
popd > /dev/null 2>&1
pushd . > /dev/null 2>&1