diff --git a/cave/com.raytheon.uf.viz.common.core.feature/feature.xml b/cave/com.raytheon.uf.viz.common.core.feature/feature.xml
index bbb9fd5394..ff2dcb2510 100644
--- a/cave/com.raytheon.uf.viz.common.core.feature/feature.xml
+++ b/cave/com.raytheon.uf.viz.common.core.feature/feature.xml
@@ -21,13 +21,6 @@
-
-
-
-
-
-
-
-
- *
- * SOFTWARE HISTORY
- *
- * Date Ticket# Engineer Description
- * ------------ ---------- ----------- --------------------------
- * 7/1/06 chammack Initial Creation.
- * 8/8/07 chammack Refactored: moved loading logic to core.comm.Loader
- *
- *
- *
- * @author chammack
- * @version 1
- */
-public class RequestJob extends Job {
- private static final transient IUFStatusHandler statusHandler = UFStatus
- .getHandler(RequestJob.class);
-
- /**
- * Resource that is being added via a request job
- */
- private class Resource {
- public AbstractVizResource, ?> vizResource;
-
- public IDescriptor descriptor;
- }
-
- public static class Request {
- public AbstractRequestableResourceData resourceData;
-
- public LoadProperties loadProperties;
- }
-
- private final List requests;
-
- private boolean blendable;
-
- private boolean difference;
-
- private IDisplayPane[] displayPanes;
-
- /**
- * Constructor
- *
- * @param property
- * the layer property to build data from
- * @param timeOut
- * time out in seconds
- * @param requests2
- * @param displayPanes
- * @param loadProperties
- * the load properties (null will construct a default load
- * properties)
- */
- public RequestJob(int timeOut, AbstractEditor editor, Request... requests) {
- super("Requesting EDEX Product(s)");
- this.requests = new ArrayList();
- for (Request r : requests) {
- this.requests.add(r);
- }
- this.displayPanes = editor.getDisplayPanes();
-
- IDisplayPane selected = getSelectedDisplayPane(editor);
- if (selected != null) {
- this.displayPanes = new IDisplayPane[] { selected };
- }
-
- this.blendable = false;
- this.setDifference(false);
- }
-
- /**
- * @param editor
- * @return the selectedDisplayPane, null if nothing is selected
- */
- private IDisplayPane getSelectedDisplayPane(AbstractEditor editor) {
-
- IDisplayPane selected = null;
- if (editor instanceof IMultiPaneEditor) {
- selected = ((IMultiPaneEditor) editor)
- .getSelectedPane(IMultiPaneEditor.LOAD_ACTION);
- }
- return selected;
- }
-
- /**
- *
- * @param flag
- * the requests to be loaded as blendable resources. by default
- * resource blending is disabled.
- */
- public void setBlendable(boolean flag) {
- this.blendable = flag;
- }
-
- /**
- *
- * @return true if there are exactly two resources and the resources to be
- * loaded by this RequestJob are set to be blendable.
- */
- public boolean isBlendable() {
- return (requests.size() == 2) && blendable;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.
- * IProgressMonitor)
- */
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-
- List resources = null;
-
- try {
- resources = new ArrayList();
-
- for (Request request : this.requests) {
- for (IDisplayPane displayPane : displayPanes) {
-
- Resource resource = new Resource();
- try {
- resource.vizResource = request.resourceData.construct(
- request.loadProperties,
- displayPane.getDescriptor());
- if (resource.vizResource != null) {
- resource.descriptor = displayPane.getDescriptor();
- resources.add(resource);
- }
- } catch (NoDataAvailableException e) {
- statusHandler
- .handle(Priority.PROBLEM,
- "No Data Available for "
- + getMetaDataValueString(request.resourceData
- .getMetadataMap()), e);
- }
- }
- }
- requests.clear();
- } catch (VizException e1) {
- final Status s = new Status(IStatus.ERROR, UiPlugin.PLUGIN_ID,
- IStatus.ERROR, "Error: " + e1.getMessage(), e1);
-
- return s;
- }
-
- if (resources.size() == 2) {
-
- if (isBlendable()) {
- BlendedResourceData resourceData = new BlendedResourceData();
- BlendedResource resource = new BlendedResource(resourceData,
- new LoadProperties());
-
- resource.addResource(resources.get(0).vizResource);
- resource.addResource(resources.get(1).vizResource);
-
- Resource blendedResource = new Resource();
- blendedResource.vizResource = resource;
- blendedResource.descriptor = resources.get(0).descriptor;
-
- resources.clear();
- resources.add(blendedResource);
-
- }
-
- }
-
- try {
-
- for (Resource resource : resources) {
- if (resource.vizResource
- .hasCapability(ColorableCapability.class) == false) {
- resource.vizResource.getCapability(
- ColorableCapability.class).setColor(
- ColorUtil.getNewColor(displayPanes));
- }
- resource.descriptor.getResourceList().add(resource.vizResource);
- }
-
- HistoryList.getInstance().refreshLatestBundle();
-
- } catch (VizException e) {
-
- final Status s = new Status(IStatus.ERROR, UiPlugin.PLUGIN_ID,
- IStatus.ERROR, "Error: " + e.getMessage(), e);
-
- return s;
- }
-
- return Status.OK_STATUS;
- }
-
- /**
- * @param metadataMap
- * @return
- */
- private String getMetaDataValueString(
- HashMap metadataMap) {
- StringBuilder valueString = new StringBuilder();
- for (RequestConstraint constraint : metadataMap.values()) {
- if (valueString.length() != 0) {
- valueString.append("::");
- }
- valueString.append(constraint.getConstraintValue());
- }
- return valueString.toString();
- }
-
- public void setDifference(boolean difference) {
- this.difference = difference;
- }
-
- public boolean isDifference() {
- return difference;
- }
-}
diff --git a/edexOsgi/com.raytheon.uf.common.base.feature/feature.xml b/edexOsgi/com.raytheon.uf.common.base.feature/feature.xml
index 2a4d7989f7..00d166b5ca 100644
--- a/edexOsgi/com.raytheon.uf.common.base.feature/feature.xml
+++ b/edexOsgi/com.raytheon.uf.common.base.feature/feature.xml
@@ -368,4 +368,30 @@
version="0.0.0"
unpack="false"/>
+
+
+
+
+
+
+
+
diff --git a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/responses/DbQueryResponse.java b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/responses/DbQueryResponse.java
index 62fcae6ef6..8ccf58cdd5 100644
--- a/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/responses/DbQueryResponse.java
+++ b/edexOsgi/com.raytheon.uf.common.dataquery/src/com/raytheon/uf/common/dataquery/responses/DbQueryResponse.java
@@ -66,13 +66,17 @@ public class DbQueryResponse implements ISerializableObject {
return getResults().size();
}
- @SuppressWarnings("unchecked")
public T[] getEntityObjects(Class entityType) {
+ return getFieldObjects(ENTITY_RESULT_KEY, entityType);
+ }
+
+ @SuppressWarnings("unchecked")
+ public T[] getFieldObjects(String fieldKey, Class fieldType) {
List