Issue #2907 split edex.redbook plugin into common and edex redbook plugins

Change-Id: If9f56b7891276410d54880387701cf6ff6291ffe

Former-commit-id: cc1cb28eed [formerly 62923fbae80131fab6256923bc32bc46e46940ba]
Former-commit-id: 087307a781
This commit is contained in:
Nate Jensen 2014-03-13 11:45:49 -05:00
parent a9381c505e
commit 692ec623b2
41 changed files with 456 additions and 293 deletions

View file

@ -185,7 +185,7 @@
unpack="false"/> unpack="false"/>
<plugin <plugin
id="com.raytheon.edex.plugin.redbook" id="com.raytheon.uf.common.dataplugin.redbook"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: Redbook Plug-in Bundle-Name: Redbook Plug-in
Bundle-SymbolicName: com.raytheon.viz.redbook;singleton:=true Bundle-SymbolicName: com.raytheon.viz.redbook;singleton:=true
Bundle-Version: 1.12.1174.qualifier Bundle-Version: 1.14.0.qualifier
Bundle-Activator: com.raytheon.viz.redbook.Activator Bundle-Activator: com.raytheon.viz.redbook.Activator
Bundle-Vendor: Raytheon Bundle-Vendor: Raytheon
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.common.serialization Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.common.serialization
@ -14,10 +14,10 @@ Require-Bundle: org.apache.batik,
com.raytheon.viz.ui, com.raytheon.viz.ui,
org.apache.commons.lang, org.apache.commons.lang,
com.raytheon.uf.common.serialization, com.raytheon.uf.common.serialization,
com.raytheon.edex.plugin.redbook,
com.raytheon.uf.common.pointdata;bundle-version="1.11.26", com.raytheon.uf.common.pointdata;bundle-version="1.11.26",
com.raytheon.viz.pointdata;bundle-version="1.11.26", com.raytheon.viz.pointdata,
com.raytheon.uf.viz.productbrowser;bundle-version="1.11.31" com.raytheon.uf.viz.productbrowser;bundle-version="1.11.31",
com.raytheon.uf.common.dataplugin.redbook;bundle-version="1.14.0"
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.viz.redbook, Export-Package: com.raytheon.viz.redbook,
com.raytheon.viz.redbook.blocks, com.raytheon.viz.redbook.blocks,

View file

@ -25,14 +25,14 @@
<resource <resource
class="com.raytheon.viz.redbook.rsc.RedbookResource" class="com.raytheon.viz.redbook.rsc.RedbookResource"
name="RedbookResource" name="RedbookResource"
recordClass="com.raytheon.edex.plugin.redbook.common.RedbookRecord" recordClass="com.raytheon.uf.common.dataplugin.redbook.RedbookRecord"
renderingOrderId="PLOT" renderingOrderId="PLOT"
resourceType="PLAN_VIEW"> resourceType="PLAN_VIEW">
</resource> </resource>
<resource <resource
class="com.raytheon.viz.redbookua.rsc.RedbookUpperAirResource" class="com.raytheon.viz.redbookua.rsc.RedbookUpperAirResource"
name="RedbookUpperAirResource" name="RedbookUpperAirResource"
recordClass="com.raytheon.edex.plugin.redbook.common.RedbookRecord" recordClass="com.raytheon.uf.common.dataplugin.redbook.RedbookRecord"
renderingOrderId="PLOT" renderingOrderId="PLOT"
resourceType="PLAN_VIEW"> resourceType="PLAN_VIEW">
</resource> </resource>

View file

@ -21,8 +21,8 @@ package com.raytheon.viz.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlock; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlock;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.raytheon.viz.redbook.rsc.RedbookLegend; import com.raytheon.viz.redbook.rsc.RedbookLegend;
import com.raytheon.viz.redbook.rsc.RedbookLegend.Type; import com.raytheon.viz.redbook.rsc.RedbookLegend.Type;
@ -33,8 +33,10 @@ import com.raytheon.viz.redbook.rsc.RedbookLegend.Type;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Mar 18, 2010 #3260 dfriedma Initial creation * Mar 18, 2010 3260 dfriedma Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *
@ -45,6 +47,7 @@ import com.raytheon.viz.redbook.rsc.RedbookLegend.Type;
public abstract class AbstractTextBlock extends RedbookBlock { public abstract class AbstractTextBlock extends RedbookBlock {
protected int origXPos; protected int origXPos;
protected int origYPos; protected int origYPos;
public AbstractTextBlock(RedbookBlockHeader header, ByteBuffer data) { public AbstractTextBlock(RedbookBlockHeader header, ByteBuffer data) {
@ -55,7 +58,8 @@ public abstract class AbstractTextBlock extends RedbookBlock {
public TextBlock determineTextBlockType(RedbookLegend legend) { public TextBlock determineTextBlockType(RedbookLegend legend) {
TextBlock textBlock = getTextBlock(); TextBlock textBlock = getTextBlock();
RedbookLegend.Type type = legend.isLegend(textBlock.text, origXPos, origYPos); RedbookLegend.Type type = legend.isLegend(textBlock.text, origXPos,
origYPos);
textBlock.isLegend = type == Type.LEGEND; textBlock.isLegend = type == Type.LEGEND;
if (type == Type.GRAPHIC) if (type == Type.GRAPHIC)
legend.addCoordinate(origXPos, origYPos); legend.addCoordinate(origXPos, origYPos);

View file

@ -24,7 +24,7 @@ import java.nio.ByteBuffer;
import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException; import org.opengis.referencing.operation.TransformException;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
/** /**
@ -34,8 +34,10 @@ import com.vividsolutions.jts.geom.Coordinate;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 22, 2008 #1162 chammack Initial creation * May 22, 2008 1162 chammack Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *
@ -93,6 +95,7 @@ public class AlphaNumBlock extends AbstractTextBlock {
/** /**
* @return the textBlock * @return the textBlock
*/ */
@Override
public TextBlock getTextBlock() { public TextBlock getTextBlock() {
return this.textBlock; return this.textBlock;
} }

View file

@ -24,7 +24,7 @@ import java.nio.ByteBuffer;
import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException; import org.opengis.referencing.operation.TransformException;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
/** /**
@ -37,8 +37,10 @@ import com.vividsolutions.jts.geom.Coordinate;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 22, 2008 #1162 chammack Initial creation * May 22, 2008 1162 chammack Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *
@ -102,6 +104,7 @@ public class PlotDataBlock extends AbstractTextBlock {
/** /**
* @return the textBlock * @return the textBlock
*/ */
@Override
public TextBlock getTextBlock() { public TextBlock getTextBlock() {
return this.textBlock; return this.textBlock;
} }

View file

@ -21,8 +21,8 @@ package com.raytheon.viz.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlock; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlock;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
/** /**
* Implements the redbook plot parameter block * Implements the redbook plot parameter block
@ -31,8 +31,10 @@ import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 22, 2008 #1162 chammack Initial creation * May 22, 2008 1162 chammack Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -31,8 +31,8 @@ import org.opengis.referencing.datum.PixelInCell;
import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException; import org.opengis.referencing.operation.TransformException;
import com.raytheon.edex.plugin.redbook.common.blocks.Block_004_017; import com.raytheon.uf.common.dataplugin.redbook.blocks.Block_004_017;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.raytheon.uf.common.geospatial.MapUtil; import com.raytheon.uf.common.geospatial.MapUtil;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.GeometryFactory;
@ -45,8 +45,10 @@ import com.vividsolutions.jts.geom.Point;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 27, 2008 #1162 chammack Initial creation * May 27, 2008 1162 chammack Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -96,8 +98,8 @@ public class RedbookProjectionBlock extends Block_004_017 {
MathTransform mt2 = gg.getGridToCRS(PixelInCell.CELL_CENTER); MathTransform mt2 = gg.getGridToCRS(PixelInCell.CELL_CENTER);
DefaultMathTransformFactory dmtf = new DefaultMathTransformFactory(); DefaultMathTransformFactory dmtf = new DefaultMathTransformFactory();
MathTransform mt = dmtf.createConcatenatedTransform(mt2, toProj MathTransform mt = dmtf.createConcatenatedTransform(mt2,
.inverse()); toProj.inverse());
return mt; return mt;
} }

View file

@ -25,8 +25,8 @@ import java.util.List;
import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException; import org.opengis.referencing.operation.TransformException;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlock; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlock;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.raytheon.viz.redbook.rsc.RedbookLegend; import com.raytheon.viz.redbook.rsc.RedbookLegend;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Geometry;
@ -40,8 +40,10 @@ import com.vividsolutions.jts.geom.LineString;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 22, 2008 #1162 chammack Initial creation * May 22, 2008 1162 chammack Initial creation
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *
@ -54,8 +56,8 @@ public class ShortLongVectorsBlock extends RedbookBlock {
protected Geometry geometry; protected Geometry geometry;
public ShortLongVectorsBlock(RedbookBlockHeader header, public ShortLongVectorsBlock(RedbookBlockHeader header,
java.nio.ByteBuffer data, MathTransform mt, java.nio.ByteBuffer data, MathTransform mt, int maxX, int maxY,
int maxX, int maxY, RedbookLegend legend) { RedbookLegend legend) {
super(header, data); super(header, data);
List<Geometry> geometries = new ArrayList<Geometry>(); List<Geometry> geometries = new ArrayList<Geometry>();

View file

@ -36,10 +36,10 @@ import org.opengis.referencing.datum.PixelInCell;
import org.opengis.referencing.operation.MathTransform; import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException; import org.opengis.referencing.operation.TransformException;
import com.raytheon.edex.plugin.redbook.common.blocks.Block_004_016; import com.raytheon.uf.common.dataplugin.redbook.blocks.Block_004_016;
import com.raytheon.edex.plugin.redbook.common.blocks.DefaultBlock; import com.raytheon.uf.common.dataplugin.redbook.blocks.DefaultBlock;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockBuilder; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockBuilder;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockHeader; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockHeader;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.datastorage.records.ByteDataRecord; import com.raytheon.uf.common.datastorage.records.ByteDataRecord;
import com.raytheon.uf.common.geospatial.MapUtil; import com.raytheon.uf.common.geospatial.MapUtil;
@ -88,11 +88,12 @@ import com.vividsolutions.jts.geom.Coordinate;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 29, 2008 1162 chammack Initial creation * May 29, 2008 1162 chammack Initial creation
* Jan 28, 2010 4224 M. Huang Added Line Style, Line Width * Jan 28, 2010 4224 M. Huang Added Line Style, Line Width menu choice
* menu choice
* Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader. * Apr 29, 2013 1958 bgonzale New class RedbookBlockHeader.
* May 21, 2013 2001 njensen Fixed error handling * May 21, 2013 2001 njensen Fixed error handling
* Jul 19, 2013 DR 16401 D. Friedman Fix unknown block processing. * Jul 19, 2013 16401 D. Friedman Fix unknown block processing.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *
@ -329,12 +330,10 @@ public class RedbookFrame implements IRenderable {
public void paint(IGraphicsTarget target, PaintProperties paintProps) public void paint(IGraphicsTarget target, PaintProperties paintProps)
throws VizException { throws VizException {
target.drawWireframeShape( target.drawWireframeShape(this.wireframeShape, this.redbookResource
this.wireframeShape, .getCapability(ColorableCapability.class).getColor(),
this.redbookResource.getCapability(ColorableCapability.class) this.redbookResource.getCapability(OutlineCapability.class)
.getColor(), .getOutlineWidth(),
(float) this.redbookResource.getCapability(
OutlineCapability.class).getOutlineWidth(),
this.redbookResource.getCapability(OutlineCapability.class) this.redbookResource.getCapability(OutlineCapability.class)
.getLineStyle()); .getLineStyle());

View file

@ -28,8 +28,8 @@ import java.util.Set;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CoordinateReferenceSystem;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.datastorage.DataStoreFactory; import com.raytheon.uf.common.datastorage.DataStoreFactory;
import com.raytheon.uf.common.datastorage.IDataStore; import com.raytheon.uf.common.datastorage.IDataStore;
@ -66,6 +66,8 @@ import com.raytheon.viz.redbook.rsc.RedbookFrame.RedbookStatus;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 28, 2008 1162 chammack Initial creation * May 28, 2008 1162 chammack Initial creation
* May 21, 2013 2001 njensen Fixed display of messages * May 21, 2013 2001 njensen Fixed display of messages
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common
* and edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -25,8 +25,8 @@ import javax.xml.bind.annotation.XmlAttribute;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData; import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.LoadProperties;
@ -40,6 +40,8 @@ import com.raytheon.uf.viz.core.rsc.LoadProperties;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Feb 18, 2009 chammack Initial creation * Feb 18, 2009 chammack Initial creation
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -33,8 +33,8 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.runtime.jobs.Job;
import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.crs.CoordinateReferenceSystem;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.datastorage.DataStoreFactory; import com.raytheon.uf.common.datastorage.DataStoreFactory;
import com.raytheon.uf.common.datastorage.IDataStore; import com.raytheon.uf.common.datastorage.IDataStore;
@ -86,6 +86,8 @@ import com.vividsolutions.jts.geom.Coordinate;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Mar 24, 2010 1029 dfriedma Initial creation * Mar 24, 2010 1029 dfriedma Initial creation
* Jul 24, 2013 2203 njensen Synchronized init and dispose of frames * Jul 24, 2013 2203 njensen Synchronized init and dispose of frames
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -24,8 +24,8 @@ import javax.xml.bind.annotation.XmlAccessorType;
import org.apache.commons.lang.Validate; import org.apache.commons.lang.Validate;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.LoadProperties;
import com.raytheon.viz.redbook.rsc.RedbookResourceData; import com.raytheon.viz.redbook.rsc.RedbookResourceData;
@ -39,6 +39,8 @@ import com.raytheon.viz.redbook.rsc.RedbookResourceData;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Mar 24, 2010 1029 dfriedma Initial creation * Mar 24, 2010 1029 dfriedma Initial creation
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: Redbook Plug-in Bundle-Name: Redbook Plug-in
Bundle-SymbolicName: com.raytheon.edex.plugin.redbook Bundle-SymbolicName: com.raytheon.edex.plugin.redbook
Bundle-Version: 1.12.1174.qualifier Bundle-Version: 1.14.0.qualifier
Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization Eclipse-RegisterBuddy: com.raytheon.edex.common, com.raytheon.uf.common.serialization
Bundle-Vendor: RAYTHEON Bundle-Vendor: RAYTHEON
Require-Bundle: com.raytheon.edex.common, Require-Bundle: com.raytheon.edex.common,
@ -11,10 +11,8 @@ Require-Bundle: com.raytheon.edex.common,
com.raytheon.uf.common.localization;bundle-version="1.12.1174", com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.status;bundle-version="1.12.1174", com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.edex.ndm;bundle-version="1.14.0", com.raytheon.uf.edex.ndm;bundle-version="1.14.0",
com.raytheon.uf.edex.menus;bundle-version="1.0.0" com.raytheon.uf.edex.menus;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin.redbook;bundle-version="1.14.0"
Export-Package: com.raytheon.edex.plugin.redbook, Export-Package: com.raytheon.edex.plugin.redbook,
com.raytheon.edex.plugin.redbook.common,
com.raytheon.edex.plugin.redbook.common.blocks,
com.raytheon.edex.plugin.redbook.decoder com.raytheon.edex.plugin.redbook.decoder
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.apache.commons.logging

View file

@ -1,4 +0,0 @@
001_001=com.raytheon.edex.plugin.redbook.common.blocks.ProductIdBlock
001_002=com.raytheon.edex.plugin.redbook.common.blocks.EndOfProductBlock
004_016=com.raytheon.edex.plugin.redbook.common.blocks.Block_004_016
004_017=com.raytheon.edex.plugin.redbook.common.blocks.Block_004_017

View file

@ -10,7 +10,7 @@
<property name="pluginName" ref="redbookPluginName" /> <property name="pluginName" ref="redbookPluginName" />
<property name="pluginFQN" value="com.raytheon.edex.plugin.redbook" /> <property name="pluginFQN" value="com.raytheon.edex.plugin.redbook" />
<property name="dao" value="com.raytheon.edex.plugin.redbook.dao.RedbookDao" /> <property name="dao" value="com.raytheon.edex.plugin.redbook.dao.RedbookDao" />
<property name="record" value="com.raytheon.edex.plugin.redbook.common.RedbookRecord" /> <property name="record" value="com.raytheon.uf.common.dataplugin.redbook.RedbookRecord" />
</bean> </bean>
<bean factory-bean="pluginRegistry" factory-method="register"> <bean factory-bean="pluginRegistry" factory-method="register">

View file

@ -25,13 +25,15 @@ import java.util.Date;
import com.raytheon.edex.esb.Headers; import com.raytheon.edex.esb.Headers;
import com.raytheon.edex.exception.DecoderException; import com.raytheon.edex.exception.DecoderException;
import com.raytheon.edex.plugin.AbstractDecoder; import com.raytheon.edex.plugin.AbstractDecoder;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.edex.plugin.redbook.dao.RedbookDao; import com.raytheon.edex.plugin.redbook.dao.RedbookDao;
import com.raytheon.edex.plugin.redbook.decoder.RedbookParser; import com.raytheon.edex.plugin.redbook.decoder.RedbookParser;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.common.status.IPerformanceStatusHandler; import com.raytheon.uf.common.status.IPerformanceStatusHandler;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.PerformanceStatus; import com.raytheon.uf.common.status.PerformanceStatus;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.time.util.ITimer; import com.raytheon.uf.common.time.util.ITimer;
import com.raytheon.uf.common.time.util.TimeUtil; import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.edex.database.plugin.PluginFactory; import com.raytheon.uf.edex.database.plugin.PluginFactory;
@ -56,6 +58,8 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
* Mar 19, 2013 1785 bgonzale Added performance status handler and * Mar 19, 2013 1785 bgonzale Added performance status handler and
* added status to decode. * added status to decode.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract * Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
@ -94,6 +98,9 @@ public class RedbookDecoder extends AbstractDecoder {
// Name of the plugin controlling this decoder. // Name of the plugin controlling this decoder.
private final String PLUGIN_NAME; private final String PLUGIN_NAME;
private static final IUFStatusHandler logger = UFStatus
.getHandler(RedbookDecoder.class);
private final IPerformanceStatusHandler perfLog = PerformanceStatus private final IPerformanceStatusHandler perfLog = PerformanceStatus
.getHandler("Redbook:"); .getHandler("Redbook:");
@ -150,8 +157,6 @@ public class RedbookDecoder extends AbstractDecoder {
if (report != null) { if (report != null) {
report.setPersistenceTime(new Date()); report.setPersistenceTime(new Date());
try { try {
report.constructDataURI();
reports = createMergedRecordList(report); reports = createMergedRecordList(report);
} catch (PluginException e) { } catch (PluginException e) {
logger.error(traceId + "- Error constructing datauri", logger.error(traceId + "- Error constructing datauri",
@ -220,7 +225,6 @@ public class RedbookDecoder extends AbstractDecoder {
// and the Wes2Bridge archiver properly finds these backdated // and the Wes2Bridge archiver properly finds these backdated
// records // records
backDatedRecord.setPersistenceTime(new Date()); backDatedRecord.setPersistenceTime(new Date());
backDatedRecord.constructDataURI();
} catch (PluginException e) { } catch (PluginException e) {
logger.error(traceId + "Could not create back-dated copy of " logger.error(traceId + "Could not create back-dated copy of "
+ record.getDataURI(), e); + record.getDataURI(), e);

View file

@ -22,11 +22,10 @@ package com.raytheon.edex.plugin.redbook;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.raytheon.edex.esb.Headers; import com.raytheon.edex.esb.Headers;
import com.raytheon.edex.plugin.AbstractRecordSeparator; import com.raytheon.edex.plugin.AbstractRecordSeparator;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.edex.wmo.message.WMOHeader; import com.raytheon.uf.edex.wmo.message.WMOHeader;
/** /**
@ -39,14 +38,17 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * 20080512 1131 jkorman Initial implementation.
* 20080529 1131 jkorman Added traceId constructor and getter * 20080529 1131 jkorman Added traceId constructor and getter
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
* @version 1.0 * @version 1.0
*/ */
public class RedbookSeparator extends AbstractRecordSeparator { public class RedbookSeparator extends AbstractRecordSeparator {
/** The logger */
private Log logger = LogFactory.getLog(getClass()); private static final IUFStatusHandler logger = UFStatus
.getHandler(RedbookSeparator.class);
private WMOHeader wmoHeader = null; private WMOHeader wmoHeader = null;
@ -68,6 +70,7 @@ public class RedbookSeparator extends AbstractRecordSeparator {
* @return The next observation record as a String. * @return The next observation record as a String.
*/ */
// @Override // @Override
@Override
public Object next() { public Object next() {
byte[] data = null; byte[] data = null;
if (hasNext()) { if (hasNext()) {

View file

@ -22,9 +22,9 @@ package com.raytheon.edex.plugin.redbook.dao;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.util.List; import java.util.List;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.PluginException;
import com.raytheon.uf.common.dataplugin.persist.IPersistable; import com.raytheon.uf.common.dataplugin.persist.IPersistable;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.common.datastorage.DataStoreFactory; import com.raytheon.uf.common.datastorage.DataStoreFactory;
import com.raytheon.uf.common.datastorage.IDataStore; import com.raytheon.uf.common.datastorage.IDataStore;
import com.raytheon.uf.common.datastorage.records.IDataRecord; import com.raytheon.uf.common.datastorage.records.IDataRecord;
@ -43,7 +43,9 @@ import com.raytheon.uf.edex.database.plugin.PluginDao;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* </pre> * </pre>
* *
* @author jkorman * @author jkorman

View file

@ -26,13 +26,12 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.apache.commons.logging.Log; import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import org.apache.commons.logging.LogFactory; import com.raytheon.uf.common.dataplugin.redbook.blocks.ProductIdBlock;
import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlock;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlockBuilder;
import com.raytheon.edex.plugin.redbook.common.blocks.ProductIdBlock; import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlock; import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlockBuilder;
import com.raytheon.uf.common.time.DataTime; import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.edex.decodertools.time.TimeTools; import com.raytheon.uf.edex.decodertools.time.TimeTools;
import com.raytheon.uf.edex.wmo.message.WMOHeader; import com.raytheon.uf.edex.wmo.message.WMOHeader;
@ -47,11 +46,13 @@ import com.raytheon.uf.edex.wmo.message.WMOHeader;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* 20080529 1131 jkorman Added traceId, implemented in logger. * May 29, 2008 1131 jkorman Added traceId, implemented in logger.
* 20101022 6424 kshrestha Added fcsttime * Oct 22, 2010 6424 kshrestha Added fcsttime
* 20110516 8296 mhuang fixed fcsttime problem * May 16, 2011 8296 mhuang fixed fcsttime problem
* Apr 29, 2013 1958 bgonzale Refactored to improve performance. * Apr 29, 2013 1958 bgonzale Refactored to improve performance.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* </pre> * </pre>
* *
* @author jkorman * @author jkorman
@ -61,7 +62,8 @@ public class RedbookParser {
private static final RedbookBlockBuilder blockBuilder = new RedbookBlockBuilder(); private static final RedbookBlockBuilder blockBuilder = new RedbookBlockBuilder();
private final Log logger = LogFactory.getLog(getClass()); private static final IUFStatusHandler logger = UFStatus
.getHandler(RedbookParser.class);
// private Calendar issueDate = null; // private Calendar issueDate = null;
@ -99,7 +101,8 @@ public class RedbookParser {
wmoTime.set(Calendar.HOUR_OF_DAY, hour); wmoTime.set(Calendar.HOUR_OF_DAY, hour);
wmoTime.set(Calendar.MINUTE, min); wmoTime.set(Calendar.MINUTE, min);
long binnedTime = getBinnedTime(traceId, hdr, wmoTime.getTimeInMillis()); long binnedTime = getBinnedTime(traceId, hdr,
wmoTime.getTimeInMillis());
DataTime dt = null; DataTime dt = null;
@ -132,7 +135,8 @@ public class RedbookParser {
* @param hdr * @param hdr
* @param separator * @param separator
*/ */
private RedbookRecord internalParse(String traceId, byte[] redbookMsg, WMOHeader hdr) { private RedbookRecord internalParse(String traceId, byte[] redbookMsg,
WMOHeader hdr) {
RedbookRecord record = null; RedbookRecord record = null;

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>com.raytheon.uf.common.dataplugin.redbook</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

View file

@ -0,0 +1,14 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Redbook
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.redbook
Bundle-Version: 1.14.0.qualifier
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: com.raytheon.uf.common.dataplugin.redbook,
com.raytheon.uf.common.dataplugin.redbook.blocks
Require-Bundle: com.raytheon.uf.common.serialization,
javax.persistence,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.status
Import-Package: com.raytheon.uf.common.util

View file

@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
res/

View file

@ -0,0 +1,4 @@
001_001=com.raytheon.uf.common.dataplugin.redbook.blocks.ProductIdBlock
001_002=com.raytheon.uf.common.dataplugin.redbook.blocks.EndOfProductBlock
004_016=com.raytheon.uf.common.dataplugin.redbook.blocks.Block_004_016
004_017=com.raytheon.uf.common.dataplugin.redbook.blocks.Block_004_017

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common; package com.raytheon.uf.common.dataplugin.redbook;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
@ -68,6 +68,8 @@ import com.raytheon.uf.common.time.DataTime;
* PluginDataObject. * PluginDataObject.
* Aug 30, 2013 2298 rjpeter Make getPluginName abstract * Aug 30, 2013 2298 rjpeter Make getPluginName abstract
* Nov 04, 2013 2361 njensen Remove XML annotations * Nov 04, 2013 2361 njensen Remove XML annotations
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -17,11 +17,12 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
/**TODO Add Description /**
* TODO Add Description
* *
* <pre> * <pre>
* *
@ -29,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -71,6 +74,7 @@ public class Block_004_004 extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -30,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -72,6 +74,7 @@ public class Block_004_005 extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -30,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -43,30 +45,42 @@ import java.nio.ByteBuffer;
public class Block_004_016 extends RedbookBlock { public class Block_004_016 extends RedbookBlock {
private int piSet; private int piSet;
private int coordinateFlag; private int coordinateFlag;
private int scaleFactor; private int scaleFactor;
private int areaCode; private int areaCode;
private int labelCode; private int labelCode;
private int refM1coord; private int refM1coord;
private int refN1coord; private int refN1coord;
private int refM2coord; private int refM2coord;
private int refN2coord; private int refN2coord;
private int refM3coord; private int refM3coord;
private int refN3coord; private int refN3coord;
private int vtMonth; private int vtMonth;
private int vtDay; private int vtDay;
private int vtHour; private int vtHour;
private int vtMinute; private int vtMinute;
private int evtMonth; private int evtMonth;
private int evtDay;
private int evtHour;
private int evtMinute;
private int evtDay;
private int evtHour;
private int evtMinute;
public static class Factory implements RedbookBlockFactory { public static class Factory implements RedbookBlockFactory {
@Override @Override
@ -120,6 +134,7 @@ public class Block_004_016 extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);
sb.append(" piSet="); sb.append(" piSet=");
@ -135,9 +150,11 @@ public class Block_004_016 extends RedbookBlock {
sb.append("??"); sb.append("??");
} }
sb.append(":TM_"); sb.append(":TM_");
sb.append(String.format("%02d%02d%02d%02d",vtMonth,vtDay,vtHour,vtMinute)); sb.append(String.format("%02d%02d%02d%02d", vtMonth, vtDay, vtHour,
vtMinute));
sb.append(":"); sb.append(":");
sb.append(String.format("%02d%02d%02d%02d",evtMonth,evtDay,evtHour,evtMinute)); sb.append(String.format("%02d%02d%02d%02d", evtMonth, evtDay, evtHour,
evtMinute));
return sb; return sb;
} }

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -30,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -43,21 +45,29 @@ import java.nio.ByteBuffer;
public class Block_004_017 extends RedbookBlock { public class Block_004_017 extends RedbookBlock {
private float ulLat; private float ulLat;
private float ulLon; private float ulLon;
private float urLat; private float urLat;
private float urLon; private float urLon;
private float lrLat; private float lrLat;
private float lrLon; private float lrLon;
private float llLat; private float llLat;
private float llLon; private float llLon;
private float lon1; private float lon1;
private float lat1; private float lat1;
private float lat2; private float lat2;
private String projName; private String projName;
public static class Factory implements RedbookBlockFactory { public static class Factory implements RedbookBlockFactory {
@Override @Override
public RedbookBlock createBlock(RedbookBlockHeader header, public RedbookBlock createBlock(RedbookBlockHeader header,
@ -118,6 +128,7 @@ public class Block_004_017 extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);
sb.append(String.format(" ul[%2.2f:%2.2f]", ulLat, ulLon)); sb.append(String.format(" ul[%2.2f:%2.2f]", ulLat, ulLon));

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -30,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -65,6 +67,7 @@ public class DefaultBlock extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);
return sb; return sb;

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -30,9 +30,11 @@ import java.nio.ByteBuffer;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -73,6 +75,7 @@ public class EndOfProductBlock extends RedbookBlock {
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);
return sb; return sb;

View file

@ -17,12 +17,12 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.Calendar; import java.util.Calendar;
import com.raytheon.uf.edex.decodertools.time.TimeTools; import com.raytheon.uf.common.time.util.TimeUtil;
/** /**
* TODO Add Description * TODO Add Description
@ -33,9 +33,11 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory class. * nested Factory class.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -46,6 +48,7 @@ import com.raytheon.uf.edex.decodertools.time.TimeTools;
public class ProductIdBlock extends RedbookBlock { public class ProductIdBlock extends RedbookBlock {
private static final String TM_FMT = "%04d%02d%02d%02d%02d"; private static final String TM_FMT = "%04d%02d%02d%02d%02d";
private static final int BLOCK_LEN = 34; private static final int BLOCK_LEN = 34;
private static final int ORIG_ID_SIZE = 4; private static final int ORIG_ID_SIZE = 4;
@ -121,15 +124,19 @@ public class ProductIdBlock extends RedbookBlock {
int hour = (data.get() & 0xFF); int hour = (data.get() & 0xFF);
int minute = (data.get() & 0xFF); int minute = (data.get() & 0xFF);
prodFileTime = String.format(TM_FMT,year,month,day,hour,minute); prodFileTime = String
.format(TM_FMT, year, month, day, hour, minute);
Calendar t = TimeTools.getBaseCalendar(year, month, day); Calendar t = TimeUtil.newGmtCalendar();
if(t != null) { t.set(Calendar.YEAR, year);
t.set(Calendar.MONTH, month);
t.set(Calendar.DAY_OF_MONTH, day);
t.set(Calendar.HOUR_OF_DAY, hour); t.set(Calendar.HOUR_OF_DAY, hour);
t.set(Calendar.MINUTE, minute); t.set(Calendar.MINUTE, minute);
t.set(Calendar.SECOND, 0);
t.set(Calendar.MILLISECOND, 0);
productFileTime = t; productFileTime = t;
}
pId = new char[PRODC_ID_SIZE]; pId = new char[PRODC_ID_SIZE];
for (int i = 0; i < pId.length; i++) { for (int i = 0; i < pId.length; i++) {
@ -174,11 +181,10 @@ public class ProductIdBlock extends RedbookBlock {
} }
} }
/** /**
* *
*/ */
@Override
public StringBuilder toString(StringBuilder sb) { public StringBuilder toString(StringBuilder sb) {
sb = super.toString(sb); sb = super.toString(sb);
sb.append(":"); sb.append(":");
@ -196,7 +202,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param originatorId the originatorId to set * @param originatorId
* the originatorId to set
*/ */
public void setOriginatorId(String originatorId) { public void setOriginatorId(String originatorId) {
this.originatorId = originatorId; this.originatorId = originatorId;
@ -210,7 +217,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param productId the productId to set * @param productId
* the productId to set
*/ */
public void setProductId(String productId) { public void setProductId(String productId) {
this.productId = productId; this.productId = productId;
@ -224,7 +232,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param retentionHours the retentionHours to set * @param retentionHours
* the retentionHours to set
*/ */
public void setRetentionHours(Integer retentionHours) { public void setRetentionHours(Integer retentionHours) {
this.retentionHours = retentionHours; this.retentionHours = retentionHours;
@ -238,7 +247,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param productFileTime the productFileTime to set * @param productFileTime
* the productFileTime to set
*/ */
public void setProductFileTime(Calendar productFileTime) { public void setProductFileTime(Calendar productFileTime) {
this.productFileTime = productFileTime; this.productFileTime = productFileTime;
@ -252,7 +262,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param fileIndicator the fileIndicator to set * @param fileIndicator
* the fileIndicator to set
*/ */
public void setFileIndicator(Integer fileIndicator) { public void setFileIndicator(Integer fileIndicator) {
this.fileIndicator = fileIndicator; this.fileIndicator = fileIndicator;
@ -266,7 +277,8 @@ public class ProductIdBlock extends RedbookBlock {
} }
/** /**
* @param fcstHours the fcstHours to set * @param fcstHours
* the fcstHours to set
*/ */
public void setFcstHours(Integer fcstHours) { public void setFcstHours(Integer fcstHours) {
this.fcstHours = fcstHours; this.fcstHours = fcstHours;

View file

@ -17,13 +17,10 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/** /**
* *
* *
@ -34,10 +31,12 @@ import org.apache.commons.logging.LogFactory;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080512 1131 jkorman Initial implementation. * May 12, 2008 1131 jkorman Initial implementation.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and
* and nested Factory interface. * nested Factory interface.
* May 06, 2013 1979 bgonzale Catch Header at the end of buffer. * May 06, 2013 1979 bgonzale Catch Header at the end of buffer.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -47,9 +46,6 @@ import org.apache.commons.logging.LogFactory;
public abstract class RedbookBlock { public abstract class RedbookBlock {
@SuppressWarnings("unused")
private final Log logger = LogFactory.getLog(getClass());
private static final int LEN_MASK = 0x8000; private static final int LEN_MASK = 0x8000;
private static final int CHKSUM_MASK = 0x4000; private static final int CHKSUM_MASK = 0x4000;
@ -117,7 +113,8 @@ public abstract class RedbookBlock {
} }
/** /**
* @param hasLength the hasLength to set * @param hasLength
* the hasLength to set
*/ */
public void setHasLength(boolean hasLength) { public void setHasLength(boolean hasLength) {
this.hasLength = hasLength; this.hasLength = hasLength;
@ -131,7 +128,8 @@ public abstract class RedbookBlock {
} }
/** /**
* @param hasChkSum the hasChkSum to set * @param hasChkSum
* the hasChkSum to set
*/ */
public void setHasChkSum(boolean hasChkSum) { public void setHasChkSum(boolean hasChkSum) {
this.hasChkSum = hasChkSum; this.hasChkSum = hasChkSum;
@ -145,7 +143,8 @@ public abstract class RedbookBlock {
sb.append((hasChkSum) ? 'C' : '.'); sb.append((hasChkSum) ? 'C' : '.');
sb.append(':'); sb.append(':');
sb.append(String.format("%05d:mode=%02X:submode=%02X",length,header.mode,header.subMode)); sb.append(String.format("%05d:mode=%02X:submode=%02X", length,
header.mode, header.subMode));
return sb; return sb;
} }
@ -153,6 +152,7 @@ public abstract class RedbookBlock {
/** /**
* *
*/ */
@Override
public String toString() { public String toString() {
return toString((StringBuilder) null).toString(); return toString((StringBuilder) null).toString();
} }

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
@ -25,12 +25,10 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import com.raytheon.edex.plugin.redbook.common.blocks.RedbookBlock.RedbookBlockFactory; import com.raytheon.uf.common.dataplugin.redbook.blocks.RedbookBlock.RedbookBlockFactory;
import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.util.PropertiesUtil; import com.raytheon.uf.common.util.PropertiesUtil;
import com.raytheon.uf.common.util.ReflectionException;
import com.raytheon.uf.common.util.ReflectionUtil;
/** /**
* *
@ -42,12 +40,14 @@ import com.raytheon.uf.common.util.ReflectionUtil;
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 20080516 1131 jkorman Initial Coding. * May 16, 2008 1131 jkorman Initial Coding.
* Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, * Apr 29, 2013 1958 bgonzale Added class RedbookBlockHeader, and moved
* and moved reflective calls to the * reflective calls to the mapping
* mapping population method. Map now * population method. Map now contains
* contains factory objects. * factory objects.
* Jul 19, 2013 DR 16401 D. Friedman Fix end-of-product block decoding. * Jul 19, 2013 16401 D. Friedman Fix end-of-product block decoding.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *
@ -55,6 +55,7 @@ import com.raytheon.uf.common.util.ReflectionUtil;
* @version 1.0 * @version 1.0
*/ */
public class RedbookBlockBuilder { public class RedbookBlockBuilder {
private static final IUFStatusHandler statusHandler = UFStatus private static final IUFStatusHandler statusHandler = UFStatus
.getHandler(RedbookBlockBuilder.class); .getHandler(RedbookBlockBuilder.class);
@ -100,11 +101,12 @@ public class RedbookBlockBuilder {
byte rawMode = dataBuffer.get(); byte rawMode = dataBuffer.get();
byte rawSubMode = dataBuffer.get(); byte rawSubMode = dataBuffer.get();
/* Must have at least MIN_REMAINING, /*
* but allow the the end-of-product block (mode=1,sub=2) * Must have at least MIN_REMAINING, but allow the the end-of-product
* block (mode=1,sub=2)
*/ */
if (dataBuffer.remaining() >= MIN_REMAINING || if (dataBuffer.remaining() >= MIN_REMAINING
(rawMode == 1 && rawSubMode == 2)) { || (rawMode == 1 && rawSubMode == 2)) {
header = new RedbookBlockHeader(rawHdr, rawMode, rawSubMode); header = new RedbookBlockHeader(rawHdr, rawMode, rawSubMode);
} else { } else {
header = RedbookBlockHeader.DEFAULT; header = RedbookBlockHeader.DEFAULT;
@ -127,12 +129,11 @@ public class RedbookBlockBuilder {
+ FACTORY_NAME; + FACTORY_NAME;
try { try {
RedbookBlockFactory factory = ReflectionUtil Class<?> factoryClass = Class.forName(factoryClassName);
.newInstanceOfAssignableType( RedbookBlockFactory factory = (RedbookBlockFactory) factoryClass
RedbookBlockFactory.class, factoryClassName); .newInstance();
blockFactoryMap.put(key, factory);
blockFactoryMap.put((String) key, factory); } catch (Exception e) {
} catch (ReflectionException e) {
statusHandler.error("Could not instantiate " statusHandler.error("Could not instantiate "
+ factoryClassName, e); + factoryClassName, e);
} }

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.edex.plugin.redbook.common.blocks; package com.raytheon.uf.common.dataplugin.redbook.blocks;
/** /**
* *
@ -31,6 +31,8 @@ package com.raytheon.edex.plugin.redbook.common.blocks;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 25 APR 2013 bgonzale Initial Coding. * 25 APR 2013 bgonzale Initial Coding.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *

View file

@ -220,6 +220,13 @@
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin
id="com.raytheon.uf.common.dataplugin.redbook"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin <plugin
id="com.raytheon.edex.plugin.sfcobs" id="com.raytheon.edex.plugin.sfcobs"
download-size="0" download-size="0"

View file

@ -162,5 +162,6 @@
<classpathentry kind="lib" path="lib/servlet-api-2.5.jar"/> <classpathentry kind="lib" path="lib/servlet-api-2.5.jar"/>
<classpathentry kind="lib" path="lib/jetty-security-7.6.14.v20131031.jar"/> <classpathentry kind="lib" path="lib/jetty-security-7.6.14.v20131031.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/com.raytheon.edex.plugin.taf"/> <classpathentry combineaccessrules="false" kind="src" path="/com.raytheon.edex.plugin.taf"/>
<classpathentry combineaccessrules="false" kind="src" path="/com.raytheon.uf.common.dataplugin.redbook"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View file

@ -43,8 +43,8 @@ import org.junit.Test;
import com.raytheon.edex.esb.Headers; import com.raytheon.edex.esb.Headers;
import com.raytheon.edex.exception.DecoderException; import com.raytheon.edex.exception.DecoderException;
import com.raytheon.edex.plugin.redbook.common.RedbookRecord;
import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.redbook.RedbookRecord;
import com.raytheon.uf.common.localization.PathManagerFactoryTest; import com.raytheon.uf.common.localization.PathManagerFactoryTest;
import com.raytheon.uf.common.util.FileUtil; import com.raytheon.uf.common.util.FileUtil;
@ -60,6 +60,8 @@ import com.raytheon.uf.common.util.FileUtil;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Apr 22, 2013 1958 bgonzale Initial creation * Apr 22, 2013 1958 bgonzale Initial creation
* May 08, 2013 2000 djohnson Ignore broken test. * May 08, 2013 2000 djohnson Ignore broken test.
* Mar 13, 2014 2907 njensen split edex.redbook plugin into common and
* edex redbook plugins
* *
* </pre> * </pre>
* *