From 1b01d0d06dde7cef90b4bd7ce545ed53f3c9203e Mon Sep 17 00:00:00 2001 From: Dave Hladky Date: Tue, 22 Apr 2014 10:44:57 -0500 Subject: [PATCH] Issue #3046 Dupe checker for DD gridded retrievals got broken. Change-Id: Iaec4c848e0a9ef06610153ce03f7c4d45deb870a Former-commit-id: 83e43622fbfcf255ab2de5d551c909cf1b8c109f [formerly aa8fdb1e5affc03d9259f3d06d84fe301f9aac4e] [formerly 83e43622fbfcf255ab2de5d551c909cf1b8c109f [formerly aa8fdb1e5affc03d9259f3d06d84fe301f9aac4e] [formerly b5a997054b5900e7dc18d33337b0f29f0e7c6f95 [formerly 2c957466d5a4877ab7c20ddf75ea6fa8e6333c76]]] Former-commit-id: b5a997054b5900e7dc18d33337b0f29f0e7c6f95 Former-commit-id: b8ee6fb1946b37c1509d9ba500f2dfeb1c99b0fa [formerly f6a6467a9d6f9b6cac55cd75b52bd8182deccb3d] Former-commit-id: 83f8def438cb945376fd173a6be1ba2c0c84ed10 --- .../adapters/GridMetadataAdapter.java | 33 +++++++++---------- .../util/ResponseProcessingUtilities.java | 7 ++++ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/metadata/adapters/GridMetadataAdapter.java b/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/metadata/adapters/GridMetadataAdapter.java index ea1af6b523..07551deeaa 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/metadata/adapters/GridMetadataAdapter.java +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/metadata/adapters/GridMetadataAdapter.java @@ -32,6 +32,8 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.grid.GridRecord; import com.raytheon.uf.common.dataplugin.level.Level; import com.raytheon.uf.common.gridcoverage.GridCoverage; +import com.raytheon.uf.common.status.IUFStatusHandler; +import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.util.GridUtil; import com.raytheon.uf.edex.datadelivery.retrieval.util.ResponseProcessingUtilities; @@ -50,6 +52,7 @@ import com.raytheon.uf.edex.datadelivery.retrieval.util.ResponseProcessingUtilit * May 12, 2013 753 dhladky Altered to be more flexible with other types * May 31, 2013 2038 djohnson Rename setPdos to allocatePdoArray. * Sept 25, 2013 1797 dhladky separated time from gridded time + * Apr 22, 2014 3046 dhladky Got rid of duplicate code. * * * @@ -58,6 +61,9 @@ import com.raytheon.uf.edex.datadelivery.retrieval.util.ResponseProcessingUtilit */ public class GridMetadataAdapter extends AbstractMetadataAdapter { + private static final IUFStatusHandler statusHandler = UFStatus + .getHandler(GridMetadataAdapter.class); + public GridMetadataAdapter() { } @@ -91,12 +97,6 @@ public class GridMetadataAdapter extends AbstractMetadataAdapter { GridCoverage gridCoverage = ((GriddedCoverage) attXML.getCoverage()) .getRequestGridCoverage(); - try { - gridCoverage = getCoverageFromCache(gridCoverage); - } catch (Exception e) { - throw new InstantiationException(e.getMessage()); - } - if (time.getSelectedTimeIndices() != null) { int bin = 0; for (String ensemble : ensembles) { @@ -128,19 +128,16 @@ public class GridMetadataAdapter extends AbstractMetadataAdapter { */ private GridRecord populateGridRecord(String name, Parameter parm, Level level, String ensembleId, GridCoverage gridCoverage) { - return ResponseProcessingUtilities.getGridRecord(name, parm, level, - ensembleId, gridCoverage); - } - /** - * Try to find the coverage in the cache - * - * @param coverage - * @return - */ - @VisibleForTesting - GridCoverage getCoverageFromCache(GridCoverage coverage) { - return ResponseProcessingUtilities.getCoverageFromCache(coverage); + GridRecord rec = null; + + try { + rec = ResponseProcessingUtilities.getGridRecord(name, parm, level, ensembleId, gridCoverage); + } catch (Exception e) { + statusHandler.error("Couldn't create grid record! "+e); + } + + return rec; } @VisibleForTesting diff --git a/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/util/ResponseProcessingUtilities.java b/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/util/ResponseProcessingUtilities.java index 3aa218ec31..a0e908989d 100644 --- a/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/util/ResponseProcessingUtilities.java +++ b/edexOsgi/com.raytheon.uf.edex.datadelivery.retrieval/src/com/raytheon/uf/edex/datadelivery/retrieval/util/ResponseProcessingUtilities.java @@ -53,6 +53,7 @@ import com.raytheon.uf.common.time.DataTime; * Aug 30, 2013 2298 rjpeter Make getPluginName abstract * Sept 25, 2013 1797 dhladky separated time from gridded time * Oct 10, 2013 1797 bgonzale Refactored registry Time objects. + * Apr 22, 2014 3046 dhladky Sample URI creation for DD dupe check got broken. * * * @@ -74,6 +75,7 @@ public class ResponseProcessingUtilities { parameter.setUnitString(parm.getUnits()); GridRecord record = new GridRecord(); + gridCoverage = getCoverageFromCache(gridCoverage); record.setLocation(gridCoverage); record.setLevel(level); record.setParameter(parameter); @@ -82,6 +84,11 @@ public class ResponseProcessingUtilities { return record; } + /** + * Gets a grid coverage from the DB cache system wide. + * @param coverage + * @return + */ public static GridCoverage getCoverageFromCache(GridCoverage coverage) { return GridCoverageLookup.getInstance().getCoverage(coverage, true); }