Merge "Issue #1822 created DataDeliveryRetrievalWmoHeaderApplier to generate WMO Header for data delivery retrievals." into development

Former-commit-id: 64496ad332 [formerly 3763073459] [formerly 3f6d8a28da] [formerly 60831564a0 [formerly 3f6d8a28da [formerly c4cc04a6b759f934a556004a242da4dfa4709653]]]
Former-commit-id: 60831564a0
Former-commit-id: b8c51d60a2d0aa03907fcbc0718b69115b70690e [formerly a4d9a82ca5]
Former-commit-id: 35a3e81478
This commit is contained in:
Richard Peter 2013-08-13 10:10:07 -05:00 committed by Gerrit Code Review
commit 2be0bfe06c
15 changed files with 386 additions and 25 deletions

View file

@ -33,6 +33,7 @@ import javax.xml.bind.annotation.XmlEnum;
* Aug 22, 2012 0743 djohnson Initial creation
* Nov 19, 2012 1166 djohnson Clean up JAXB representation of registry objects.
* Feb 21, 2013 754 dhladky Added point data type
* Aug 07, 2013 1822 bgonzale Added PDA type.
*
* </pre>
*
@ -41,10 +42,7 @@ import javax.xml.bind.annotation.XmlEnum;
*/
@XmlEnum
public enum DataType {
GRID(DataType.GRID_STRING_VALUE), POINT(DataType.POINT_STRING_VALUE);
private static final String GRID_STRING_VALUE = "Grid";
private static final String POINT_STRING_VALUE = "Point";
GRID("GRID"), POINT("POINT"), PDA("PDA");
private final String displayString;

View file

@ -23,8 +23,11 @@
class="com.raytheon.uf.edex.datadelivery.retrieval.handlers.SerializeRetrievedDataToDirectory">
<constructor-arg value="${sbn.retrieval.transfer.directory}" />
<constructor-arg>
<bean class="com.raytheon.uf.edex.datadelivery.retrieval.handlers.AlwaysSameWmoHeader">
<bean class="com.raytheon.uf.edex.datadelivery.retrieval.handlers.DataDeliveryRetrievalWmoHeaderApplier">
<constructor-arg value="${sbn.retrieval.transfer.wmo.header}" />
<constructor-arg value="${sbn.retrieval.transfer.wmo.header.dataProviderMap}" />
<constructor-arg value="${sbn.retrieval.transfer.wmo.header.dataFormatMap}" />
<constructor-arg value="${sbn.retrieval.transfer.wmo.header.dataSourceMap}" />
</bean>
</constructor-arg>
</bean>

View file

@ -1,7 +1,10 @@
sbn.retrieval.transfer.directory=/awips2/crawl
# TODO: What WMO Header should be used for SBN retrievals?
# The one below is just a random one to get things working...
sbn.retrieval.transfer.wmo.header=SMYG10 LYBM 280000
# maps for WMO header format values. mappings are <Name>:<WMO Header Value>
sbn.retrieval.transfer.wmo.header.dataProviderMap=NOMADS:A,MADIS:B,PDA:C
sbn.retrieval.transfer.wmo.header.dataFormatMap=GRID:A,MADIS:B,NETCDF:C
sbn.retrieval.transfer.wmo.header.dataSourceMap=MODEL:1,OBSERVATION:2,SATELLITE:3
# WMO Header MessageFormat should be used for SBN retrievals
sbn.retrieval.transfer.wmo.header=LZ{0}{1}9{2} KWBC {3,date,ddHH00}
# How often to check for retrievals to process
# Valid units: [MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS]
retrieval.task.frequency=1 MINUTES

View file

@ -19,6 +19,8 @@
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.util.Date;
/**
* Applies a WMO header that is always the same.
*
@ -29,6 +31,7 @@ package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 04, 2013 1647 djohnson Initial creation
* Aug 09, 2013 1822 bgonzale Added parameters to IWmoHeaderApplier.applyWmoHeader().
*
* </pre>
*
@ -47,7 +50,8 @@ public class AlwaysSameWmoHeader implements IWmoHeaderApplier {
* {@inheritDoc}
*/
@Override
public String applyWmoHeader(String data) {
public String applyWmoHeader(String dataProvider, String dataFormat,
String sourceType, Date date, String data) {
return wmoHeader + "\n" + data;
}

View file

@ -0,0 +1,159 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.text.DateFormat;
import java.text.Format;
import java.text.MessageFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.edex.core.props.PropertiesException;
/**
* Applies the Data Delivery WMO header.
*
* <pre>
* From Brian Gockel:
*
* The general form will be:
* LZ$$# KWBC
* where "$$#" is two character ($$) variables and one numeric (#) variable,
* so we have three characters with which to work: $, $, and #.
* $ and $ can be assigned from A-Z, while # can be assigned from 1-6.
*
* The first $ is the data-provider indicator, with values (so far):
*
* A = NOMADS
* B = MADIS
* C = PDA
*
*
* The second $ is the data-format indicator (so far):
*
* A = binary grid (OPENDAP)
* B = <TBD point-data format, such as from MADIS>
* C = netCDF4
*
*
* and the # is the general data type (so far):
*
* 1 = model
* 2 = observation
* 3 = satellite
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 06, 2013 1822 bgonzale Initial creation
*
* </pre>
*
* @author bgonzale
* @version 1.0
*/
public class DataDeliveryRetrievalWmoHeaderApplier implements IWmoHeaderApplier {
private final MessageFormat wmoHeaderMessage;
private final Map<String, String> dataProviderMap;
private final Map<String, String> dataFormatMap;
private final Map<String, String> dataSourceMap;
public DataDeliveryRetrievalWmoHeaderApplier(String wmoHeader,
String dataProviderMapping, String dataFormatMapping,
String dataSourceMapping) throws PropertiesException {
this.wmoHeaderMessage = new MessageFormat(wmoHeader);
// ensure any DateFormats in the given format are GMT
for (Format format : this.wmoHeaderMessage.getFormats()) {
if (format instanceof DateFormat) {
((DateFormat) format).setTimeZone(TimeUtil.GMT_TIME_ZONE);
}
}
this.dataProviderMap = parseMapping(dataProviderMapping);
this.dataFormatMap = parseMapping(dataFormatMapping);
this.dataSourceMap = parseMapping(dataSourceMapping);
}
private static Map<String, String> parseMapping(String dataMapping)
throws PropertiesException {
Map<String, String> resultMap = new HashMap<String, String>();
String[] elementPairs = dataMapping.split(",");
for (String elementPair : elementPairs) {
String[] pair = elementPair.split(":");
if (pair.length == 2) {
String key = pair[0].toUpperCase();
String value = pair[1].toUpperCase();
resultMap.put(key, value);
} else {
throw new PropertiesException(
"Failed to Parse WMO Configuration Properties Mapping from: "
+ dataMapping);
}
}
return resultMap;
}
/**
* {@inheritDoc}
*/
@Override
public String applyWmoHeader(String dataProvider, String dataFormat,
String sourceType, Date date, String data) {
final Object formatArgs = createMessageFormatArgs(dataProvider,
dataFormat, sourceType, date);
final String formattedWmoHeader = wmoHeaderMessage.format(formatArgs);
return formattedWmoHeader + "\n" + data;
}
private Object createMessageFormatArgs(String dataProvider,
String dataFormat, String sourceType, Date date) {
final String provider = getElement(dataProvider, this.dataProviderMap);
final String format = getElement(dataFormat, this.dataFormatMap);
final String source = getElement(sourceType, this.dataSourceMap);
return new Object[] { provider, format, source, date };
}
private static String getElement(String dataProvider,
Map<String, String> mapping) {
String defaultKey = null;
for (String key : mapping.keySet()) {
if (defaultKey == null) {
defaultKey = key;
}
if (key.startsWith(dataProvider)) {
return mapping.get(key);
}
}
// if no element found, default to first element, or if empty, default
// to null
return mapping.get(defaultKey);
}
}

View file

@ -19,11 +19,13 @@
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.util.Date;
import com.raytheon.uf.common.serialization.SerializationException;
import com.raytheon.uf.edex.datadelivery.retrieval.adapters.RetrievalAdapter.TranslationException;
/**
* Processes {@link RetrievalResponseXml} that were generated from a
* retrieval.
* Processes {@link RetrievalResponseXml} that were generated from a retrieval.
*
* <pre>
*
@ -32,6 +34,7 @@ import com.raytheon.uf.common.serialization.SerializationException;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Feb 01, 2013 1543 djohnson Initial creation
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -45,12 +48,22 @@ public interface IRetrievalPluginDataObjectsProcessor {
* Process plugin data objects that were created as a result of a data
* delivery retrieval.
*
* @param dataProvider
* NOMADS, MADIS, or PDA
* @param dataFormat
* Binary Grid(OPENDAP), POINT(MADIS), NetCDF4
* @param sourceType
* Model, Observation, Satellite
* @param date
* the date
* @param retrievalPluginDataObjects
* the retrieval plugin data objects
* @throws SerializationException
* on error with serialization
* @throws TranslationException
*/
void processRetrievedPluginDataObjects(
void processRetrievedPluginDataObjects(String dataProvider,
String dataFormat, String sourceType, Date date,
RetrievalResponseXml retrievalPluginDataObjects)
throws Exception;
throws SerializationException, TranslationException;
}

View file

@ -19,6 +19,8 @@
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.util.Date;
/**
* Apply a WMO compliant header to text data.
*
@ -29,6 +31,7 @@ package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 04, 2013 1647 djohnson Initial creation
* Aug 07, 2013 1822 bgonzale Added arguments to applyWmoHeader.
*
* </pre>
*
@ -39,12 +42,21 @@ package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
public interface IWmoHeaderApplier {
/**
* Apply a WMO compliant header.
* Apply the WMO compliant header.
*
* @param dataProvider
* NOMADS, MADIS, or PDA
* @param dataFormat
* Binary Grid(OPENDAP), POINT(MADIS), NetCDF4
* @param sourceType
* Model, Observation, Satellite
* @param date
* data date
* @param data
* the data
* @return the data with a WMO compliant header
*/
String applyWmoHeader(final String data);
String applyWmoHeader(final String dataProvider, final String dataFormat,
final String sourceType, final Date date, final String data);
}

View file

@ -19,6 +19,8 @@
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.util.Date;
import com.raytheon.uf.common.datadelivery.registry.Network;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
@ -42,6 +44,7 @@ import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
* Jan 30, 2013 1543 djohnson Constrain to the network retrievals are pulled for.
* Feb 15, 2013 1543 djohnson Using xml for retrievals now.
* Mar 05, 2013 1647 djohnson Change no retrievals found message to debug.
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -100,8 +103,10 @@ public class RetrievalTask implements Runnable {
request = retrievalDao.getById(retrievalPluginDataObject
.getRequestRecord());
success = retrievalPluginDataObject.isSuccess();
retrievedDataProcessor
.processRetrievedPluginDataObjects(retrievalPluginDataObject);
Date date = request.getInsertTime();
retrievedDataProcessor.processRetrievedPluginDataObjects(
request.getProvider(), request.getPlugin(), null,
date, retrievalPluginDataObject);
} catch (Exception e) {
statusHandler.error(
network + " retrieval processing error", e);

View file

@ -21,6 +21,7 @@ package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.UUID;
import javax.xml.bind.JAXBException;
@ -44,6 +45,7 @@ import com.raytheon.uf.edex.datadelivery.retrieval.opendap.OpenDapRetrievalRespo
* Feb 15, 2013 1543 djohnson Serialize data out as XML.
* Mar 05, 2013 1647 djohnson Apply WMO header.
* Mar 07, 2013 1647 djohnson Write out as hidden file, then rename.
* Aug 09, 2013 1822 bgonzale Added parameters to IWmoHeaderApplier.applyWmoHeader().
*
* </pre>
*
@ -78,7 +80,8 @@ public class SerializeRetrievedDataToDirectory implements
* {@inheritDoc}
*/
@Override
public void processRetrievedPluginDataObjects(
public void processRetrievedPluginDataObjects(String dataType,
String dataFormat, String sourceType, Date date,
RetrievalResponseXml retrievalPluginDataObjects)
throws SerializationException {
retrievalPluginDataObjects.prepareForSerialization();
@ -91,7 +94,8 @@ public class SerializeRetrievedDataToDirectory implements
final String xml = jaxbManager
.marshalToXml(retrievalPluginDataObjects);
final String textForFile = wmoHeaderWrapper.applyWmoHeader(xml);
final String textForFile = wmoHeaderWrapper.applyWmoHeader(
dataType, dataFormat, sourceType, date, xml);
// Write as hidden file, this is OS specific, but there is no
// platform-neutral way to do this with Java

View file

@ -19,6 +19,7 @@
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@ -58,6 +59,7 @@ import com.raytheon.uf.edex.datadelivery.retrieval.util.RetrievalPersistUtil;
* Jan 31, 2013 1543 djohnson Initial creation
* Feb 12, 2013 1543 djohnson Now handles the retrieval responses directly.
* Feb 15, 2013 1543 djohnson Retrieve the retrieval attributes from the database.
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -90,7 +92,8 @@ public class StoreRetrievedData implements IRetrievalPluginDataObjectsProcessor
* {@inheritDoc}
*/
@Override
public void processRetrievedPluginDataObjects(
public void processRetrievedPluginDataObjects(String dataProvider,
String dataFormat, String sourceType, Date date,
RetrievalResponseXml retrievalPluginDataObjects)
throws SerializationException, TranslationException {
Map<String, PluginDataObject[]> pluginDataObjects = Maps.newHashMap();

View file

@ -23,6 +23,8 @@ import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.Date;
import org.junit.BeforeClass;
import org.junit.Test;
@ -40,6 +42,7 @@ import com.raytheon.uf.edex.wmo.message.WMOMessage;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 04, 2013 1647 djohnson Initial creation
* Aug 09, 2013 1822 bgonzale Added parameters to IWmoHeaderApplier.applyWmoHeader().
*
* </pre>
*
@ -51,7 +54,8 @@ public class AlwaysSameWmoHeaderTest {
private static final AlwaysSameWmoHeader WRAPPER = new AlwaysSameWmoHeader(
"SMYG10 LYBM 280000");
private static final String wrapped = WRAPPER.applyWmoHeader("someData");
private static final String wrapped = WRAPPER.applyWmoHeader(null, null,
null, new Date(), "someData");
private static WMOMessage message;

View file

@ -0,0 +1,143 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.datadelivery.retrieval.handlers;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.io.IOException;
import java.util.Date;
import org.junit.Before;
import org.junit.Test;
import com.raytheon.edex.esb.Headers;
import com.raytheon.uf.edex.core.props.PropertiesException;
import com.raytheon.uf.edex.wmo.message.WMOHeader;
import com.raytheon.uf.edex.wmo.message.WMOMessage;
/**
* Test {@link DataDeliveryRetrievalWmoHeaderApplier}.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 08, 2013 1822 bgonzale Initial creation
*
* </pre>
*
* @author bgonzale
* @version 1.0
*/
public class DataDeliveryRetrievalWmoHeaderApplierTest {
private DataDeliveryRetrievalWmoHeaderApplier applier;
private WMOMessage message;
private WMOHeader wmoHeader;
@Before
public void setUp() throws PropertiesException, IOException {
applier = createApplier();
}
private void setHeader(String dataProvider, String dataFormat,
String sourceType, Date date) {
String dataWithHeader = applier.applyWmoHeader(dataProvider,
dataFormat, sourceType, date, "someData");
message = new WMOMessage(dataWithHeader, new Headers());
wmoHeader = message.getWmoHeader();
}
private static DataDeliveryRetrievalWmoHeaderApplier createApplier()
throws PropertiesException {
String wmoHeader = "LZ{0}{1}9{2} KWBC {3,date,ddHH00}";
String dataProviderMapping = "NOMADS:A,MADIS:B,PDA:C";
String dataFormatMapping = "GRID:A,MADIS:B,NETCDF:C";
String dataSourceMapping = "MODEL:1,OBSERVATION:2,SATELLITE:3";
return new DataDeliveryRetrievalWmoHeaderApplier(wmoHeader,
dataProviderMapping, dataFormatMapping, dataSourceMapping);
}
@Test
public void createValidWmoHeader() {
Date date = new Date();
setHeader("NOMADS", "GRID", "MODEL", date);
assertThat(wmoHeader.isValid(), is(true));
}
@Test
public void createNomadsGridModel() {
Date date = new Date();
setHeader("NOMADS", "GRID", "MODEL", date);
assertThat(wmoHeader.getT1(), is(equalTo('L')));
assertThat(wmoHeader.getT2(), is(equalTo('Z')));
assertThat(wmoHeader.getA1(), is(equalTo('A')));
assertThat(wmoHeader.getA2(), is(equalTo('A')));
assertThat(wmoHeader.getIi(), is(equalTo(91)));
assertThat(wmoHeader.getCccc(), is(equalTo("KWBC")));
assertThat(message.getMessageBody(), is(equalTo("someData".getBytes())));
}
@Test
public void createMadisGridModel() {
Date date = new Date();
setHeader("MADIS", "GRID", "MODEL", date);
assertThat(wmoHeader.getT1(), is(equalTo('L')));
assertThat(wmoHeader.getT2(), is(equalTo('Z')));
assertThat(wmoHeader.getA1(), is(equalTo('B')));
assertThat(wmoHeader.getA2(), is(equalTo('A')));
assertThat(wmoHeader.getIi(), is(equalTo(91)));
assertThat(wmoHeader.getCccc(), is(equalTo("KWBC")));
assertThat(message.getMessageBody(), is(equalTo("someData".getBytes())));
}
@Test
public void createMadisPointModel() {
Date date = new Date();
setHeader("MADIS", "MADIS", "MODEL", date);
assertThat(wmoHeader.getT1(), is(equalTo('L')));
assertThat(wmoHeader.getT2(), is(equalTo('Z')));
assertThat(wmoHeader.getA1(), is(equalTo('B')));
assertThat(wmoHeader.getA2(), is(equalTo('B')));
assertThat(wmoHeader.getIi(), is(equalTo(91)));
assertThat(wmoHeader.getCccc(), is(equalTo("KWBC")));
assertThat(message.getMessageBody(), is(equalTo("someData".getBytes())));
}
@Test
public void createMadisPointSatellite() {
Date date = new Date();
setHeader("MADIS", "MADIS", "SATELLITE", date);
assertThat(wmoHeader.getT1(), is(equalTo('L')));
assertThat(wmoHeader.getT2(), is(equalTo('Z')));
assertThat(wmoHeader.getA1(), is(equalTo('B')));
assertThat(wmoHeader.getA2(), is(equalTo('B')));
assertThat(wmoHeader.getIi(), is(equalTo(93)));
assertThat(wmoHeader.getCccc(), is(equalTo("KWBC")));
assertThat(message.getMessageBody(), is(equalTo("someData".getBytes())));
}
}

View file

@ -27,6 +27,7 @@ import static org.junit.Assert.assertThat;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
@ -53,6 +54,7 @@ import com.raytheon.uf.common.util.file.FilenameFilters;
* Feb 15, 2013 1543 djohnson Some renames.
* Mar 05, 2013 1647 djohnson Pass wmo header strategy to constructor.
* Mar 19, 2013 1794 djohnson Read from a queue rather than the file system.
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -113,7 +115,8 @@ public class DeserializeRetrievedDataFromIngestTest {
new SerializeRetrievedDataToDirectory(directory,
new AlwaysSameWmoHeader("SMYG10 LYBM 280000"))
.processRetrievedPluginDataObjects(retrievalPluginDataObjects);
.processRetrievedPluginDataObjects("", "", "", new Date(),
retrievalPluginDataObjects);
final List<File> files = FileUtil.listFiles(directory,
FilenameFilters.ACCEPT_FILES, false);

View file

@ -28,6 +28,7 @@ import static org.mockito.Mockito.mock;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@ -64,6 +65,7 @@ import com.raytheon.uf.common.util.file.FilenameFilters;
import com.raytheon.uf.edex.database.DataAccessLayerException;
import com.raytheon.uf.edex.datadelivery.retrieval.ServiceTypeFactory;
import com.raytheon.uf.edex.datadelivery.retrieval.adapters.RetrievalAdapter;
import com.raytheon.uf.edex.datadelivery.retrieval.adapters.RetrievalAdapter.TranslationException;
import com.raytheon.uf.edex.datadelivery.retrieval.db.IRetrievalDao;
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord;
import com.raytheon.uf.edex.datadelivery.retrieval.db.RetrievalRequestRecord.State;
@ -85,6 +87,7 @@ import com.raytheon.uf.edex.datadelivery.retrieval.interfaces.IRetrievalResponse
* Mar 05, 2013 1647 djohnson Pass wmo header strategy to constructor.
* Mar 19, 2013 1794 djohnson RetrievalTasks integrate at a queue.
* Apr 29, 2013 1910 djohnson Unregister from EventBus after each test.
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -107,9 +110,10 @@ public class RetrievalTaskTest {
* {@inheritDoc}
*/
@Override
public void processRetrievedPluginDataObjects(
public void processRetrievedPluginDataObjects(String dataProvider,
String dataFormat, String sourceType, Date date,
RetrievalResponseXml retrievalPluginDataObjects)
throws Exception {
throws SerializationException, TranslationException {
final List<RetrievalResponseWrapper> retrievalAttributePluginDataObjects = retrievalPluginDataObjects
.getRetrievalAttributePluginDataObjects();
final RetrievalRequestRecord requestRecord = dao

View file

@ -23,6 +23,7 @@ import static com.raytheon.uf.common.util.Matchers.hasNumberOfFiles;
import static org.junit.Assert.assertThat;
import java.io.File;
import java.util.Date;
import org.junit.BeforeClass;
import org.junit.Test;
@ -43,6 +44,7 @@ import com.raytheon.uf.common.util.TestUtil;
* Feb 01, 2013 1543 djohnson Initial creation
* Feb 15, 2013 1543 djohnson Class renames.
* Mar 05, 2013 1647 djohnson Pass wmo header strategy to constructor.
* Aug 09, 2013 1822 bgonzale Added parameters to processRetrievedPluginDataObjects.
*
* </pre>
*
@ -69,7 +71,8 @@ public class SerializeRetrievedDataToDirectoryTest {
RetrievalResponseXml retrievalPluginDataObjects = RetrievalPluginDataObjectsFixture.INSTANCE
.get();
service.processRetrievedPluginDataObjects(retrievalPluginDataObjects);
service.processRetrievedPluginDataObjects("NOMADS", "GRID", "Model",
new Date(), retrievalPluginDataObjects);
assertThat(directory, hasNumberOfFiles(1));
}