changeset 1567:8ca9a3d0f6b7

Deprecate DescriptorMetadata and don't use it any longer. Reviewed-by: neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2014-November/011751.html
author Severin Gehwolf <sgehwolf@redhat.com>
date Wed, 26 Nov 2014 11:56:35 +0100
parents cc2c360fe1ec
children 73fdadf117c5
files host-cpu/common/src/main/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistration.java host-cpu/common/src/test/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistrationTest.java host-memory/common/src/main/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistration.java host-memory/common/src/test/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistrationTest.java integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTest.java integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTestStatementDescriptorRegistration.java notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/HostNotesStatementDescriptorRegistration.java notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/VmNotesStatementDescriptorRegistration.java numa/common/src/main/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistration.java numa/common/src/test/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistrationTest.java storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/DescriptorMetadata.java storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorMetadataFactory.java storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorRegistration.java storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistration.java storage/core/src/test/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistrationTest.java thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImplStatementDescriptorRegistration.java thread/collector/src/test/java/com/redhat/thermostat/thread/dao/impl/ThreadDAOImplStatementBeanAdapterRegistrationTest.java vm-classstat/common/src/main/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistration.java vm-classstat/common/src/test/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistrationTest.java vm-cpu/common/src/main/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistration.java vm-cpu/common/src/test/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistrationTest.java vm-gc/common/src/main/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistration.java vm-gc/common/src/test/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistrationTest.java vm-heap-analysis/common/src/main/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistration.java vm-heap-analysis/common/src/test/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistrationTest.java vm-jmx/common/src/main/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistration.java vm-jmx/common/src/test/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistrationTest.java vm-memory/common/src/main/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistration.java vm-memory/common/src/test/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistrationTest.java vm-profiler/common/src/main/java/com/redhat/thermostat/vm/profiler/common/internal/ProfileDAOImplStatementDescriptorRegistration.java web/server/src/main/java/com/redhat/thermostat/web/server/KnownDescriptorRegistry.java web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/AgentIdFilter.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/HostnameFilter.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/StatementFilter.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/UserPrincipal.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmIdFilter.java web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmUsernameFilter.java web/server/src/test/java/com/redhat/thermostat/web/server/KnownDescriptorRegistryTest.java web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java web/server/src/test/java/com/redhat/thermostat/web/server/auth/AgentIdFilterTest.java web/server/src/test/java/com/redhat/thermostat/web/server/auth/HostnameFilterTest.java web/server/src/test/java/com/redhat/thermostat/web/server/auth/UserPrincipalTest.java web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmIdFilterTest.java web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmUsernameFilterTest.java
diffstat 45 files changed, 145 insertions(+), 1268 deletions(-) [+]
line wrap: on
line diff
--- a/host-cpu/common/src/main/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/host-cpu/common/src/main/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -68,14 +68,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(CpuStatDAOImplStatementDescriptorRegistration.DESCRIPTOR)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/host-cpu/common/src/test/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/host-cpu/common/src/test/java/com/redhat/thermostat/host/cpu/common/internal/CpuStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -94,33 +88,6 @@
         assertNotNull(cpuStatReg);
         assertEquals(2, cpuStatReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForHostLatestQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new CpuStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(CpuStatDAOImplStatementDescriptorRegistration.DESCRIPTOR, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new CpuStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/host-memory/common/src/main/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/host-memory/common/src/main/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -67,14 +67,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(MemoryStatDAOImplStatementDescriptorRegistration.descriptor)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/host-memory/common/src/test/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/host-memory/common/src/test/java/com/redhat/thermostat/host/memory/common/internal/MemoryStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -94,33 +88,6 @@
         assertNotNull(memoryStatReg);
         assertEquals(2, memoryStatReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForHostLatestQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new MemoryStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(MemoryStatDAOImplStatementDescriptorRegistration.descriptor, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new MemoryStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -94,7 +94,6 @@
 import com.redhat.thermostat.storage.core.StatementExecutionException;
 import com.redhat.thermostat.storage.core.Storage;
 import com.redhat.thermostat.storage.core.StorageCredentials;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.AgentInfoDAO;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.model.AgentInformation;
@@ -139,12 +138,6 @@
      * WebAppTestStatementDescriptorRegistration
      */
     public static final Set<String> TRUSTED_DESCRIPTORS;
-    /*
-     * Map which maps a string descriptor to DescriptorMetadata.
-     * See also: WebAppTestStatementDescriptorRegistration
-     * 
-     */
-    public static final Map<String, DescriptorMetadata> METADATA_MAPPING;
     // descriptive name -> descriptor mapping
     private static final Map<String, String> DESCRIPTOR_MAP;
     
@@ -176,15 +169,11 @@
         descMap.put(KEY_AUTHORIZED_QUERY_OR, "QUERY cpu-stats WHERE 'timeStamp' > ?l OR 'timeStamp' < ?l SORT 'timeStamp' ASC");
         descMap.put(KEY_STORAGE_PURGE, "QUERY vm-cpu-stats");
         Set<String> trustedDescriptors = new HashSet<>();
-        Map<String, DescriptorMetadata> metadata = new HashMap<>();
-        DescriptorMetadata descMetadata = new DescriptorMetadata();
         for (String val: descMap.values()) {
             trustedDescriptors.add(val);
-            metadata.put(val, descMetadata);
         }
         TRUSTED_DESCRIPTORS = trustedDescriptors;
         DESCRIPTOR_MAP = descMap;
-        METADATA_MAPPING = metadata;
     }
     
     
--- a/integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTestStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/integration-tests/itest-run/src/test/java/com/redhat/thermostat/itest/WebAppTestStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -53,7 +53,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        return WebAppTest.METADATA_MAPPING.get(descriptor);
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/HostNotesStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/HostNotesStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -62,13 +62,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor, PreparedParameter[] params) {
         String agentId;
-        if (descriptor.equals(HostNoteDAOImpl.UPDATE_HOST_NOTE)) {
-            agentId = (String)params[2].getValue();
-        } else {
-            agentId = (String)params[0].getValue();
-        }
-        DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-        return metadata;
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/VmNotesStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/notes/common/src/main/java/com/redhat/thermostat/notes/common/internal/VmNotesStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -61,17 +61,7 @@
 
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor, PreparedParameter[] params) {
-        String agentId;
-        String vmId;
-        if (descriptor.equals(VmNoteDAOImpl.UPDATE_VM_NOTE)) {
-            agentId = (String)params[2].getValue();
-            vmId = (String)params[3].getValue();
-        } else {
-            agentId = (String)params[0].getValue();
-            vmId = (String)params[1].getValue();
-        }
-        DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-        return metadata;
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/numa/common/src/main/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/numa/common/src/main/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -74,15 +74,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descs.contains(descriptor)) {
-            // both queries use agentId
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/numa/common/src/test/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/numa/common/src/test/java/com/redhat/thermostat/numa/common/internal/NumaDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -96,53 +96,6 @@
         assertNotNull(numaReg);
         assertEquals(4, numaReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForHostLatestQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new NumaDAOImplStatementDescriptorRegistration();
-        String desc = String.format(
-                HostLatestPojoListGetter.HOST_LATEST_QUERY_FORMAT,
-                NumaDAO.numaStatCategory.getName());
-        DescriptorMetadata data = factory.getDescriptorMetadata(desc, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataForNumaInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new NumaDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(NumaDAOImpl.QUERY_NUMA_INFO, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new NumaDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/DescriptorMetadata.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/DescriptorMetadata.java	Wed Nov 26 11:56:35 2014 +0100
@@ -43,7 +43,10 @@
  * Data describing a statement descriptor.
  *
  * @see StatementDescriptor
+ * @deprecated This class will be removed in the next release.
  */
+// FIXME: Thermostat 2.0 Remove this unused class.
+@Deprecated
 public final class DescriptorMetadata {
 
     private final String agentId;
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorMetadataFactory.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorMetadataFactory.java	Wed Nov 26 11:56:35 2014 +0100
@@ -42,7 +42,9 @@
  * Factory for {@link DescriptorMetadata}. The web storage entpoint uses these
  * factories in order to instantiate DescriptorMetadata objects for descriptors.
  * 
+ * @deprecated This interface will be removed in the next release.
  */
+@Deprecated
 public interface StatementDescriptorMetadataFactory {
 
     /**
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/core/auth/StatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -47,6 +47,7 @@
  * the set of all trusted statement descriptors.
  *
  */
+// FIXME: Thermostat 2.0 This interface should no longer extend StatementDescriptorMetadataFactory
 public interface StatementDescriptorRegistration extends StatementDescriptorMetadataFactory {
 
     /**
--- a/storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/storage/core/src/main/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -41,7 +41,6 @@
 
 import com.redhat.thermostat.storage.core.PreparedParameter;
 import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 
 /**
@@ -50,7 +49,7 @@
  *
  */
 public class DAOImplStatementDescriptorRegistration implements
-        StatementDescriptorRegistration, StatementDescriptorMetadataFactory {
+        StatementDescriptorRegistration {
     
     @Override
     public Set<String> getStatementDescriptors() {
@@ -86,56 +85,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(AgentInfoDAOImpl.QUERY_AGENT_INFO)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else if (descriptor.equals(AgentInfoDAOImpl.QUERY_ALIVE_AGENTS)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else if (descriptor.equals(AgentInfoDAOImpl.QUERY_ALL_AGENTS) ||
-                descriptor.equals(AgentInfoDAOImpl.AGGREGATE_COUNT_ALL_AGENTS)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else if (descriptor.equals(BackendInfoDAOImpl.QUERY_BACKEND_INFO)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else if (descriptor.equals(HostInfoDAOImpl.QUERY_HOST_INFO)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else if (descriptor.equals(HostInfoDAOImpl.QUERY_ALL_HOSTS) ||
-                descriptor.equals(HostInfoDAOImpl.AGGREGATE_COUNT_ALL_HOSTS)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else if (descriptor.equals(NetworkInterfaceInfoDAOImpl.QUERY_NETWORK_INFO)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else if (descriptor.equals(VmInfoDAOImpl.QUERY_ALL_VMS) ||
-                descriptor.equals(VmInfoDAOImpl.AGGREGATE_COUNT_ALL_VMS)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else if (descriptor.equals(VmInfoDAOImpl.QUERY_VM_FROM_ID)) {
-            String vmId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(null, vmId);
-            return metadata;
-        } else if (descriptor.equals(VmInfoDAOImpl.QUERY_ALL_VMS_FOR_HOST)) {
-            String agentId = (String)params[0].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId);
-            return metadata;
-        } else if (descriptor.equals(VmInfoDAOImpl.QUERY_VM_INFO)) {
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else if (descriptor.equals(SchemaInfoDAOImpl.QUERY_ALL_COLLECTIONS)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->" + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/storage/core/src/test/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/storage/core/src/test/java/com/redhat/thermostat/storage/internal/dao/DAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -36,23 +36,17 @@
 
 package com.redhat.thermostat.storage.internal.dao;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.ServiceLoader;
 import java.util.Set;
+
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 
 public class DAOImplStatementDescriptorRegistrationTest {
 
@@ -81,197 +75,5 @@
         assertEquals(24, registrations.get(0).getStatementDescriptors().size());
     }
     
-    @Test
-    public void metaDataFactoryIsSane() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] fakeParams = new PreparedParameter[] {
-                agentIdParam, vmIdParam
-        };
-        
-        DAOImplStatementDescriptorRegistration factory = new DAOImplStatementDescriptorRegistration();
-        List<String> errorList = new ArrayList<>();
-        for (String desc: factory.getStatementDescriptors()) {
-            // should be able to get metadata for all query descriptors
-            try {
-                if (desc.startsWith("QUERY")) {
-                    factory.getDescriptorMetadata(desc, fakeParams);
-                }
-            } catch (IllegalArgumentException e) {
-                errorList.add(e.getMessage());
-            }
-        }
-        assertEquals(errorList.toString(), 0, errorList.size());
-    }
-    
-    @Test
-    public void canGetMetadataForAgentAliveQuery() {
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(AgentInfoDAOImpl.QUERY_ALIVE_AGENTS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForAgentInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(AgentInfoDAOImpl.QUERY_AGENT_INFO, params);
-        assertNotNull(data);
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataForAllAgentsQuery() {
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(AgentInfoDAOImpl.QUERY_ALL_AGENTS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        // Do the same for the aggregate
-        data = factory.getDescriptorMetadata(AgentInfoDAOImpl.AGGREGATE_COUNT_ALL_AGENTS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForBackendInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(BackendInfoDAOImpl.QUERY_BACKEND_INFO, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataForHostInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(HostInfoDAOImpl.QUERY_HOST_INFO, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataForAllHostsQuery() {
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(HostInfoDAOImpl.QUERY_ALL_HOSTS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        // Do the same for the aggregate query
-        data = factory.getDescriptorMetadata(HostInfoDAOImpl.AGGREGATE_COUNT_ALL_HOSTS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForAllVmsPerHostQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmInfoDAOImpl.QUERY_ALL_VMS_FOR_HOST, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertEquals(agentId, data.getAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForNetworkInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(NetworkInterfaceInfoDAOImpl.QUERY_NETWORK_INFO, params);
-        assertNotNull(data);
-        assertTrue(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertEquals(agentId, data.getAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataForVmInfoAllQuery() {        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmInfoDAOImpl.QUERY_ALL_VMS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        // Do the same for the aggregate query
-        data = factory.getDescriptorMetadata(VmInfoDAOImpl.AGGREGATE_COUNT_ALL_VMS, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForSpecificVmInfoQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] {
-                agentIdParam, vmIdParam
-        };
-        
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmInfoDAOImpl.QUERY_VM_INFO, params);
-        assertNotNull(data);
-        assertTrue(data.hasVmId());
-        assertTrue(data.hasAgentId());
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new DAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
 }
 
--- a/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -50,7 +50,7 @@
  *
  */
 public class ThreadDaoImplStatementDescriptorRegistration implements
-        StatementDescriptorRegistration, StatementDescriptorMetadataFactory {
+        StatementDescriptorRegistration {
 
     private final Set<String> descs;
     
@@ -92,23 +92,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(ThreadDaoImpl.QUERY_THREAD_STATE_PER_THREAD) ||
-                descriptor.equals(ThreadDaoImpl.GET_LATEST_CONTENTION_SAMPLE)) {
-            // no agent/vm ids in statement.
-            return new DescriptorMetadata();
-        } else if (descriptor.equals(ThreadDaoImpl.QUERY_LATEST_THREAD_STATE_FOR_THREAD) ||
-                descriptor.equals(ThreadDaoImpl.QUERY_FIRST_THREAD_STATE_FOR_THREAD)) {
-            String agentId = (String)params[0].getValue();
-            return new DescriptorMetadata(agentId);
-        } else if (descs.contains(descriptor)) {
-            // All other queries have agentId/vmId parameters
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown statement ->" + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/thread/collector/src/test/java/com/redhat/thermostat/thread/dao/impl/ThreadDAOImplStatementBeanAdapterRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/thread/collector/src/test/java/com/redhat/thermostat/thread/dao/impl/ThreadDAOImplStatementBeanAdapterRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -36,13 +36,10 @@
 
 package com.redhat.thermostat.thread.dao.impl;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
-import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
-
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -50,28 +47,12 @@
 import java.util.ServiceLoader;
 import java.util.Set;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import org.junit.Test;
+
+import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
+import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
 public class ThreadDAOImplStatementBeanAdapterRegistrationTest {
-
-    static class Triple<S, T, U> {
-        final S first;
-        final T second;
-        final U third;
-
-        public Triple(S first, T second, U third) {
-            this.first = first;
-            this.second = second;
-            this.third = third;
-        }
-    }
     
     @Test
     public void registersAllDescriptors() {
@@ -107,169 +88,6 @@
         assertNotNull(threadDaoReg);
         assertEquals(20, threadDaoReg.getStatementDescriptors().size());
     }
-    
-    private Triple<String, String, PreparedParameter[]> setupForMetaDataTest() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        return new Triple<String, String, PreparedParameter[]>(agentId, vmId,
-                params);
-    }
 
-    private void assertThreadMetadata(
-            Triple<String, String, PreparedParameter[]> triple,
-            DescriptorMetadata data) {
-        assertNotNull(data);
-        assertEquals(triple.first, data.getAgentId());
-        assertEquals(triple.second, data.getVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForLatestDeadlockQuery() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest(); 
-        
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_LATEST_DEADLOCK_INFO, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataForLatestHarvestingStatusQuery() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest(); 
-        
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_LATEST_HARVESTING_STATUS, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataForThreadHeader() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest();
-
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_THREAD_HEADER, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataAllThreadHeaders() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest();
-
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_ALL_THREAD_HEADERS, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataLastThreadStateForThread() {
-        PreparedParameter str1 = new PreparedParameter();
-        str1.setType(String.class);
-        str1.setValue("foo-agent");
-        PreparedParameter str2 = new PreparedParameter();
-        str2.setType(String.class);
-        str2.setValue("something");
-        PreparedParameter[] params = new PreparedParameter[] {
-                str1, str2
-        };
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_LATEST_THREAD_STATE_FOR_THREAD, params);
-        assertNotNull(data);
-        assertEquals("foo-agent", data.getAgentId());
-        assertFalse(data.hasVmId());
-        assertTrue(data.hasAgentId());
-    }
-    
-    @Test
-    public void canGetMetadataFirstThreadStateForThread() {
-        PreparedParameter str1 = new PreparedParameter();
-        str1.setType(String.class);
-        str1.setValue("foo-agent");
-        PreparedParameter str2 = new PreparedParameter();
-        str2.setType(String.class);
-        str2.setValue("something");
-        PreparedParameter[] params = new PreparedParameter[] {
-                str1, str2
-        };
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_FIRST_THREAD_STATE_FOR_THREAD, params);
-        assertNotNull(data);
-        assertEquals("foo-agent", data.getAgentId());
-        assertFalse(data.hasVmId());
-        assertTrue(data.hasAgentId());
-        assertNull(data.getVmId());
-    }
-
-
-    @Test
-    public void canGetMetadataOldestThreadState() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest();
-
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_OLDEST_THREAD_STATE, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataLatestThreadState() {
-        Triple<String, String, PreparedParameter[]> triple = setupForMetaDataTest();
-
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_LATEST_THREAD_STATE, triple.third);
-        assertThreadMetadata(triple, data);
-    }
-
-    @Test
-    public void canGetMetadataThreadStatePerThread() {
-        PreparedParameter str1 = new PreparedParameter();
-        str1.setType(String.class);
-        str1.setValue("foo");
-        PreparedParameter long1 = new PreparedParameter();
-        long1.setType(long.class);
-        long1.setValue(1L);
-        PreparedParameter long2 = new PreparedParameter();
-        long2.setType(long.class);
-        long2.setValue(2L);
-        PreparedParameter[] params = new PreparedParameter[] {
-                str1, long1, long2
-        };
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.QUERY_THREAD_STATE_PER_THREAD, params);
-        assertNotNull(data);
-        assertNull(data.getAgentId());
-        assertNull(data.getVmId());
-    }
-    
-    @Test
-    public void canGetMetadataThreadLatestContentionSample() {
-        PreparedParameter str1 = new PreparedParameter();
-        str1.setType(String.class);
-        str1.setValue("foo");
-        PreparedParameter[] params = new PreparedParameter[] {
-                str1
-        };
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(ThreadDaoImpl.GET_LATEST_CONTENTION_SAMPLE, params);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-        assertNull(data.getAgentId());
-        assertNull(data.getVmId());
-    }
-
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new ThreadDaoImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
 }
 
--- a/vm-classstat/common/src/main/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-classstat/common/src/main/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -67,14 +67,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(QUERY)) {
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor ->" + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/vm-classstat/common/src/test/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-classstat/common/src/test/java/com/redhat/thermostat/vm/classstat/common/internal/VmClassStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -95,34 +89,5 @@
         assertEquals(2, vmClassStatReg.getStatementDescriptors().size());
     }
     
-    @Test
-    public void canGetMetadataForLatestClassStatQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new VmClassStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmClassStatDAOImplStatementDescriptorRegistration.QUERY, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new VmClassStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
-    
 }
 
--- a/vm-cpu/common/src/main/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-cpu/common/src/main/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -73,17 +73,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(VmCpuStatDAOImplStatementDescriptorRegistration.latestDescriptor)
-                || descriptor.equals(VmCpuStatDAOImplStatementDescriptorRegistration.rangeDescriptor)
-                || descriptor.equals(VmCpuStatDAOImpl.DESC_LATEST_VM_CPU_STAT)
-                || descriptor.equals(VmCpuStatDAOImpl.DESC_OLDEST_VM_CPU_STAT)) {
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->" + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/vm-cpu/common/src/test/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-cpu/common/src/test/java/com/redhat/thermostat/vm/cpu/common/internal/VmCpuStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -94,61 +88,6 @@
         assertNotNull(vmCpuStatReg);
         assertEquals(5, vmCpuStatReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForLatestCpuStatQuery() {
-        String descriptor = VmCpuStatDAOImplStatementDescriptorRegistration.latestDescriptor;
 
-        assertValidDescriptor(descriptor);
-    }
-
-    @Test
-    public void canGetMetadataForRangeCpuStatQuery() {
-        String descriptor = VmCpuStatDAOImplStatementDescriptorRegistration.rangeDescriptor;
-
-        assertValidDescriptor(descriptor);
-    }
-
-    @Test
-    public void canGetMetadataForSingleOldestCpuStatQuery() {
-        String descriptor = VmCpuStatDAOImpl.DESC_OLDEST_VM_CPU_STAT;
-
-        assertValidDescriptor(descriptor);
-    }
-
-    @Test
-    public void canGetMetadataForSingleLatestCpuStatQuery() {
-        String descriptor = VmCpuStatDAOImpl.DESC_LATEST_VM_CPU_STAT;
-
-        assertValidDescriptor(descriptor);
-    }
-
-    private void assertValidDescriptor(String descriptor) {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new VmCpuStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(descriptor, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new VmCpuStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
 }
 
--- a/vm-gc/common/src/main/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-gc/common/src/main/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -68,16 +68,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor
-                .equals(VmGcStatDAOImplStatementDescriptorRegistration.descriptor)) {
-            String agentId = (String) params[0].getValue();
-            String vmId = (String) params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/vm-gc/common/src/test/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-gc/common/src/test/java/com/redhat/thermostat/vm/gc/common/internal/VmGcStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -130,34 +124,6 @@
         assertNotNull(vmGcStatReg);
         assertEquals(2, vmGcStatReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForLatestGcStatQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new VmGcStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmGcStatDAOImplStatementDescriptorRegistration.descriptor, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new VmGcStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/vm-heap-analysis/common/src/main/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-heap-analysis/common/src/main/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -63,18 +63,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descriptor.equals(HeapDAOImpl.QUERY_ALL_HEAPS)) {
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else if (descriptor.equals(HeapDAOImpl.QUERY_HEAP_INFO)) {
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
     
     
--- a/vm-heap-analysis/common/src/test/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-heap-analysis/common/src/test/java/com/redhat/thermostat/vm/heap/analysis/common/internal/HeapDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -94,43 +88,6 @@
         assertNotNull(heapDaoReg);
         assertEquals(3, heapDaoReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForAllHeapsQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new HeapDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(HeapDAOImpl.QUERY_ALL_HEAPS, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForHeapInfoQuery() {
-        StatementDescriptorMetadataFactory factory = new HeapDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(HeapDAOImpl.QUERY_HEAP_INFO, null);
-        assertNotNull(data);
-        assertFalse(data.hasAgentId());
-        assertFalse(data.hasVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new HeapDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/vm-jmx/common/src/main/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-jmx/common/src/main/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -69,16 +69,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descs.contains(descriptor)) {
-            // both queries we know about have agent/vmId parameters
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/vm-jmx/common/src/test/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-jmx/common/src/test/java/com/redhat/thermostat/vm/jmx/common/internal/JmxNotificationDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,9 +40,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -52,9 +49,6 @@
 
 import org.junit.Test;
 
-import com.redhat.thermostat.storage.core.PreparedParameter;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 import com.redhat.thermostat.storage.internal.dao.DAOImplStatementDescriptorRegistration;
 
@@ -94,52 +88,6 @@
         assertNotNull(jmxDaoReg);
         assertEquals(4, jmxDaoReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForLatestNotificationsQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new JmxNotificationDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(JmxNotificationDAOImpl.QUERY_LATEST_NOTIFICATION_STATUS, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForNotificationsQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new JmxNotificationDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(JmxNotificationDAOImpl.QUERY_NOTIFICATIONS, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new JmxNotificationDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/vm-memory/common/src/main/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-memory/common/src/main/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -72,16 +72,7 @@
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor,
             PreparedParameter[] params) {
-        if (descs.contains(descriptor)) {
-            // both queries have agentId/vmId
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->"
-                    + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
 }
--- a/vm-memory/common/src/test/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistrationTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-memory/common/src/test/java/com/redhat/thermostat/vm/memory/common/internal/VmMemoryStatDAOImplStatementDescriptorRegistrationTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -96,54 +96,6 @@
         assertNotNull(vmMemoryDaoReg);
         assertEquals(3, vmMemoryDaoReg.getStatementDescriptors().size());
     }
-    
-    @Test
-    public void canGetMetadataForVmLatestVmMemoryStatsQuery() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        String desc = String.format(VmLatestPojoListGetter.VM_LATEST_QUERY_FORMAT, 
-                VmMemoryStatDAO.vmMemoryStatsCategory.getName());
-        StatementDescriptorMetadataFactory factory = new VmMemoryStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(desc, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void canGetMetadataForVmLatestVmMemoryStats2Query() {
-        PreparedParameter agentIdParam = mock(PreparedParameter.class);
-        PreparedParameter vmIdParam = mock(PreparedParameter.class);
-        String agentId = "agentId";
-        String vmId = "vmId";
-        when(agentIdParam.getValue()).thenReturn(agentId);
-        when(vmIdParam.getValue()).thenReturn(vmId);
-        PreparedParameter[] params = new PreparedParameter[] { agentIdParam,
-                vmIdParam };
-        
-        StatementDescriptorMetadataFactory factory = new VmMemoryStatDAOImplStatementDescriptorRegistration();
-        DescriptorMetadata data = factory.getDescriptorMetadata(VmMemoryStatDAOImpl.QUERY_LATEST, params);
-        assertNotNull(data);
-        assertEquals(agentId, data.getAgentId());
-        assertEquals(vmId, data.getVmId());
-    }
-    
-    @Test
-    public void unknownDescriptorThrowsException() {
-        StatementDescriptorMetadataFactory factory = new VmMemoryStatDAOImplStatementDescriptorRegistration();
-        try {
-            factory.getDescriptorMetadata("QUERY foo-bar WHERE 'a' = 'b'", null);
-            fail("should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            // pass
-        }
-    }
+
 }
 
--- a/vm-profiler/common/src/main/java/com/redhat/thermostat/vm/profiler/common/internal/ProfileDAOImplStatementDescriptorRegistration.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/vm-profiler/common/src/main/java/com/redhat/thermostat/vm/profiler/common/internal/ProfileDAOImplStatementDescriptorRegistration.java	Wed Nov 26 11:56:35 2014 +0100
@@ -47,17 +47,7 @@
 
     @Override
     public DescriptorMetadata getDescriptorMetadata(String descriptor, PreparedParameter[] params) {
-        if (descriptor.equals(ProfileDAOImpl.DESC_ADD_PROFILE_INFO)
-                || descriptor.equals(ProfileDAOImpl.DESC_QUERY_LATEST)
-                || descriptor.equals(ProfileDAOImpl.DESC_QUERY_BY_ID)
-                || descriptor.equals(ProfileDAOImpl.DESC_INTERVAL_QUERY)) {
-            String agentId = (String)params[0].getValue();
-            String vmId = (String)params[1].getValue();
-            DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-            return metadata;
-        } else {
-            throw new IllegalArgumentException("Unknown descriptor: ->" + descriptor + "<-");
-        }
+        throw new AssertionError("Should not be used");
     }
 
     @Override
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/KnownDescriptorRegistry.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/KnownDescriptorRegistry.java	Wed Nov 26 11:56:35 2014 +0100
@@ -37,13 +37,10 @@
 package com.redhat.thermostat.web.server;
 
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Map;
 import java.util.ServiceLoader;
 import java.util.Set;
 
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.auth.StatementDescriptorRegistration;
 
 /**
@@ -55,14 +52,12 @@
     private static final ServiceLoader<StatementDescriptorRegistration> TRUSTED_DESCS = ServiceLoader
             .load(StatementDescriptorRegistration.class);
     private final Set<String> trustedSet;
-    private final Map<String, StatementDescriptorMetadataFactory> descriptorMetadataFactories;
     
     KnownDescriptorRegistry() {
         this(TRUSTED_DESCS);
     }
     
     KnownDescriptorRegistry(Iterable<StatementDescriptorRegistration> trustedDescs) {
-        descriptorMetadataFactories = new HashMap<>();
         trustedSet = new HashSet<>();
         for (StatementDescriptorRegistration reg: trustedDescs) {
             Set<String> newCandidates = reg.getStatementDescriptors();
@@ -78,11 +73,6 @@
                 // Pass: Set impl does not support contains checks on null
                 //       values.
             }
-            // prepare the reverse lookup metadata map
-            StatementDescriptorMetadataFactory factory = (StatementDescriptorMetadataFactory) reg;
-            for (String descKey: newCandidates) {
-                descriptorMetadataFactories.put(descKey, factory);
-            }
             trustedSet.addAll(newCandidates);
         }
     }
@@ -92,9 +82,5 @@
         return Collections.unmodifiableSet(trustedSet);
     }
     
-    final Map<String, StatementDescriptorMetadataFactory> getDescriptorMetadataFactories() {
-        // return a read-only mapping
-        return Collections.unmodifiableMap(descriptorMetadataFactories);
-    }
 }
 
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java	Wed Nov 26 11:56:35 2014 +0100
@@ -93,8 +93,6 @@
 import com.redhat.thermostat.storage.core.StatementDescriptor;
 import com.redhat.thermostat.storage.core.Storage;
 import com.redhat.thermostat.storage.core.StorageCredentials;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
-import com.redhat.thermostat.storage.core.auth.StatementDescriptorMetadataFactory;
 import com.redhat.thermostat.storage.core.experimental.BatchCursor;
 import com.redhat.thermostat.storage.model.AggregateResult;
 import com.redhat.thermostat.storage.model.Pojo;
@@ -164,8 +162,6 @@
     
     // read-only set of all known statement descriptors we trust and allow
     private Set<String> knownStatementDescriptors;
-    // read-only map of known descriptors => descriptor metadata
-    private Map<String, StatementDescriptorMetadataFactory> descMetadataFactories;
     // read-only set of all known categories which we allow to get registered.
     private Set<String> knownCategoryNames;
 
@@ -201,7 +197,6 @@
         // Set the set of statement descriptors which we trust
         KnownDescriptorRegistry descRegistry = KnownDescriptorRegistryFactory.getInstance();
         knownStatementDescriptors = descRegistry.getRegisteredDescriptors();
-        descMetadataFactories = descRegistry.getDescriptorMetadataFactories();
         // Set the set of category names which we allow to get registered
         KnownCategoryRegistry categoryRegistry = KnownCategoryRegistryFactory.getInstance();
         knownCategoryNames = categoryRegistry.getRegisteredCategoryNames();
@@ -630,11 +625,9 @@
         }
         
         StatementDescriptor<T> desc = targetStmtHolder.getStatementDescriptor();
-        StatementDescriptorMetadataFactory factory = descMetadataFactories.get(desc.getDescriptor());
-        DescriptorMetadata actualMetadata = factory.getDescriptorMetadata(desc.getDescriptor(), params);
         
         UserPrincipal userPrincipal = getUserPrincipal(req);
-        targetQuery = getQueryForPrincipal(userPrincipal, targetQuery, desc, actualMetadata);
+        targetQuery = getQueryForPrincipal(userPrincipal, targetQuery, desc);
         // While the signature still says the retval of query execute is
         // cursor, we return an instance of AdvancedCursor instead for new code.
         // This is the case for MongoStorage. However, in order to work
@@ -832,9 +825,9 @@
      */
     private <T extends Pojo> Query<T> getQueryForPrincipal(
             UserPrincipal userPrincipal, Query<T> patchedQuery,
-            StatementDescriptor<T> desc, DescriptorMetadata metaData) {
+            StatementDescriptor<T> desc) {
         Expression whereExpression = patchedQuery.getWhereExpression();
-        FilterResult result = userPrincipal.getReadFilter(desc, metaData);
+        FilterResult result = userPrincipal.getReadFilter(desc);
         Expression authorizationExpression = null;
         switch (result.getType()) {
         case ALL: // fall-through. same as next case.
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/AgentIdFilter.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/AgentIdFilter.java	Wed Nov 26 11:56:35 2014 +0100
@@ -36,13 +36,11 @@
 
 package com.redhat.thermostat.web.server.auth;
 
-import java.util.Objects;
 import java.util.Set;
 
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
 import com.redhat.thermostat.storage.query.ExpressionFactory;
@@ -64,35 +62,23 @@
 
     @Override
     public FilterResult applyFilter(StatementDescriptor<T> desc,
-            DescriptorMetadata metaData, Expression parentExpression) {
+                                    Expression parentExpression) {
         if (userRoles.contains(GRANT_AGENTS_READ_ALL)) {
             return allWithExpression(parentExpression);
         }
         Category<T> category = desc.getCategory();
         // user cannot read all agents
         if (category.getKey(Key.AGENT_ID.getName()) != null) {
-            if (metaData != null && metaData.hasAgentId()) {
-                // if given agent ID not in granted list, return empty
-                String agentId = Objects.requireNonNull(metaData.getAgentId());
-                RolePrincipal agentIdGrantRole = new RolePrincipal(AGENTS_BY_AGENT_ID_GRANT_ROLE_PREFIX + agentId);
-                if (!userRoles.contains(agentIdGrantRole)) {
-                    return new FilterResult(ResultType.EMPTY);
-                } else {
-                    // agentId allowed
-                    return allWithExpression(parentExpression);
-                }
-            } else {
-                // tag on in clause for agentId
-                ExpressionFactory factory = new ExpressionFactory();
-                Set<String> agentIds = getGrantedAgentsByAgentId();
-                Expression filterExpression = factory.in(Key.AGENT_ID, agentIds, String.class);
-                FilterResult result = new FilterResult(ResultType.QUERY_EXPRESSION);
-                if (parentExpression != null) {
-                    filterExpression = factory.and(parentExpression, filterExpression);
-                }
-                result.setFilterExpression(filterExpression);
-                return result;
+            // tag on in clause for agentId
+            ExpressionFactory factory = new ExpressionFactory();
+            Set<String> agentIds = getGrantedAgentsByAgentId();
+            Expression filterExpression = factory.in(Key.AGENT_ID, agentIds, String.class);
+            FilterResult result = new FilterResult(ResultType.QUERY_EXPRESSION);
+            if (parentExpression != null) {
+                filterExpression = factory.and(parentExpression, filterExpression);
             }
+            result.setFilterExpression(filterExpression);
+            return result;
         } else {
             // can't do anything here, let it through for next stage.
             return allWithExpression(parentExpression);
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/HostnameFilter.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/HostnameFilter.java	Wed Nov 26 11:56:35 2014 +0100
@@ -39,7 +39,6 @@
 import java.util.Set;
 
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
@@ -63,7 +62,7 @@
 
     @Override
     public FilterResult applyFilter(StatementDescriptor<T> desc,
-            DescriptorMetadata metaData, Expression parentExpression) {
+            Expression parentExpression) {
         if (userRoles.contains(GRANT_HOSTS_READ_ALL)) {
             return allWithExpression(parentExpression);
         }
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/StatementFilter.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/StatementFilter.java	Wed Nov 26 11:56:35 2014 +0100
@@ -38,7 +38,6 @@
 
 import com.redhat.thermostat.storage.core.PreparedStatement;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
 
@@ -54,8 +53,6 @@
      * 
      * @param desc
      *            The statement descriptor to apply the filter to.
-     * @param metaData
-     *            Metadata pertaining to the given descriptor.
      * @param parentExpression
      *            The Expression as constructed by the previous Filter. May be
      *            null.
@@ -63,7 +60,7 @@
      *         result type was QUERY_EXPRESSION.
      */
     FilterResult applyFilter(StatementDescriptor<T> desc,
-            DescriptorMetadata metaData, Expression parentExpression);
+            Expression parentExpression);
     
 }
 
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/UserPrincipal.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/UserPrincipal.java	Wed Nov 26 11:56:35 2014 +0100
@@ -45,7 +45,6 @@
 import java.util.Set;
 
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
 import com.redhat.thermostat.web.server.auth.FilterResult.ResultType;
@@ -109,7 +108,7 @@
      * @return An {@link FilterResult} which can be used to make a decision on
      *         which records to return.
      */
-    public <T extends Pojo> FilterResult getReadFilter(StatementDescriptor<T> desc, DescriptorMetadata metaData) {
+    public <T extends Pojo> FilterResult getReadFilter(StatementDescriptor<T> desc) {
         if (getRoles().contains(GRANT_READ_ALL)) {
             // user can see everything, no filtering is happening at all.
             return new FilterResult(ResultType.ALL);
@@ -120,7 +119,7 @@
         Expression parentExpression = null;
         FilterResult overallResult = null;
         for (StatementFilter<T> filter: filters) {
-            overallResult = filter.applyFilter(desc, metaData, parentExpression);
+            overallResult = filter.applyFilter(desc, parentExpression);
             switch (overallResult.getType()) {
             case ALL: // fall-through, expression == null
             case QUERY_EXPRESSION:
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmIdFilter.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmIdFilter.java	Wed Nov 26 11:56:35 2014 +0100
@@ -41,7 +41,6 @@
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
 import com.redhat.thermostat.storage.query.ExpressionFactory;
@@ -63,33 +62,23 @@
 
     @Override
     public FilterResult applyFilter(StatementDescriptor<T> desc,
-            DescriptorMetadata metaData, Expression parentExpression) {
+                                    Expression parentExpression) {
         if (userRoles.contains(GRANT_VMS_BY_ID_READ_ALL)) {
             return allWithExpression(parentExpression);
         }
         // perform filtering on vmId
         Category<T> category = desc.getCategory();
         if (category.getKey(Key.VM_ID.getName()) != null) {
-            if (metaData != null && metaData.hasVmId()) {
-                String vmId = metaData.getVmId();
-                RolePrincipal grantedByVmId = new RolePrincipal(VMS_BY_VM_ID_GRANT_ROLE_PREFIX + vmId);
-                if (!userRoles.contains(grantedByVmId)) {
-                    return new FilterResult(ResultType.EMPTY);
-                } else {
-                    return allWithExpression(parentExpression);
-                }
-            } else {
-                // add vmId IN clause
-                ExpressionFactory factory = new ExpressionFactory();
-                Set<String> vmIds = getGrantedVmsByVmId();
-                Expression filterExpression = factory.in(Key.VM_ID, vmIds, String.class);
-                if (parentExpression != null) {
-                    filterExpression = factory.and(parentExpression, filterExpression);
-                }
-                FilterResult result = new FilterResult(ResultType.QUERY_EXPRESSION);
-                result.setFilterExpression(filterExpression);
-                return result;
+            // add vmId IN clause
+            ExpressionFactory factory = new ExpressionFactory();
+            Set<String> vmIds = getGrantedVmsByVmId();
+            Expression filterExpression = factory.in(Key.VM_ID, vmIds, String.class);
+            if (parentExpression != null) {
+                filterExpression = factory.and(parentExpression, filterExpression);
             }
+            FilterResult result = new FilterResult(ResultType.QUERY_EXPRESSION);
+            result.setFilterExpression(filterExpression);
+            return result;
         } else {
             // can't do much
             return allWithExpression(parentExpression);
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmUsernameFilter.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/auth/VmUsernameFilter.java	Wed Nov 26 11:56:35 2014 +0100
@@ -39,7 +39,6 @@
 import java.util.Set;
 
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.VmInfoDAO;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.Expression;
@@ -63,7 +62,7 @@
     
     @Override
     public FilterResult applyFilter(StatementDescriptor<T> desc,
-            DescriptorMetadata metaData, Expression parentExpression) {
+                                    Expression parentExpression) {
         if (userRoles.contains(GRANT_VMS_USERNAME_READ_ALL)) {
             return allWithExpression(parentExpression);
         }
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/KnownDescriptorRegistryTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/KnownDescriptorRegistryTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -43,7 +43,6 @@
 
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -131,7 +130,7 @@
 
     private Iterable<StatementDescriptorRegistration> getRegs(Set<String> descs) {
         StatementDescriptorRegistration reg = new TestStatementDescriptorRegistration(
-                descs, null);
+                descs);
         StatementDescriptorRegistration[] regs = new StatementDescriptorRegistration[] { reg };
         return Arrays.asList(regs);
     }
@@ -139,11 +138,9 @@
     private static class TestStatementDescriptorRegistration implements StatementDescriptorRegistration {
 
         private final Set<String> descs;
-        private final Map<String, DescriptorMetadata> metadata;
         
-        private TestStatementDescriptorRegistration(Set<String> descs, Map<String, DescriptorMetadata> metadata) {
+        private TestStatementDescriptorRegistration(Set<String> descs) {
             this.descs = descs;
-            this.metadata = metadata;
         }
         
         @Override
@@ -154,7 +151,7 @@
         @Override
         public DescriptorMetadata getDescriptorMetadata(String descriptor,
                 PreparedParameter[] params) {
-            return metadata.get(descriptor);
+            throw new AssertionError("should not be used");
         }
         
     }
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -303,7 +303,7 @@
         String strDescriptor = "QUERY " + category.getName() + " WHERE '" + key1.getName() + "' = ?s SORT '" + key1.getName() + "' DSC LIMIT 42";
         // setup a statement descriptor set so as to mimic a not trusted desc
         String wrongDescriptor = "QUERY something-other WHERE 'a' = true";
-        setupTrustedStatementRegistry(wrongDescriptor, null);
+        setupTrustedStatementRegistry(wrongDescriptor);
         
         String[] roleNames = new String[] {
                 Roles.REGISTER_CATEGORY,
@@ -609,8 +609,7 @@
         String strDescriptor = "QUERY " + category.getName() + " WHERE '" + key1.getName() + "' = ?s SORT '" + key1.getName() + "' DSC LIMIT 42";
         // metadata which basically does no filtering. There's another test which
         // asserts only allowed data (via ACL) gets returned.
-        DescriptorMetadata metadata = new DescriptorMetadata();        
-        setupTrustedStatementRegistry(strDescriptor, metadata);
+        setupTrustedStatementRegistry(strDescriptor);
         
         Set<BasicRole> roles = new HashSet<>();
         roles.add(new RolePrincipal(Roles.REGISTER_CATEGORY));
@@ -653,8 +652,7 @@
         try {
             String strDescriptor = "QUERY " + category.getName() + " WHERE '" +
                     key1.getName() + "' = ?s SORT '" + key1.getName() + "' DSC LIMIT 42";
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            setupTrustedStatementRegistry(strDescriptor, metadata);
+            setupTrustedStatementRegistry(strDescriptor);
             
             Set<BasicRole> roles = new HashSet<>();
             roles.add(new RolePrincipal(Roles.REGISTER_CATEGORY));
@@ -785,8 +783,7 @@
     @Test
     public void authorizedPreparedAggregateQuery() throws Exception {
         String strDescriptor = "QUERY-COUNT " + category.getName();
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        setupTrustedStatementRegistry(strDescriptor, metadata);
+        setupTrustedStatementRegistry(strDescriptor);
         
         Set<BasicRole> roles = new HashSet<>();
         roles.add(new RolePrincipal(Roles.REGISTER_CATEGORY));
@@ -899,10 +896,10 @@
         KnownCategoryRegistryFactory.setInstance(registry);
     }
     
-    private void setupTrustedStatementRegistry(String strDescriptor, DescriptorMetadata metadata) {
+    private void setupTrustedStatementRegistry(String strDescriptor) {
         Set<String> descs = new HashSet<>();
         descs.add(strDescriptor);
-        StatementDescriptorRegistration reg = new TestStatementDescriptorRegistration(descs, metadata);
+        StatementDescriptorRegistration reg = new TestStatementDescriptorRegistration(descs);
         List<StatementDescriptorRegistration> regs = new ArrayList<>(1);
         regs.add(reg);
         KnownDescriptorRegistry registry = new KnownDescriptorRegistry(regs);
@@ -920,8 +917,7 @@
         try {
             String strDescriptor = "ADD " + category.getName() + " SET '" +
                     key1.getName() + "' = ?s , '" + key2.getName() + "' = ?s";
-            DescriptorMetadata metadata = new DescriptorMetadata();
-            setupTrustedStatementRegistry(strDescriptor, metadata);
+            setupTrustedStatementRegistry(strDescriptor);
             
             Set<BasicRole> roles = new HashSet<>();
             roles.add(new RolePrincipal(Roles.REGISTER_CATEGORY));
@@ -1775,17 +1771,15 @@
     private static class TestStatementDescriptorRegistration implements StatementDescriptorRegistration {
 
         private final Set<String> descriptorSet;
-        private final DescriptorMetadata metadata;
-        private TestStatementDescriptorRegistration(Set<String> descriptorSet, DescriptorMetadata metadata) {
+        private TestStatementDescriptorRegistration(Set<String> descriptorSet) {
             assertEquals(1, descriptorSet.size());
             this.descriptorSet = descriptorSet;
-            this.metadata = metadata;
         }
         
         @Override
         public DescriptorMetadata getDescriptorMetadata(String descriptor,
                 PreparedParameter[] params) {
-            return metadata;
+            throw new AssertionError("should not be used");
         }
 
         @Override
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/auth/AgentIdFilterTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/auth/AgentIdFilterTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -37,11 +37,9 @@
 package com.redhat.thermostat.web.server.auth;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -52,7 +50,6 @@
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.BinaryLogicalExpression;
 import com.redhat.thermostat.storage.query.BinarySetMembershipExpression;
@@ -84,7 +81,7 @@
         roles.add(agentReadAll);
         
         AgentIdFilter<?> filter = new AgentIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, null);
+        FilterResult result = filter.applyFilter(null, null);
         assertEquals(ResultType.ALL, result.getType());
         assertEquals(null, result.getFilterExpression());
     }
@@ -98,7 +95,7 @@
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         AgentIdFilter<?> filter = new AgentIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, parentExpression);
+        FilterResult result = filter.applyFilter(null, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertEquals(parentExpression, result.getFilterExpression());
     }
@@ -109,10 +106,9 @@
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal agent1Role = new RolePrincipal(AgentIdFilter.AGENTS_BY_AGENT_ID_GRANT_ROLE_PREFIX + agentId);
         roles.add(agent1Role);
-        DescriptorMetadata metadata = new DescriptorMetadata();
         AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
         // returning non-null agent id key will work
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -125,24 +121,6 @@
     
     @Test
     public void addsAgentIdInQueryToParentExpression() {
-        performAgentIdQueryTest(new DescriptorMetadata());
-    }
-    
-    /*
-     * We shouldn't throw NPEs if no meta data is supplied by a plug-in. It's
-     * treated as if it was a query with no explicit agent/writer id in the
-     * descriptor.  
-     */
-    @Test
-    public void addsAgentIdInQueryWhenMetadataNull() {
-        try {
-            performAgentIdQueryTest(null);
-        } catch (NullPointerException e) {
-            fail("Should not have thrown NPE");
-        }
-    }
-    
-    private void performAgentIdQueryTest(DescriptorMetadata metadata) {
         String agentId = UUID.randomUUID().toString();
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal agent1Role = new RolePrincipal(AgentIdFilter.AGENTS_BY_AGENT_ID_GRANT_ROLE_PREFIX + agentId);
@@ -150,7 +128,7 @@
         AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -171,9 +149,8 @@
         RolePrincipal agent2Role = new RolePrincipal(AgentIdFilter.AGENTS_BY_AGENT_ID_GRANT_ROLE_PREFIX + agentId2);
         roles.add(agent1Role);
         roles.add(agent2Role);
-        DescriptorMetadata metadata = new DescriptorMetadata();
         AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -186,32 +163,12 @@
     }
     
     @Test
-    public void returnsEmptyIfAgentIdDoesNotMatch() {
-        String agentId = UUID.randomUUID().toString();
-        Set<BasicRole> roles = new HashSet<>();
-        RolePrincipal agentReadAll = new RolePrincipal(AgentIdFilter.AGENTS_BY_AGENT_ID_GRANT_ROLE_PREFIX + agentId);
-        roles.add(agentReadAll);
-        String wrongAgentId = "something else than agentId";
-        // assert precondition
-        assertFalse(agentId.equals(wrongAgentId));
-        
-        DescriptorMetadata metadata = new DescriptorMetadata(wrongAgentId);
-        assertTrue(metadata.hasAgentId());
-        AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_AGENT_ID, metadata, null);
-        assertEquals(ResultType.EMPTY, result.getType());
-        assertNull(result.getFilterExpression());
-    }
-    
-    @Test
     public void returnsAllForUnrelatedQuery() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        assertFalse(metadata.hasAgentId());
         // want for the agent id key to not be present in category
         AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NULL_AGENT_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NULL_AGENT_ID, null);
         assertEquals(ResultType.ALL, result.getType());
         assertNull(result.getFilterExpression());
     }
@@ -221,11 +178,9 @@
         Set<BasicRole> roles = new HashSet<>();
         
         Expression parentExpression = new ExpressionFactory().equalTo(Key.AGENT_ID, "testKey");
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        assertFalse(metadata.hasAgentId());
         AgentIdFilter<FooPojo> filter = new AgentIdFilter<>(roles);
         // want for the agent id key to not be present in category
-        FilterResult result = filter.applyFilter(TEST_DESC_NULL_AGENT_ID, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(TEST_DESC_NULL_AGENT_ID, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         assertEquals(parentExpression, result.getFilterExpression());
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/auth/HostnameFilterTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/auth/HostnameFilterTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -40,7 +40,6 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -49,7 +48,6 @@
 
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.AgentInfoDAO;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.model.AgentInformation;
@@ -69,7 +67,7 @@
         roles.add(hostnameReadAll);
         
         HostnameFilter<?> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, null);
+        FilterResult result = filter.applyFilter(null, null);
         assertEquals(ResultType.ALL, result.getType());
         assertEquals(null, result.getFilterExpression());
     }
@@ -83,26 +81,13 @@
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         HostnameFilter<?> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, parentExpression);
+        FilterResult result = filter.applyFilter(null, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertEquals(parentExpression, result.getFilterExpression());
     }
     
     @Test
     public void addsHostnameInQueryForHostInfo() {
-        performHostInfoTest(new DescriptorMetadata());
-    }
-    
-    @Test
-    public void testNullMetadata() {
-        try {
-            performHostInfoTest(null);
-        } catch (NullPointerException e) {
-            fail("Should not have thrown NPE for this test");
-        }
-    }
-    
-    private void performHostInfoTest(DescriptorMetadata metadata) {
         String testHostname = "testhost.example.com";
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal hostnameRole = new RolePrincipal(HostnameFilter.HOSTS_BY_HOSTNAME_GRANT_ROLE_PREFIX + testHostname);
@@ -114,7 +99,7 @@
         hostnames.add(testHostname);
         Expression expected = new ExpressionFactory().in(HostInfoDAO.hostNameKey, hostnames, String.class);
         HostnameFilter<HostInfo> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, null);
+        FilterResult result = filter.applyFilter(desc, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -129,7 +114,6 @@
         RolePrincipal hostnameRole = new RolePrincipal(HostnameFilter.HOSTS_BY_HOSTNAME_GRANT_ROLE_PREFIX + testHostname);
         roles.add(hostnameRole);
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
         StatementDescriptor<HostInfo> desc = new StatementDescriptor<>(HostInfoDAO.hostInfoCategory, "QUERY " + HostInfoDAO.hostInfoCategory.getName());
         
         Set<String> hostnames = new HashSet<>();
@@ -139,7 +123,7 @@
         Expression expectedIn = factory.in(HostInfoDAO.hostNameKey, hostnames, String.class);
         Expression expected = factory.and(parentExpression, expectedIn);
         HostnameFilter<HostInfo> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(desc, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -151,12 +135,10 @@
     public void byPassesFilterForUnrelatedQuery() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
-
         StatementDescriptor<AgentInformation> desc = new StatementDescriptor<>(AgentInfoDAO.CATEGORY, "QUERY " + AgentInfoDAO.CATEGORY.getName());
         
         HostnameFilter<AgentInformation> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, null);
+        FilterResult result = filter.applyFilter(desc, null);
         assertEquals(ResultType.ALL, result.getType());
         assertNull(result.getFilterExpression());
     }
@@ -165,13 +147,12 @@
     public void byPassesFilterForUnrelatedQueryAndParentExpression() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
         StatementDescriptor<AgentInformation> desc = new StatementDescriptor<>(AgentInfoDAO.CATEGORY, "QUERY " + AgentInfoDAO.CATEGORY.getName());
         
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         HostnameFilter<AgentInformation> filter = new HostnameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(desc, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         assertEquals(parentExpression, result.getFilterExpression());
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/auth/UserPrincipalTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/auth/UserPrincipalTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -53,7 +53,6 @@
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.dao.VmInfoDAO;
 import com.redhat.thermostat.storage.model.HostInfo;
@@ -124,7 +123,7 @@
         roles.add(readEverything);
         SimplePrincipal testMe = new SimplePrincipal("test me");
         testMe.setRoles(roles);
-        FilterResult result = testMe.getReadFilter(null, null);
+        FilterResult result = testMe.getReadFilter(null);
         assertEquals(ResultType.ALL, result.getType());
         assertNull(result.getFilterExpression());
     }
@@ -153,14 +152,8 @@
         testMe.setRoles(roles);
         StatementDescriptor<VmInfo> desc = new StatementDescriptor<>(VmInfoDAO.vmInfoCategory, "QUERY " + VmInfoDAO.vmInfoCategory.getName());
         
-        // fake a query for a category with agentId attributes and vmId
-        // attributes present, but no specific agentId/vmId present.
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        assertFalse(metadata.hasAgentId());
-        assertFalse(metadata.hasVmId());
-        
         // should pass through agentId -> hostname -> vmId -> vmUsername filters
-        FilterResult result = testMe.getReadFilter(desc, metadata);
+        FilterResult result = testMe.getReadFilter(desc);
         
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
@@ -206,20 +199,27 @@
         Category<FooPojo> agentAndVmIdCat = new Category<>("agentAndVmIdCat", FooPojo.class, keys);
         StatementDescriptor<FooPojo> desc = new StatementDescriptor<>(agentAndVmIdCat, "QUERY agentAndVmIdCat");
         
-        // fake a query for a category with agentId attributes and vmId
-        // attributes present and also specific agentId/vmId present.
-        DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-        assertTrue(metadata.hasAgentId());
-        assertTrue(metadata.hasVmId());
-        
         // should pass through agentId -> hostname -> vmId -> vmUsername filters
-        FilterResult result = testMe.getReadFilter(desc, metadata);
+        FilterResult result = testMe.getReadFilter(desc);
         
         // should return all, since ACL allows specific agentId/vmIds
-        assertEquals(ResultType.ALL, result.getType());
-        assertNull(result.getFilterExpression());
+        assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
+        Expression expected = getExpectedAgentIdVmIdExpression(agentId, vmId);
+        assertEquals(expected, result.getFilterExpression());
     }
     
+    private Expression getExpectedAgentIdVmIdExpression(String agentId,
+            String vmId) {
+        ExpressionFactory factory = new ExpressionFactory();
+        Set<String> agentIdSet = new HashSet<>();
+        agentIdSet.add(agentId);
+        Expression agentIdExp = factory.in(Key.AGENT_ID, agentIdSet, String.class);
+        Set<String> vmIdSet = new HashSet<>();
+        vmIdSet.add(vmId);
+        Expression vmIdExp = factory.in(Key.VM_ID, vmIdSet, String.class);
+        return factory.and(agentIdExp, vmIdExp);
+    }
+
     @Test
     public void testEntireFilterChainSpecificAgentIdVmIdPlusHostname() {
         String agentId = "someAgentID";
@@ -243,24 +243,23 @@
         testMe.setRoles(roles);
         StatementDescriptor<HostInfo> desc = new StatementDescriptor<>(HostInfoDAO.hostInfoCategory, "QUERY " + HostInfoDAO.hostInfoCategory.getName());
         
-        // fake a query for a category with agentId attributes and vmId
-        // attributes present and also specific agentId/vmId present.
-        DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-        assertTrue(metadata.hasAgentId());
-        assertTrue(metadata.hasVmId());
-        
         // should pass through agentId -> hostname -> vmId -> vmUsername filters
-        FilterResult result = testMe.getReadFilter(desc, metadata);
+        FilterResult result = testMe.getReadFilter(desc);
         
         // should return query expression in order to allow only specific
-        // hostname
+        // hostname and specific agent id. Since the category does not
+        // include vmId, nothing is added by the vm id filter.
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
         ExpressionFactory factory = new ExpressionFactory();
+        Set<String> agentIdSet = new HashSet<>();
+        agentIdSet.add(agentId);
+        Expression agentIdExp = factory.in(Key.AGENT_ID, agentIdSet, String.class);
         Set<String> hostnames = new HashSet<>();
         hostnames.add(hostname);
-        Expression expected = factory.in(HostInfoDAO.hostNameKey, hostnames, String.class);
+        Expression hostnameExp = factory.in(HostInfoDAO.hostNameKey, hostnames, String.class);
+        Expression expected = factory.and(agentIdExp, hostnameExp);
         assertEquals(expected, actual);
     }
     
@@ -287,14 +286,8 @@
         testMe.setRoles(roles);
         StatementDescriptor<VmInfo> desc = new StatementDescriptor<>(VmInfoDAO.vmInfoCategory, "QUERY " + VmInfoDAO.vmInfoCategory.getName());
         
-        // fake a query for a category with agentId attributes and vmId
-        // attributes present and also specific agentId/vmId present.
-        DescriptorMetadata metadata = new DescriptorMetadata(agentId, vmId);
-        assertTrue(metadata.hasAgentId());
-        assertTrue(metadata.hasVmId());
-        
         // should pass through agentId -> hostname -> vmId -> vmUsername filters
-        FilterResult result = testMe.getReadFilter(desc, metadata);
+        FilterResult result = testMe.getReadFilter(desc);
         
         // should return query expression in order to allow only specific
         // owning vm username.
@@ -304,7 +297,15 @@
         ExpressionFactory factory = new ExpressionFactory();
         Set<String> usernames = new HashSet<>();
         usernames.add(vmUserame);
-        Expression expected = factory.in(VmInfoDAO.usernameKey, usernames, String.class);
+        Expression userNameExp = factory.in(VmInfoDAO.usernameKey, usernames, String.class);
+        Set<String> agentIdSet = new HashSet<>();
+        agentIdSet.add(agentId);
+        Expression agentIdExp = factory.in(Key.AGENT_ID, agentIdSet, String.class);
+        Set<String> vmIdSet = new HashSet<>();
+        vmIdSet.add(vmId);
+        Expression vmIdExp = factory.in(Key.VM_ID, vmIdSet, String.class);
+        Expression lhs = factory.and(agentIdExp, vmIdExp);
+        Expression expected = factory.and(lhs, userNameExp);
         assertEquals(expected, actual);
     }
     
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmIdFilterTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmIdFilterTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -37,11 +37,9 @@
 package com.redhat.thermostat.web.server.auth;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -52,7 +50,6 @@
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.model.Pojo;
 import com.redhat.thermostat.storage.query.BinaryLogicalExpression;
 import com.redhat.thermostat.storage.query.BinarySetMembershipExpression;
@@ -84,7 +81,7 @@
         roles.add(vmIdReadAll);
         
         VmIdFilter<?> filter = new VmIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, null);
+        FilterResult result = filter.applyFilter(null, null);
         assertEquals(ResultType.ALL, result.getType());
         assertEquals(null, result.getFilterExpression());
     }
@@ -98,36 +95,19 @@
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         VmIdFilter<?> filter = new VmIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, parentExpression);
+        FilterResult result = filter.applyFilter(null, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertEquals(parentExpression, result.getFilterExpression());
     }
     
     @Test
     public void addsVmIdInQuery() {
-        performVmIdQueryTest(new DescriptorMetadata());
-    }
-    
-    /*
-     * We should not throw a NPE when the descriptor meta data is null. That is
-     * optional for filtering anyway and not all plugins may supply us with one.
-     */
-    @Test
-    public void addsVmIdInQueryIfMetadataNull() {
-        try {
-            performVmIdQueryTest(null);
-        } catch (NullPointerException e) {
-            fail("Should not have thrown NPE");
-        }
-    }
-    
-    private void performVmIdQueryTest(DescriptorMetadata metadata) {
         String vmId = UUID.randomUUID().toString();
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal vmIdRole = new RolePrincipal(VmIdFilter.VMS_BY_VM_ID_GRANT_ROLE_PREFIX + vmId);
         roles.add(vmIdRole);
         VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -144,11 +124,10 @@
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal vmIdRole = new RolePrincipal(VmIdFilter.VMS_BY_VM_ID_GRANT_ROLE_PREFIX + vmId);
         roles.add(vmIdRole);
-        DescriptorMetadata metadata = new DescriptorMetadata();
         VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -170,9 +149,8 @@
         RolePrincipal vm2Role = new RolePrincipal(VmIdFilter.VMS_BY_VM_ID_GRANT_ROLE_PREFIX + vmId2);
         roles.add(vm1Role);
         roles.add(vm2Role);
-        DescriptorMetadata metadata = new DescriptorMetadata();
         VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -185,33 +163,12 @@
     }
     
     @Test
-    public void returnsEmptyIfVmIdDoesNotMatch() {
-        String vmId = UUID.randomUUID().toString();
-        Set<BasicRole> roles = new HashSet<>();
-        RolePrincipal vmIdRole = new RolePrincipal(VmIdFilter.VMS_BY_VM_ID_GRANT_ROLE_PREFIX + vmId);
-        roles.add(vmIdRole);
-        String wrongVmId = "something other than vmId";
-        // assert precondition
-        assertFalse(vmId.equals(wrongVmId));
-        
-        DescriptorMetadata metadata = new DescriptorMetadata(null, wrongVmId);
-        assertTrue(metadata.hasVmId());
-        VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
-        FilterResult result = filter.applyFilter(TEST_DESC_NON_NULL_VM_ID, metadata, null);
-        assertEquals(ResultType.EMPTY, result.getType());
-        assertNull(result.getFilterExpression());
-    }
-    
-    @Test
     public void returnsAllForUnrelatedQuery() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        assertFalse(metadata.hasAgentId());
-        assertFalse(metadata.hasVmId());
         VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
         // want to have a null retval of vmId
-        FilterResult result = filter.applyFilter(TEST_DESC_NULL_VM_ID, metadata, null);
+        FilterResult result = filter.applyFilter(TEST_DESC_NULL_VM_ID, null);
         assertEquals(ResultType.ALL, result.getType());
         assertNull(result.getFilterExpression());
     }
@@ -222,12 +179,9 @@
         
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
-        DescriptorMetadata metadata = new DescriptorMetadata();
-        assertFalse(metadata.hasAgentId());
-        assertFalse(metadata.hasVmId());
         VmIdFilter<FooPojo> filter = new VmIdFilter<>(roles);
         // want to have a null retval of vmId
-        FilterResult result = filter.applyFilter(TEST_DESC_NULL_VM_ID, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(TEST_DESC_NULL_VM_ID, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         assertEquals(parentExpression, result.getFilterExpression());
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmUsernameFilterTest.java	Tue Nov 25 14:41:25 2014 -0700
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/auth/VmUsernameFilterTest.java	Wed Nov 26 11:56:35 2014 +0100
@@ -48,7 +48,6 @@
 
 import com.redhat.thermostat.storage.core.Key;
 import com.redhat.thermostat.storage.core.StatementDescriptor;
-import com.redhat.thermostat.storage.core.auth.DescriptorMetadata;
 import com.redhat.thermostat.storage.dao.AgentInfoDAO;
 import com.redhat.thermostat.storage.dao.VmInfoDAO;
 import com.redhat.thermostat.storage.model.AgentInformation;
@@ -68,7 +67,7 @@
         roles.add(vmUsernameReadAll);
         
         VmUsernameFilter<?> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, null);
+        FilterResult result = filter.applyFilter(null, null);
         assertEquals(ResultType.ALL, result.getType());
         assertEquals(null, result.getFilterExpression());
     }
@@ -82,22 +81,13 @@
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         VmUsernameFilter<?> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(null, null, parentExpression);
+        FilterResult result = filter.applyFilter(null, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertEquals(parentExpression, result.getFilterExpression());
     }
     
     @Test
     public void addsVmUsernameInQueryForVmInfo() {
-        performVmInfoTest(new DescriptorMetadata());
-    }
-    
-    @Test
-    public void testMetadataNull() {
-        performVmInfoTest(null);
-    }
-    
-    private void performVmInfoTest(DescriptorMetadata metadata) {
         String testUsername = "fooBar";
         Set<BasicRole> roles = new HashSet<>();
         RolePrincipal vmUsernameRole = new RolePrincipal(VmUsernameFilter.VMS_BY_USERNAME_GRANT_ROLE_PREFIX + testUsername);
@@ -109,7 +99,7 @@
         usernames.add(testUsername);
         Expression expected = new ExpressionFactory().in(VmInfoDAO.usernameKey, usernames, String.class);
         VmUsernameFilter<VmInfo> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, null);
+        FilterResult result = filter.applyFilter(desc, null);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -124,7 +114,6 @@
         RolePrincipal vmUsernameRole = new RolePrincipal(VmUsernameFilter.VMS_BY_USERNAME_GRANT_ROLE_PREFIX + testUsername);
         roles.add(vmUsernameRole);
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
         StatementDescriptor<VmInfo> desc = new StatementDescriptor<>(VmInfoDAO.vmInfoCategory, "QUERY " + VmInfoDAO.vmInfoCategory.getName());
         
         Set<String> usernames = new HashSet<>();
@@ -134,7 +123,7 @@
         Expression expectedIn = factory.in(VmInfoDAO.usernameKey, usernames, String.class);
         Expression expected = factory.and(parentExpression, expectedIn);
         VmUsernameFilter<VmInfo> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(desc, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         Expression actual = result.getFilterExpression();
@@ -146,11 +135,10 @@
     public void byPassesFilterForUnrelatedQuery() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
         StatementDescriptor<AgentInformation> desc = new StatementDescriptor<>(AgentInfoDAO.CATEGORY, "QUERY " + AgentInfoDAO.CATEGORY.getName());
         
         VmUsernameFilter<AgentInformation> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, null);
+        FilterResult result = filter.applyFilter(desc, null);
         assertEquals(ResultType.ALL, result.getType());
         assertNull(result.getFilterExpression());
     }
@@ -159,13 +147,12 @@
     public void byPassesFilterForUnrelatedQueryAndParentExpression() {
         Set<BasicRole> roles = new HashSet<>();
         
-        DescriptorMetadata metadata = new DescriptorMetadata();
         StatementDescriptor<AgentInformation> desc = new StatementDescriptor<>(AgentInfoDAO.CATEGORY, "QUERY " + AgentInfoDAO.CATEGORY.getName());
         
         ExpressionFactory factory = new ExpressionFactory();
         Expression parentExpression = factory.equalTo(Key.AGENT_ID, "testKey");
         VmUsernameFilter<AgentInformation> filter = new VmUsernameFilter<>(roles);
-        FilterResult result = filter.applyFilter(desc, metadata, parentExpression);
+        FilterResult result = filter.applyFilter(desc, parentExpression);
         assertEquals(ResultType.QUERY_EXPRESSION, result.getType());
         assertNotNull(result.getFilterExpression());
         assertEquals(parentExpression, result.getFilterExpression());