diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/dataaccess/GFEGridFactory.java b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/dataaccess/GFEGridFactory.java index 7e1edefb46..6d8a776fc7 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/dataaccess/GFEGridFactory.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.gfe/src/com/raytheon/uf/common/dataplugin/gfe/dataaccess/GFEGridFactory.java @@ -42,10 +42,8 @@ import com.raytheon.uf.common.dataplugin.gfe.slice.ScalarGridSlice; import com.raytheon.uf.common.dataplugin.gfe.slice.WeatherGridSlice; import com.raytheon.uf.common.dataplugin.level.Level; import com.raytheon.uf.common.dataplugin.level.MasterLevel; -import com.raytheon.uf.common.dataquery.requests.DbQueryRequest; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType; -import com.raytheon.uf.common.dataquery.responses.DbQueryResponse; import com.raytheon.uf.common.geospatial.MapUtil; import com.raytheon.uf.common.geospatial.util.SubGridGeometryCalculator; import com.raytheon.uf.common.numeric.buffer.ByteBufferWrapper; @@ -76,6 +74,8 @@ import com.raytheon.uf.common.util.StringUtil; * Feb 10, 2015 2866 nabowle Overwrite subgrid size estimation. * Feb 26, 2015 4179 mapeters Overrode getAvailableParameters(), added * getAvailableValues(), inherits IDataFactory. + * Feb 27, 2015 4179 mapeters Promoted getAvailableValues() to + * AbstractDataPluginFactory. * * * @@ -285,31 +285,14 @@ public class GFEGridFactory extends AbstractGridDataPluginFactory { @Override public String[] getAvailableLocationNames(IDataRequest request) { - return getAvailableValues(request, GFEDataAccessUtil.SITE_ID); + return getAvailableValues(request, GFEDataAccessUtil.SITE_ID, + String.class); } @Override public String[] getAvailableParameters(IDataRequest request) { - return getAvailableValues(request, GFEDataAccessUtil.PARM_NAME); - } - - /** - * Get the available values of the desired field. - * - * @param request - * @param requestField - * the field whose values are being retrieved - * @return the available values - */ - private String[] getAvailableValues(IDataRequest request, - String requestField) { - DbQueryRequest dbRequest = buildDbQueryRequest(request); - dbRequest.addRequestField(requestField); - dbRequest.setDistinct(true); - DbQueryResponse dbResponse = executeDbQueryRequest(dbRequest, - request.toString()); - - return dbResponse.getFieldObjects(requestField, String.class); + return getAvailableValues(request, GFEDataAccessUtil.PARM_NAME, + String.class); } private GFERecord asGFERecord(Object obj) { diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.grid/src/com/raytheon/uf/common/dataplugin/grid/dataaccess/GridDataAccessFactory.java b/edexOsgi/com.raytheon.uf.common.dataplugin.grid/src/com/raytheon/uf/common/dataplugin/grid/dataaccess/GridDataAccessFactory.java index 63840d876c..bbeeb11d33 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.grid/src/com/raytheon/uf/common/dataplugin/grid/dataaccess/GridDataAccessFactory.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.grid/src/com/raytheon/uf/common/dataplugin/grid/dataaccess/GridDataAccessFactory.java @@ -61,7 +61,6 @@ import com.raytheon.uf.common.dataplugin.grid.dataquery.GridQueryAssembler; import com.raytheon.uf.common.dataplugin.grid.mapping.DatasetIdMapper; import com.raytheon.uf.common.dataplugin.level.Level; import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapper; -import com.raytheon.uf.common.dataquery.requests.DbQueryRequest; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType; import com.raytheon.uf.common.dataquery.responses.DbQueryResponse; @@ -98,6 +97,7 @@ import com.vividsolutions.jts.geom.GeometryFactory; * Oct 21, 2014 3755 nabowle Add getAvailable levels and parameters. * Feb 13, 2015 4124 mapeters Inherits IDataFactory. * Feb 23, 2015 4016 bsteffen Add support for geometry requests. + * Feb 27, 2015 4179 mapeters Use AbstractDataPluginFactory.getAvailableValues(). * * * @@ -347,7 +347,8 @@ public class GridDataAccessFactory extends AbstractGridDataPluginFactory { @Override public String[] getAvailableLocationNames(IDataRequest request) { - return getAvailableLocationNames(request, GridConstants.DATASET_ID); + return getAvailableValues(request, GridConstants.DATASET_ID, + String.class); } /** @@ -355,14 +356,7 @@ public class GridDataAccessFactory extends AbstractGridDataPluginFactory { */ @Override public Level[] getAvailableLevels(IDataRequest request) { - DbQueryRequest dbQueryRequest = buildDbQueryRequest(request); - dbQueryRequest.setDistinct(Boolean.TRUE); - dbQueryRequest.addRequestField(GridConstants.LEVEL); - - DbQueryResponse dbQueryResponse = this.executeDbQueryRequest( - dbQueryRequest, request.toString()); - return dbQueryResponse - .getFieldObjects(GridConstants.LEVEL, Level.class); + return getAvailableValues(request, GridConstants.LEVEL, Level.class); } /** @@ -370,13 +364,7 @@ public class GridDataAccessFactory extends AbstractGridDataPluginFactory { */ @Override public String[] getAvailableParameters(IDataRequest request) { - DbQueryRequest dbQueryRequest = buildDbQueryRequest(request); - dbQueryRequest.setDistinct(Boolean.TRUE); - dbQueryRequest.addRequestField(GridConstants.PARAMETER_ABBREVIATION); - - DbQueryResponse dbQueryResponse = this.executeDbQueryRequest( - dbQueryRequest, request.toString()); - return dbQueryResponse.getFieldObjects( + return getAvailableValues(request, GridConstants.PARAMETER_ABBREVIATION, String.class); } @@ -442,8 +430,8 @@ public class GridDataAccessFactory extends AbstractGridDataPluginFactory { /** * Get geometry data for a single point. */ - private IGeometryData getGeometryData(Point point, - GridGeometryKey key, Set records) { + private IGeometryData getGeometryData(Point point, GridGeometryKey key, + Set records) { DefaultGeometryData data = key.toGeometryData(); DirectPosition2D llPoint = findResponsePoint(key.getGridCoverage(), point.x, point.y); @@ -495,8 +483,8 @@ public class GridDataAccessFactory extends AbstractGridDataPluginFactory { * DefaultGeometryDatas must be the same as the order of the data returned * from the provided request. */ - private static void populateGeometryData( - Set records, Request request, DefaultGeometryData[] data) { + private static void populateGeometryData(Set records, + Request request, DefaultGeometryData[] data) { for (GridRecord record : records) { try { Parameter parameter = record.getParameter(); diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/dataaccess/RadarGridFactory.java b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/dataaccess/RadarGridFactory.java index d26ce765c3..a390907d72 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/dataaccess/RadarGridFactory.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.radar/src/com/raytheon/uf/common/dataplugin/radar/dataaccess/RadarGridFactory.java @@ -91,6 +91,7 @@ import com.vividsolutions.jts.geom.Envelope; * fields are used for the level one and two * values. * Feb 13, 2015 4124 mapeters Inherits IDataFactory. + * Feb 27, 2015 4179 mapeters Use AbstractDataPluginFactory.getAvailableValues(). * * * @@ -503,7 +504,7 @@ public class RadarGridFactory extends AbstractGridDataPluginFactory { @Override public String[] getAvailableLocationNames(IDataRequest request) { - return getAvailableLocationNames(request, ICAO); + return getAvailableValues(request, ICAO, String.class); } /** diff --git a/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/src/com/raytheon/uf/common/dataplugin/satellite/dataaccess/SatelliteGridFactory.java b/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/src/com/raytheon/uf/common/dataplugin/satellite/dataaccess/SatelliteGridFactory.java index 8fd22b94ac..b40ae2d957 100644 --- a/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/src/com/raytheon/uf/common/dataplugin/satellite/dataaccess/SatelliteGridFactory.java +++ b/edexOsgi/com.raytheon.uf.common.dataplugin.satellite/src/com/raytheon/uf/common/dataplugin/satellite/dataaccess/SatelliteGridFactory.java @@ -37,9 +37,7 @@ import com.raytheon.uf.common.dataaccess.impl.DefaultGridData; import com.raytheon.uf.common.dataplugin.PluginDataObject; import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord; import com.raytheon.uf.common.dataplugin.satellite.units.SatelliteUnits; -import com.raytheon.uf.common.dataquery.requests.DbQueryRequest; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; -import com.raytheon.uf.common.dataquery.responses.DbQueryResponse; import com.raytheon.uf.common.numeric.source.DataSource; /** @@ -60,6 +58,7 @@ import com.raytheon.uf.common.numeric.source.DataSource; * Jul 30, 2014 3184 njensen Renamed valid identifiers to optional * Sep 29, 2014 3596 nabowle Always put creatingEntity in attributes. * Feb 13, 2015 4124 mapeters Overrode getAvailableParameters(), inherits IDataFactory. + * Feb 27, 2015 4179 mapeters Use AbstractDataPluginFactory.getAvailableValues(). * * * @@ -170,7 +169,7 @@ public class SatelliteGridFactory extends AbstractGridDataPluginFactory { @Override public String[] getAvailableLocationNames(IDataRequest request) { - return getAvailableLocationNames(request, FIELD_SECTOR_ID); + return getAvailableValues(request, FIELD_SECTOR_ID, String.class); } /** @@ -178,14 +177,7 @@ public class SatelliteGridFactory extends AbstractGridDataPluginFactory { */ @Override public String[] getAvailableParameters(IDataRequest request) { - DbQueryRequest dbQueryRequest = buildDbQueryRequest(request); - dbQueryRequest.setDistinct(Boolean.TRUE); - dbQueryRequest.addRequestField(FIELD_PYHSICAL_ELEMENT); - - DbQueryResponse dbQueryResponse = this.executeDbQueryRequest( - dbQueryRequest, request.toString()); - return dbQueryResponse.getFieldObjects(FIELD_PYHSICAL_ELEMENT, - String.class); + return getAvailableValues(request, FIELD_PYHSICAL_ELEMENT, String.class); } } \ No newline at end of file