{
final PmdDataFactory pmdDataFactory = new PmdDataFactory();
pmdDataFactory.setConnectionProvider(new PmdConnectionProvider());
pmdDataFactory.setXmiFile("devresource/metadata/metadata.xmi");
pmdDataFactory.setDomainId("steel-wheels");
pmdDataFactory.initialize(new DesignTimeDataFactoryContext());
pmdDataFactory.setQuery("default", PARAMETRIZED_QUERY, null, null);
final DataFactoryMetaData metaData = pmdDataFactory.getMetaData();
final Object queryHash = metaData.getQueryHash(pmdDataFactory, "default", new StaticDataRow());
assertNotNull(queryHash);
final PmdDataFactory pmdDataFactory2 = new PmdDataFactory();
pmdDataFactory2.setConnectionProvider(new PmdConnectionProvider());
pmdDataFactory2.setXmiFile("devresource/metadata/metadata.xmi");
pmdDataFactory2.setDomainId("steel-wheels");
pmdDataFactory2.initialize(new DesignTimeDataFactoryContext());
pmdDataFactory2.setQuery("default", QUERY, null, null);
pmdDataFactory2.setQuery("default2", PARAMETRIZED_QUERY, null, null);
assertNotEquals("Physical Query is not the same", queryHash, metaData.getQueryHash(pmdDataFactory2, "default", new StaticDataRow()));
assertEquals("Physical Query is the same", queryHash, metaData.getQueryHash(pmdDataFactory2, "default2", new StaticDataRow()));