ASM #15658 - WarnGen: inclusion of watch information in marine products
Change-Id: I545d1b07444c9ca00ea2e95c4ccaed79946bbead Former-commit-id:2ee1ebe72d
[formerlya6acf71a0a
[formerly e0f6cc70bf5258d66bfa8a4ddb1daf871b6c92c5]] Former-commit-id:a6acf71a0a
Former-commit-id:0ed1ce5726
This commit is contained in:
parent
513fa15ea6
commit
c4d6fe5af5
4 changed files with 49 additions and 54 deletions
|
@ -59,7 +59,7 @@ public class Watch {
|
||||||
|
|
||||||
private List<String> partOfState;
|
private List<String> partOfState;
|
||||||
|
|
||||||
private List<String> marineAreas;
|
private String marineArea;
|
||||||
|
|
||||||
public Watch(String state, String action, String phenSig, String etn,
|
public Watch(String state, String action, String phenSig, String etn,
|
||||||
Date startTime, Date endTime) {
|
Date startTime, Date endTime) {
|
||||||
|
@ -135,12 +135,12 @@ public class Watch {
|
||||||
this.etn = etn;
|
this.etn = etn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getMarineAreas() {
|
public String getMarineArea() {
|
||||||
return marineAreas;
|
return marineArea;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMarineAreas(List<String> marineAreas) {
|
public void setMarineArea(String marineArea) {
|
||||||
this.marineAreas = marineAreas;
|
this.marineArea = marineArea;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -440,19 +440,35 @@ public class WatchUtil {
|
||||||
List<String> partOfState = new ArrayList<String>(
|
List<String> partOfState = new ArrayList<String>(
|
||||||
determineAffectedPortions(watch.getAreas()));
|
determineAffectedPortions(watch.getAreas()));
|
||||||
watch.setPartOfState(partOfState);
|
watch.setPartOfState(partOfState);
|
||||||
} else {
|
|
||||||
watch.setMarineAreas(determineMarineAreas(watch.getAreas()));
|
|
||||||
}
|
|
||||||
watches.add(watch);
|
watches.add(watch);
|
||||||
|
} else {
|
||||||
|
watches.addAll(generateMarineWatchItems(watch,
|
||||||
|
determineMarineAreas(watch.getAreas())));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// keep the code for their use in the future
|
/* Sorts the watches based on ETN, then state. Marine areas
|
||||||
/*
|
* have a null state value so they appear at the end of each
|
||||||
// Sorts the watches based on state name.
|
* watch.
|
||||||
|
*/
|
||||||
Collections.sort(watches, new Comparator<Watch>() {
|
Collections.sort(watches, new Comparator<Watch>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compare(Watch watch1, Watch watch2) {
|
public int compare(Watch watch1, Watch watch2) {
|
||||||
|
String etn1 = watch1.getEtn();
|
||||||
|
String etn2 = watch2.getEtn();
|
||||||
|
int c;
|
||||||
|
if (etn1 == etn2)
|
||||||
|
c = 0;
|
||||||
|
else if (etn1 == null)
|
||||||
|
return 1;
|
||||||
|
else if (etn2 == null)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
c = etn1.compareTo(etn2);
|
||||||
|
if (c != 0)
|
||||||
|
return c;
|
||||||
|
|
||||||
String state1 = watch1.getState();
|
String state1 = watch1.getState();
|
||||||
String state2 = watch2.getState();
|
String state2 = watch2.getState();
|
||||||
if (state1 == state2)
|
if (state1 == state2)
|
||||||
|
@ -465,25 +481,6 @@ public class WatchUtil {
|
||||||
return state1.compareTo(state2);
|
return state1.compareTo(state2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
*/
|
|
||||||
|
|
||||||
// Sorts the watches based on ETN.
|
|
||||||
Collections.sort(watches, new Comparator<Watch>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int compare(Watch watch1, Watch watch2) {
|
|
||||||
String etn1 = watch1.getEtn();
|
|
||||||
String etn2 = watch2.getEtn();
|
|
||||||
if (etn1 == etn2)
|
|
||||||
return 0;
|
|
||||||
else if (etn1 == null)
|
|
||||||
return 1;
|
|
||||||
else if (etn2 == null)
|
|
||||||
return -1;
|
|
||||||
else
|
|
||||||
return etn1.compareTo(etn2);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return watches;
|
return watches;
|
||||||
}
|
}
|
||||||
|
@ -513,6 +510,18 @@ public class WatchUtil {
|
||||||
return affectedPortions;
|
return affectedPortions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Watch> generateMarineWatchItems(Watch template, List<String> areas) {
|
||||||
|
ArrayList<Watch> result = new ArrayList<Watch>();
|
||||||
|
for (String area: areas) {
|
||||||
|
Watch watch = new Watch(template.getState(), template.getAction(),
|
||||||
|
template.getPhenSig(), template.getEtn(),
|
||||||
|
template.getStartTime(), template.getEndTime());
|
||||||
|
watch.setMarineArea(area);
|
||||||
|
result.add(watch);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private List<String> determineMarineAreas(List<String> areas) {
|
private List<String> determineMarineAreas(List<String> areas) {
|
||||||
HashSet<Pair<Integer, String>> groupedAreas = new HashSet<Pair<Integer,String>>();
|
HashSet<Pair<Integer, String>> groupedAreas = new HashSet<Pair<Integer,String>>();
|
||||||
for (String area : areas) {
|
for (String area : areas) {
|
||||||
|
|
|
@ -230,10 +230,10 @@ ${currTime}##
|
||||||
#set($lastTime = ${currTime})
|
#set($lastTime = ${currTime})
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
#if(!${watch.marineAreas})
|
#if(!${watch.marineArea})
|
||||||
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
||||||
#else
|
#else
|
||||||
#formatMarineAreas(${watch.marineAreas})
|
#formatMarineArea(${watch.marineArea})
|
||||||
#end
|
#end
|
||||||
#set($lastEtn = ${watch.etn})
|
#set($lastEtn = ${watch.etn})
|
||||||
#end
|
#end
|
||||||
|
@ -291,10 +291,10 @@ ${currTime}##
|
||||||
#set($lastTime = ${currTime})
|
#set($lastTime = ${currTime})
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
#if(!${watch.marineAreas})
|
#if(!${watch.marineArea})
|
||||||
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
||||||
#else
|
#else
|
||||||
#formatMarineAreas(${watch.marineAreas})
|
#formatMarineArea(${watch.marineArea})
|
||||||
#end
|
#end
|
||||||
#set($lastEtn = ${watch.etn})
|
#set($lastEtn = ${watch.etn})
|
||||||
#end
|
#end
|
||||||
|
@ -304,23 +304,9 @@ ${currTime}##
|
||||||
#end
|
#end
|
||||||
########END MACRO
|
########END MACRO
|
||||||
|
|
||||||
#macro(formatMarineAreas $marineAreas)
|
#macro(formatMarineArea $marineArea)
|
||||||
#set($macount = 0)
|
|
||||||
#set($numMarineAreas = ${list.size(${marineAreas})})
|
|
||||||
#foreach(${marineArea} in ${marineAreas})
|
|
||||||
#set($macount = $macount + 1)
|
|
||||||
#if(${marineArea}=="THE ADJACENT COASTAL WATERS" && $macount > 1)
|
|
||||||
OTHER ADJACENT COASTAL WATERS##
|
|
||||||
#else
|
|
||||||
${marineArea}##
|
${marineArea}##
|
||||||
#end
|
#end
|
||||||
#if($macount == $numMarineAreas - 1)
|
|
||||||
AND ##
|
|
||||||
#elseif($macount < $numMarineAreas)
|
|
||||||
...##
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
########END MACRO
|
########END MACRO
|
||||||
|
|
||||||
#macro(printcoords $coordinates $list)
|
#macro(printcoords $coordinates $list)
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
values passed to the template.
|
values passed to the template.
|
||||||
-->
|
-->
|
||||||
<zoneWordingConfig>
|
<zoneWordingConfig>
|
||||||
<entry match="^LEZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE ERIE" />
|
<entry match="^LEZ.*" replace="THE ADJACENT WATERS OF LAKE ERIE" />
|
||||||
<entry match="^LHZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE HURON" />
|
<entry match="^LHZ.*" replace="THE ADJACENT WATERS OF LAKE HURON" />
|
||||||
<entry match="^LMZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE MICHIGAN" />
|
<entry match="^LMZ.*" replace="THE ADJACENT WATERS OF LAKE MICHIGAN" />
|
||||||
<entry match="^LOZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE ONTARIO" />
|
<entry match="^LOZ.*" replace="THE ADJACENT WATERS OF LAKE ONTARIO" />
|
||||||
<entry match="^LSZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE SUPERIOR" />
|
<entry match="^LSZ.*" replace="THE ADJACENT WATERS OF LAKE SUPERIOR" />
|
||||||
<entry match="^LCZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE SAINT CLAIRE" />
|
<entry match="^LCZ.*" replace="THE ADJACENT WATERS OF LAKE SAINT CLAIRE" />
|
||||||
<entry match="^SLZ.*" replace="" /> <!-- Saint Lawrence River -->
|
<entry match="^SLZ.*" replace="" /> <!-- Saint Lawrence River -->
|
||||||
<entry match="^.*" replace="THE ADJACENT COASTAL WATERS" />
|
<entry match="^.*" replace="THE ADJACENT COASTAL WATERS" />
|
||||||
</zoneWordingConfig>
|
</zoneWordingConfig>
|
||||||
|
|
Loading…
Add table
Reference in a new issue