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> marineAreas;
|
||||
private String marineArea;
|
||||
|
||||
public Watch(String state, String action, String phenSig, String etn,
|
||||
Date startTime, Date endTime) {
|
||||
|
@ -135,12 +135,12 @@ public class Watch {
|
|||
this.etn = etn;
|
||||
}
|
||||
|
||||
public List<String> getMarineAreas() {
|
||||
return marineAreas;
|
||||
public String getMarineArea() {
|
||||
return marineArea;
|
||||
}
|
||||
|
||||
public void setMarineAreas(List<String> marineAreas) {
|
||||
this.marineAreas = marineAreas;
|
||||
public void setMarineArea(String marineArea) {
|
||||
this.marineArea = marineArea;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -440,19 +440,35 @@ public class WatchUtil {
|
|||
List<String> partOfState = new ArrayList<String>(
|
||||
determineAffectedPortions(watch.getAreas()));
|
||||
watch.setPartOfState(partOfState);
|
||||
watches.add(watch);
|
||||
} else {
|
||||
watch.setMarineAreas(determineMarineAreas(watch.getAreas()));
|
||||
watches.addAll(generateMarineWatchItems(watch,
|
||||
determineMarineAreas(watch.getAreas())));
|
||||
}
|
||||
watches.add(watch);
|
||||
}
|
||||
|
||||
// keep the code for their use in the future
|
||||
/*
|
||||
// Sorts the watches based on state name.
|
||||
/* Sorts the watches based on ETN, then state. Marine areas
|
||||
* have a null state value so they appear at the end of each
|
||||
* watch.
|
||||
*/
|
||||
Collections.sort(watches, new Comparator<Watch>() {
|
||||
|
||||
@Override
|
||||
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 state2 = watch2.getState();
|
||||
if (state1 == state2)
|
||||
|
@ -465,25 +481,6 @@ public class WatchUtil {
|
|||
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;
|
||||
}
|
||||
|
@ -513,6 +510,18 @@ public class WatchUtil {
|
|||
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) {
|
||||
HashSet<Pair<Integer, String>> groupedAreas = new HashSet<Pair<Integer,String>>();
|
||||
for (String area : areas) {
|
||||
|
|
|
@ -230,10 +230,10 @@ ${currTime}##
|
|||
#set($lastTime = ${currTime})
|
||||
#end
|
||||
#end
|
||||
#if(!${watch.marineAreas})
|
||||
#if(!${watch.marineArea})
|
||||
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
||||
#else
|
||||
#formatMarineAreas(${watch.marineAreas})
|
||||
#formatMarineArea(${watch.marineArea})
|
||||
#end
|
||||
#set($lastEtn = ${watch.etn})
|
||||
#end
|
||||
|
@ -291,10 +291,10 @@ ${currTime}##
|
|||
#set($lastTime = ${currTime})
|
||||
#end
|
||||
#end
|
||||
#if(!${watch.marineAreas})
|
||||
#if(!${watch.marineArea})
|
||||
#areaFormat(${watch.partOfState} true false true)${watch.state}##
|
||||
#else
|
||||
#formatMarineAreas(${watch.marineAreas})
|
||||
#formatMarineArea(${watch.marineArea})
|
||||
#end
|
||||
#set($lastEtn = ${watch.etn})
|
||||
#end
|
||||
|
@ -304,23 +304,9 @@ ${currTime}##
|
|||
#end
|
||||
########END MACRO
|
||||
|
||||
#macro(formatMarineAreas $marineAreas)
|
||||
#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
|
||||
#macro(formatMarineArea $marineArea)
|
||||
${marineArea}##
|
||||
#end
|
||||
#if($macount == $numMarineAreas - 1)
|
||||
AND ##
|
||||
#elseif($macount < $numMarineAreas)
|
||||
...##
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
########END MACRO
|
||||
|
||||
#macro(printcoords $coordinates $list)
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
values passed to the template.
|
||||
-->
|
||||
<zoneWordingConfig>
|
||||
<entry match="^LEZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE ERIE" />
|
||||
<entry match="^LHZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE HURON" />
|
||||
<entry match="^LMZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE MICHIGAN" />
|
||||
<entry match="^LOZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE ONTARIO" />
|
||||
<entry match="^LSZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE SUPERIOR" />
|
||||
<entry match="^LCZ.*" replace="THE ADJACENT COASTAL WATERS OF LAKE SAINT CLAIRE" />
|
||||
<entry match="^LEZ.*" replace="THE ADJACENT WATERS OF LAKE ERIE" />
|
||||
<entry match="^LHZ.*" replace="THE ADJACENT WATERS OF LAKE HURON" />
|
||||
<entry match="^LMZ.*" replace="THE ADJACENT WATERS OF LAKE MICHIGAN" />
|
||||
<entry match="^LOZ.*" replace="THE ADJACENT WATERS OF LAKE ONTARIO" />
|
||||
<entry match="^LSZ.*" replace="THE ADJACENT WATERS OF LAKE SUPERIOR" />
|
||||
<entry match="^LCZ.*" replace="THE ADJACENT WATERS OF LAKE SAINT CLAIRE" />
|
||||
<entry match="^SLZ.*" replace="" /> <!-- Saint Lawrence River -->
|
||||
<entry match="^.*" replace="THE ADJACENT COASTAL WATERS" />
|
||||
</zoneWordingConfig>
|
||||
|
|
Loading…
Add table
Reference in a new issue