Issue #2148 moved all registering of radar products to spring files instead of static methods in Java classes

Change-Id: Ie4dee73bdf63712f372b3067e59e0dbb499d6d5c

Former-commit-id: d29749fc55 [formerly d74c69a12e] [formerly 8588f67264 [formerly 518a93ba1830230e504b576ad35ffb9453a1817c]]
Former-commit-id: 8588f67264
Former-commit-id: 04ad305b94
This commit is contained in:
Matt Nash 2013-07-29 17:47:38 -05:00
parent 65c3bb4ba4
commit f52266b45a
33 changed files with 455 additions and 291 deletions

View file

@ -1,22 +1,355 @@
<beans xmlns="http://www.springframework.org/schema/beans"
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="radarUnitsRegisterd"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass">
<value>com.raytheon.uf.common.dataplugin.radar.units.RadarUnits</value>
<value>com.raytheon.uf.common.dataplugin.radar.units.RadarUnits
</value>
</property>
<property name="targetMethod">
<value>register</value>
</property>
</bean>
<bean id="radarGridFactory" class="com.raytheon.uf.common.dataplugin.radar.dataaccess.RadarGridFactory" />
<bean id="radarGridFactory"
class="com.raytheon.uf.common.dataplugin.radar.dataaccess.RadarGridFactory" />
<bean factory-bean="dataAccessRegistry" factory-method="register">
<constructor-arg value="radar"/>
<constructor-arg ref="radarGridFactory"/>
</bean>
<constructor-arg value="radar" />
<constructor-arg ref="radarGridFactory" />
</bean>
<bean id="radarPacketFactory"
class="com.raytheon.uf.common.dataplugin.radar.level3.PacketFactory"
factory-method="getInstance" />
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.CellTrendDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>21</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.CellTrendVolumeScanPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>22</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.CorrelatedShearPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>11</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.ETVSPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>26</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.HailPositivePacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>13</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.HailProbablePacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>14</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.HdaHailPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>19</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.LinkedContourVectorPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>0x0E03</value>
<value>0x0802</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.LinkedVectorPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>6</value>
<value>9</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.MesocyclonePacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>3</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.PrecipDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>17</value>
<value>18</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.RadialPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>0xAF1F</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.RadialPacket8bit"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>16</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.RasterPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>0xBA07</value>
<value>0xBA0F</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.SCITDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>23</value>
<value>24</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.SpecialGraphicSymbolPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>20</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.STICirclePacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>25</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.SuperObWindDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>27</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.StormIDPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>15</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.TextSymbolPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>1</value>
<value>2</value>
<value>8</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.TVSPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>12</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.UnlinkedContourVectorPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>0x3501</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.UnlinkedVectorPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>7</value>
<value>10</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.VectorArrowPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>5</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.WindBarbPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>4</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.GenericDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>28</value>
<value>29</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerGenericPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.GenericDataPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>176</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerGenericPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.DMDPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>149</value>
</list>
</constructor-arg>
</bean>
<bean factory-bean="radarPacketFactory" factory-method="registerGenericPacketType">
<constructor-arg
value="com.raytheon.uf.common.dataplugin.radar.level3.GFMPacket"
type="java.lang.Class" />
<constructor-arg>
<list>
<value>140</value>
</list>
</constructor-arg>
</bean>
</beans>

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 19, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -47,7 +48,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class CellTrendDataPacket extends SymbologyPacket implements
ISerializableObject {
private static final int CELL_TREND_DATA_PACKET21 = 21;
@DynamicSerializeElement
private String cellID;
@ -122,11 +122,6 @@ public class CellTrendDataPacket extends SymbologyPacket implements
}
}
static {
PacketFactory.registerPacketType(CellTrendDataPacket.class,
CELL_TREND_DATA_PACKET21);
}
public CellTrendDataPacket() {
}

View file

@ -35,6 +35,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 29, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
* </pre>
*
* @author mnash
@ -43,7 +44,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class CellTrendVolumeScanPacket extends SymbologyPacket implements
ISerializableObject {
private static final int CELL_TREND_VOLUME_SCAN_PACKET22 = 22;
@DynamicSerializeElement
private int numberOfVolumes;
@ -54,11 +54,6 @@ public class CellTrendVolumeScanPacket extends SymbologyPacket implements
@DynamicSerializeElement
private ArrayList<Integer> volumeTimes;
static {
PacketFactory.registerPacketType(CellTrendVolumeScanPacket.class,
CELL_TREND_VOLUME_SCAN_PACKET22);
}
public CellTrendVolumeScanPacket() {
}

View file

@ -33,6 +33,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 9, 2009 askripsky Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -42,12 +43,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
@DynamicSerialize
public class CorrelatedShearPacket extends MesocyclonePacket {
private static final int CORRELATEDSHEAR_PACKET11 = 11;
static {
PacketFactory.registerPacketType(CorrelatedShearPacket.class,
CORRELATEDSHEAR_PACKET11);
}
public CorrelatedShearPacket(int packetId, DataInputStream in)
throws IOException {

View file

@ -39,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* May 22, 2009 askripsk Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -138,8 +139,6 @@ public class DMDPacket extends GenericDataPacket {
}
}
private static final int DMD_PRODUCT_CODE = 149;
@DynamicSerializeElement
private List<String> featureIDs;
@ -150,11 +149,6 @@ public class DMDPacket extends GenericDataPacket {
@DynamicSerializeElement
private HashMap<String, GenericDataParameter> params;
static {
PacketFactory.registerGenericPacketType(DMDPacket.class,
DMD_PRODUCT_CODE);
}
public DMDPacket(int packetId, DataInputStream in) throws IOException {
super(packetId, in);
}

View file

@ -32,6 +32,7 @@ package com.raytheon.uf.common.dataplugin.radar.level3;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 13, 2009 chammack Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -40,12 +41,6 @@ package com.raytheon.uf.common.dataplugin.radar.level3;
*/
public class ETVSPacket extends TVSPacket {
private static final int ETVS_PACKET26 = 26;
protected final boolean isElevated = true;
static {
PacketFactory.registerPacketType(ETVSPacket.class, ETVS_PACKET26);
}
}

View file

@ -39,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 03/04/13 DCS51 zwang Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -49,12 +50,11 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class GFMPacket extends GenericDataPacket {
public static enum GFMAttributeIDs {
DETECT_ID("detect_num"), FORECAST_DELTA_T("forecast_delta_t"),
PROPU("propU"), PROPV("propV"),
AVG_SPEED("avg_speed"), AVG_DIRECTION("avg_direction"),
WINDBEHINDU("windBehindU"), WINDBEHINDV("windBehindV"),
WINDBEHINDX("windBehindX"), WINDBEHINDY("windBehindY"),
WSHAZARD("wsHazard");
DETECT_ID("detect_num"), FORECAST_DELTA_T("forecast_delta_t"), PROPU(
"propU"), PROPV("propV"), AVG_SPEED("avg_speed"), AVG_DIRECTION(
"avg_direction"), WINDBEHINDU("windBehindU"), WINDBEHINDV(
"windBehindV"), WINDBEHINDX("windBehindX"), WINDBEHINDY(
"windBehindY"), WSHAZARD("wsHazard");
private String name;
@ -92,8 +92,6 @@ public class GFMPacket extends GenericDataPacket {
}
}
private static final int GFM_PRODUCT_CODE = 140;
@DynamicSerializeElement
private List<String> featureIDs;
@ -104,17 +102,11 @@ public class GFMPacket extends GenericDataPacket {
@DynamicSerializeElement
private HashMap<String, GenericDataParameter> params;
static {
PacketFactory.registerGenericPacketType(GFMPacket.class,
GFM_PRODUCT_CODE);
}
public GFMPacket(int packetId, DataInputStream in) throws IOException {
super(packetId, in);
}
public GFMPacket() {
}
public String getValue(String featureID, GFMAttributeIDs attributeID) {
@ -179,35 +171,35 @@ public class GFMPacket extends GenericDataPacket {
featureIDs = new ArrayList<String>();
params = new HashMap<String, GenericDataParameter>();
String detectID = "";
String deltaT = "";
String gfmID = "";
String deltaT = "";
String gfmID = "";
for (GenericDataParameter param : parameters) {
params.put(param.getId(), param);
}
// Get the DETECT_ID out of each component
for (GenericDataComponent currFeature : components) {
// Loop through the values for the DETECT_ID
for (GenericDataParameter currParam : currFeature.getParameters()) {
for (GenericDataParameter currParam : currFeature.getParameters()) {
if (currParam.getId().equalsIgnoreCase(
GFMAttributeIDs.DETECT_ID.toString()))
detectID = currParam.getValue();
GFMAttributeIDs.DETECT_ID.toString()))
detectID = currParam.getValue();
if (currParam.getId().equalsIgnoreCase(
GFMAttributeIDs.FORECAST_DELTA_T.toString()))
deltaT = currParam.getValue();
GFMAttributeIDs.FORECAST_DELTA_T.toString()))
deltaT = currParam.getValue();
}
// combine the detectID and deltaT to form a new ID (gfmID)
gfmID = detectID + ":" + deltaT;
features.put(gfmID, currFeature);
featureIDs.add(gfmID);
// combine the detectID and deltaT to form a new ID (gfmID)
gfmID = detectID + ":" + deltaT;
features.put(gfmID, currFeature);
featureIDs.add(gfmID);
}
}
@Override
protected void init(DataInputStream in) throws IOException {
super.init(in);
// Relates all of the GFM feature based on the gfmID
groupFeatures();
}

View file

@ -39,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 4, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -59,19 +60,8 @@ public class GenericDataPacket extends SymbologyPacket implements
}
private static final int GENERIC_DATA28 = 28;
private static final int GENERIC_DATA29 = 29;
private static final int DPR_PRODUCT_CODE = 176;
static {
PacketFactory.registerPacketType(GenericDataPacket.class,
GENERIC_DATA28, GENERIC_DATA29);
PacketFactory.registerGenericPacketType(GenericDataPacket.class,
DPR_PRODUCT_CODE);
}
@DynamicSerializeElement
public String name;

View file

@ -36,7 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
*
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -107,8 +107,8 @@ public class GraphicBlock extends AbstractBlock implements ISerializableObject {
while (str.available() > 2) {
int packetId = str.readUnsignedShort();
SymbologyPacket symPacket = PacketFactory.createPacket(
packetId, str);
SymbologyPacket symPacket = PacketFactory.getInstance()
.createPacket(packetId, str);
if (symPacket != null) {
pageLst.add(symPacket);
} else {

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 19, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -47,12 +48,6 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class HailPositivePacket extends SymbologyPacket implements
ISerializableObject {
private static final int HAIL_POSITIVE13 = 13;
static {
PacketFactory.registerPacketType(HailPositivePacket.class,
HAIL_POSITIVE13);
}
public HailPositivePacket(int packetId, DataInputStream in)
throws IOException {

View file

@ -28,6 +28,7 @@ package com.raytheon.uf.common.dataplugin.radar.level3;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 19, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -36,10 +37,5 @@ package com.raytheon.uf.common.dataplugin.radar.level3;
*/
public class HailProbablePacket extends HailPositivePacket {
private static final int HAIL_PROBABLE14 = 14;
static {
PacketFactory.registerPacketType(HailProbablePacket.class,
HAIL_PROBABLE14);
}
}

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 5, 2008 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
* </pre>
*
* @author mnash
@ -54,13 +55,6 @@ public class HdaHailPacket extends SymbologyPacket implements
}
private static final int HDA_HAIL_PACKET19 = 19;
static {
PacketFactory
.registerPacketType(HdaHailPacket.class, HDA_HAIL_PACKET19);
}
@DynamicSerialize
public static class HdaHailPoint implements SymbologyPoint,
ISerializableObject {

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 9, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -48,6 +49,10 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
public class LinkedContourVectorPacket extends SymbologyPacket implements
ISerializableObject {
private static final int CONTOUR_VECTOR_PACKET0E03 = 0x0E03;
private static final int CONTOUR_VECTOR_PACKET0802 = 0x0802;
private static int color = -1;
/**
@ -64,15 +69,6 @@ public class LinkedContourVectorPacket extends SymbologyPacket implements
}
private static final int CONTOUR_VECTOR_PACKET0E03 = 0x0E03;
private static final int CONTOUR_VECTOR_PACKET0802 = 0x0802;
static {
PacketFactory.registerPacketType(LinkedContourVectorPacket.class,
CONTOUR_VECTOR_PACKET0E03, CONTOUR_VECTOR_PACKET0802);
}
@DynamicSerializeElement
protected List<LinkedVector> vectors;

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 5, 2008 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
* </pre>
*
* @author mnash
@ -44,6 +45,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class LinkedVectorPacket extends SymbologyPacket implements
ISerializableObject {
private static final int LINKED_VECTOR_PACKET9 = 9;
/**
* @param packetId
@ -59,15 +61,6 @@ public class LinkedVectorPacket extends SymbologyPacket implements
}
private static final int LINKED_VECTOR_PACKET6 = 6;
private static final int LINKED_VECTOR_PACKET9 = 9;
static {
PacketFactory.registerPacketType(LinkedVectorPacket.class,
LINKED_VECTOR_PACKET6, LINKED_VECTOR_PACKET9);
}
@DynamicSerializeElement
protected int theColor;

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 13, 2009 chammack Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -57,13 +58,6 @@ public class MesocyclonePacket extends SymbologyPacket implements
}
private static final int MESOCYCLONE_PACKET3 = 3;
static {
PacketFactory.registerPacketType(MesocyclonePacket.class,
MESOCYCLONE_PACKET3);
}
@DynamicSerialize
public static class MesocyclonePoint implements SymbologyPoint,
ISerializableObject {

View file

@ -26,7 +26,6 @@ import java.util.HashMap;
import java.util.Map;
import com.raytheon.uf.common.dataplugin.radar.level3.generic.GenericUtil;
import com.raytheon.uf.common.dataplugin.radar.util.RadarConstants;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
@ -39,6 +38,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 03/04/2013 DCS51 zwang Handle GFM product
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -48,81 +48,46 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
public class PacketFactory {
/** The logger */
private static final IUFStatusHandler handler = UFStatus.getHandler(PacketFactory.class);
private static final IUFStatusHandler handler = UFStatus
.getHandler(PacketFactory.class);
private static Map<Integer, Class<? extends SymbologyPacket>> classMap = new HashMap<Integer, Class<? extends SymbologyPacket>>();
private Map<Integer, Class<? extends SymbologyPacket>> classMap = new HashMap<Integer, Class<? extends SymbologyPacket>>();
private static Map<Integer, Class<? extends SymbologyPacket>> genericClassMap = new HashMap<Integer, Class<? extends SymbologyPacket>>();
private Map<Integer, Class<? extends SymbologyPacket>> genericClassMap = new HashMap<Integer, Class<? extends SymbologyPacket>>();
public synchronized static void registerPacketType(
private static final PacketFactory instance = new PacketFactory();
public static synchronized PacketFactory getInstance() {
return instance;
}
public synchronized Class<? extends SymbologyPacket> registerPacketType(
Class<? extends SymbologyPacket> packetClass, int... packetIds) {
for (int packetId : packetIds) {
if (handler.isPriorityEnabled(Priority.DEBUG)) {
handler.handle(Priority.DEBUG, "Registering packet ID: " + packetId
+ " with class " + packetClass.getName());
if (handler.isPriorityEnabled(Priority.INFO)) {
handler.handle(Priority.INFO, "Registering packet ID: "
+ packetId + " with class " + packetClass.getName());
}
classMap.put(packetId, packetClass);
}
return packetClass;
}
public synchronized static void registerGenericPacketType(
public synchronized Class<? extends SymbologyPacket> registerGenericPacketType(
Class<? extends SymbologyPacket> packetClass, int... productIds) {
for (int productId : productIds) {
if (handler.isPriorityEnabled(Priority.DEBUG)) {
handler.handle(Priority.DEBUG, "Registering product ID: " + productId
+ " with class " + packetClass.getName());
if (handler.isPriorityEnabled(Priority.INFO)) {
handler.handle(Priority.INFO, "Registering product ID: "
+ productId + " with class " + packetClass.getName());
}
genericClassMap.put(productId, packetClass);
}
return packetClass;
}
static {
// TODO: get appropriate directory. See recordFactory.loadRecordFromUri
// TODO !!! Had to hardcode when in cave
String[] v = new String[] { LinkedVectorPacket.class.getName(),
UnlinkedVectorPacket.class.getName(),
RasterPacket.class.getName(), RadialPacket.class.getName(),
TextSymbolPacket.class.getName(),
RadialPacket8bit.class.getName(),
HdaHailPacket.class.getName(), StormIDPacket.class.getName(),
MesocyclonePacket.class.getName(),
CorrelatedShearPacket.class.getName(),
TVSPacket.class.getName(), ETVSPacket.class.getName(),
WindBarbPacket.class.getName(),
STICirclePacket.class.getName(),
SpecialGraphicSymbolPacket.class.getName(),
SCITDataPacket.class.getName(),
PrecipDataPacket.class.getName(),
CellTrendVolumeScanPacket.class.getName(),
VectorArrowPacket.class.getName(),
CellTrendDataPacket.class.getName(),
HailPositivePacket.class.getName(),
HailProbablePacket.class.getName(),
GenericDataPacket.class.getName(),
LinkedContourVectorPacket.class.getName(),
UnlinkedContourVectorPacket.class.getName(),
GFMPacket.class.getName(),
DMDPacket.class.getName() };
// Properties props =
// PropertiesFactory.getInstance().getPluginProperties(
// "RADAR");
//
// List<String> list = props.getPluginPropertyList("PacketList");
//
for (String className : v) {
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
handler.handle(Priority.ERROR, "No class found: " + className);
}
}
}
public static SymbologyPacket createPacket(int packetId, DataInputStream in)
public SymbologyPacket createPacket(int packetId, DataInputStream in)
throws IOException {
SymbologyPacket packet = null;
Class<? extends SymbologyPacket> packetClass = classMap.get(packetId);
@ -139,11 +104,12 @@ public class PacketFactory {
.getConstructor(int.class, DataInputStream.class);
packet = ctor.newInstance(packetId, in);
} catch (Exception e) {
handler.handle(Priority.ERROR,
"Unable to construct class " + packetClass.getName(), e);
handler.handle(Priority.ERROR, "Unable to construct class "
+ packetClass.getName(), e);
}
} else {
handler.handle(Priority.ERROR, "No class registered for packet ID: " + packetId);
handler.handle(Priority.ERROR,
"No class registered for packet ID: " + packetId);
}
return packet;
}

View file

@ -30,6 +30,7 @@ import java.io.IOException;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 1-26-2009 mnash Initial Creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -43,11 +44,6 @@ public class PrecipDataPacket extends SymbologyPacket {
public static final int PRECIP_RATE_DATA18 = 18;
static {
PacketFactory.registerPacketType(PrecipDataPacket.class,
DIGITAL_PRECIP_DATA17, PRECIP_RATE_DATA18);
}
protected int numRows;
protected int numCols;

View file

@ -31,6 +31,15 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* RadialPacket is a class that will allow access to the actual radar data
* contained in a radial product.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 10/25/2007 #465 randerso initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
* @author randerso
* @version 1.0
*/
@ -38,12 +47,6 @@ public class RadialPacket extends SymbologyPacket {
private final static IUFStatusHandler handler = UFStatus
.getHandler(RadialPacket.class);
public static final int RADIAL_DATA_PACKET_4BIT = 0xAF1F;
static {
PacketFactory.registerPacketType(RadialPacket.class,
RADIAL_DATA_PACKET_4BIT);
}
protected int firstBinIndex;
protected int numBins;

View file

@ -27,16 +27,19 @@ import java.io.IOException;
* RadialPacket is a class that will allow access to the actual radar data
* contained in a RPG created radial product.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Bryan Rockwood Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
* @author Bryan Rockwood
* @version 1.0
*/
public class RadialPacket8bit extends RadialPacket {
public static final int RADIAL_DATA_PACKET_8BIT = 16;
static {
PacketFactory.registerPacketType(RadialPacket8bit.class,
RADIAL_DATA_PACKET_8BIT);
}
/**
* An extension to the RadialPacket class that supports RPG generated

View file

@ -30,6 +30,7 @@ import java.io.IOException;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 10/25/2007 #465 randerso initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -39,14 +40,6 @@ import java.io.IOException;
public class RasterPacket extends SymbologyPacket {
public static final int RASTER_DATA_PACKET1 = 0xBA07;
public static final int RASTER_DATA_PACKET2 = 0xBA0F;
static {
PacketFactory.registerPacketType(RasterPacket.class,
RASTER_DATA_PACKET1, RASTER_DATA_PACKET2);
}
protected int iCenter;
protected int jCenter;

View file

@ -38,6 +38,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 28, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -57,15 +58,6 @@ public class SCITDataPacket extends SymbologyPacket implements
}
private static final int SCIT_PAST_DATA23 = 23;
private static final int SCIT_FORECAST_DATA24 = 24;
static {
PacketFactory.registerPacketType(SCITDataPacket.class,
SCIT_PAST_DATA23, SCIT_FORECAST_DATA24);
}
/**
* Class holding the SCIT information - LinkedVectors,Strings,and
* STIDataPoints

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 1-26-2009 mnash Initial Creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -59,12 +60,6 @@ public class STICirclePacket extends SymbologyPacket implements
}
private static final int SCIT_CIRCLE25 = 25;
static {
PacketFactory.registerPacketType(STICirclePacket.class, SCIT_CIRCLE25);
}
@DynamicSerialize
public static class STICirclePoint implements ISerializableObject {
@DynamicSerializeElement

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 5, 2008 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
* </pre>
*
* @author mnash
@ -59,13 +60,6 @@ public class SpecialGraphicSymbolPacket extends SymbologyPacket implements
}
private static final int SPECIAL_GRAPHIC_SYMBOL20 = 20;
static {
PacketFactory.registerPacketType(SpecialGraphicSymbolPacket.class,
SPECIAL_GRAPHIC_SYMBOL20);
}
@DynamicSerialize
public static class SpecialGraphicPoint implements SymbologyPoint,
ISerializableObject {

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Nov 5, 2008 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
* </pre>
*
* @author mnash
@ -54,13 +55,6 @@ public class StormIDPacket extends SymbologyPacket implements
}
private static final int STORM_ID_PACKET15 = 15;
static {
PacketFactory
.registerPacketType(StormIDPacket.class, STORM_ID_PACKET15);
}
@DynamicSerialize
public static class StormIDPoint implements SymbologyPoint,
ISerializableObject {

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 1-26-2009 465 mnash Initial Creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -60,13 +61,6 @@ public class SuperObWindDataPacket extends SymbologyPacket implements
}
private static final int SUPER_OB_WIND_DATA_PACKET27 = 27;
static {
PacketFactory.registerPacketType(SuperObWindDataPacket.class,
SUPER_OB_WIND_DATA_PACKET27);
}
@DynamicSerialize
public static class SuperObWindDataCell implements ISerializableObject {
@DynamicSerializeElement

View file

@ -38,6 +38,8 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 11-02-2007 465 randerso Major revision to support full level 3 radar decode
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
*
* </pre>
*
@ -109,8 +111,8 @@ public class SymbologyBlock extends AbstractBlock implements
break; // found layer divider break out of packet loop
}
SymbologyPacket symPacket = PacketFactory.createPacket(
packetId, in);
SymbologyPacket symPacket = PacketFactory.getInstance()
.createPacket(packetId, in);
if (symPacket != null) {
packet.add(symPacket);

View file

@ -31,6 +31,15 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
*
* Copyright 2006 Raytheon Corporation
*
* <pre>
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
* @author Bryan Rockwood
* @version 1.0
*/

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jan 13, 2009 chammack Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -57,12 +58,6 @@ public class TVSPacket extends SymbologyPacket implements ISerializableObject {
protected final boolean isElevated = false;
private static final int TVS_PACKET12 = 12;
static {
PacketFactory.registerPacketType(TVSPacket.class, TVS_PACKET12);
}
@DynamicSerialize
public static class TVSPoint implements SymbologyPoint, ISerializableObject {

View file

@ -33,7 +33,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
*
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -43,16 +43,8 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@DynamicSerialize
public class TextSymbolPacket extends SymbologyPacket implements
ISerializableObject {
public static final int TEXT_SYMBOL_PACKET1 = 1;
public static final int TEXT_SYMBOL_PACKET2 = 2;
public static final int TEXT_SYMBOL_PACKET8 = 8;
static {
PacketFactory.registerPacketType(TextSymbolPacket.class,
TEXT_SYMBOL_PACKET1, TEXT_SYMBOL_PACKET2, TEXT_SYMBOL_PACKET8);
}
private static final int TEXT_SYMBOL_PACKET8 = 8;
@DynamicSerializeElement
protected int theColor;

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Sep 14, 2010 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -45,6 +46,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
public class UnlinkedContourVectorPacket extends SymbologyPacket implements
ISerializableObject {
private static final int CONTOUR_VECTOR_PACKET3501 = 0x3501;
/**
* @param packetId
@ -60,12 +62,6 @@ public class UnlinkedContourVectorPacket extends SymbologyPacket implements
}
private static final int CONTOUR_VECTOR_PACKET3501 = 0x3501;
static {
PacketFactory.registerPacketType(UnlinkedContourVectorPacket.class,
CONTOUR_VECTOR_PACKET3501);
}
@DynamicSerializeElement
protected List<UnlinkedVector> vectors;

View file

@ -36,6 +36,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 11-05-2007 465 randerso Initial Creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -46,6 +47,8 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
public class UnlinkedVectorPacket extends SymbologyPacket implements
ISerializableObject {
private static final int UNLINKED_VECTOR_PACKET10 = 10;
/**
* @param packetId
* @param in
@ -60,14 +63,6 @@ public class UnlinkedVectorPacket extends SymbologyPacket implements
}
private static final int UNLINKED_VECTOR_PACKET7 = 7;
private static final int UNLINKED_VECTOR_PACKET10 = 10;
static {
PacketFactory.registerPacketType(UnlinkedVectorPacket.class,
UNLINKED_VECTOR_PACKET7, UNLINKED_VECTOR_PACKET10);
}
@DynamicSerializeElement
protected int theColor;

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 19, 2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -57,13 +58,6 @@ public class VectorArrowPacket extends SymbologyPacket implements
}
private static final int VECTOR_ARROW_PACKET5 = 5;
static {
PacketFactory.registerPacketType(VectorArrowPacket.class,
VECTOR_ARROW_PACKET5);
}
@DynamicSerialize
public static class VectorArrow implements ISerializableObject {

View file

@ -37,6 +37,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 1-23-2009 mnash Initial creation
* 07/29/2013 2148 mnash Refactor registering of packets to Spring
*
* </pre>
*
@ -56,13 +57,6 @@ public class WindBarbPacket extends SymbologyPacket implements
}
private static final int WINDBARB_PACKET4 = 4;
static {
PacketFactory
.registerPacketType(WindBarbPacket.class, WINDBARB_PACKET4);
}
@DynamicSerialize
public static class WindBarbPoint implements SymbologyPoint,
ISerializableObject {