public AssetItemIterator queryAssets(String fieldPredicates) { return queryAssets(fieldPredicates, false); }
public AssetItemIterator listArchivedAssets() { return queryAssets(AssetItem.CONTENT_PROPERTY_ARCHIVE_FLAG + " = 'true'", true); }
public AssetItemIterator queryAssets(String fieldPredicates) { return queryAssets(fieldPredicates, false); }
public AssetItemIterator listArchivedAssets() { return queryAssets(AssetItem.CONTENT_PROPERTY_ARCHIVE_FLAG + " = 'true'", true); }
public AssetItemIterator listAssetsNotOfFormat(String[] formats) { if (formats.length == 1) { return queryAssets("not drools:format='" + formats[0] + "'"); } else { StringBuilder predicateBuilder = new StringBuilder("not ( "); for (int i = 0; i < formats.length; i++) { predicateBuilder.append("drools:format='").append(formats[i]).append("'"); if (!(i == formats.length - 1)) { predicateBuilder.append(" OR "); } } predicateBuilder.append(" ) "); return queryAssets(predicateBuilder.toString()); } }
public AssetItemIterator listAssetsNotOfFormat(String[] formats) { if (formats.length == 1) { return queryAssets("not drools:format='" + formats[0] + "'"); } else { StringBuilder predicateBuilder = new StringBuilder("not ( "); for (int i = 0; i < formats.length; i++) { predicateBuilder.append("drools:format='").append(formats[i]).append("'"); if (!(i == formats.length - 1)) { predicateBuilder.append(" OR "); } } predicateBuilder.append(" ) "); return queryAssets(predicateBuilder.toString()); } }
/** * This will load an iterator for assets of the given format type. */ public AssetItemIterator listAssetsByFormat(String... formats) { if (formats.length == 1) { return queryAssets(FORMAT_PROPERTY_NAME + "='" + formats[0] + "'"); } else { StringBuilder predicateBuilder = new StringBuilder(" ( "); for (int i = 0; i < formats.length; i++) { predicateBuilder.append(FORMAT_PROPERTY_NAME).append("='").append(formats[i]).append("'"); if (i != formats.length - 1) { predicateBuilder.append(" OR "); } } predicateBuilder.append(" ) "); return queryAssets(predicateBuilder.toString()); } }
/** * This will load an iterator for assets of the given format type. */ public AssetItemIterator listAssetsByFormat(String... formats) { if (formats.length == 1) { return queryAssets(FORMAT_PROPERTY_NAME + "='" + formats[0] + "'"); } else { StringBuilder predicateBuilder = new StringBuilder(" ( "); for (int i = 0; i < formats.length; i++) { predicateBuilder.append(FORMAT_PROPERTY_NAME).append("='").append(formats[i]).append("'"); if (i != formats.length - 1) { predicateBuilder.append(" OR "); } } predicateBuilder.append(" ) "); return queryAssets(predicateBuilder.toString()); } }
@Test public void testShareableNodesWithQuery() throws Exception { RulesRepository repo = getRepo(); AssetItem item = repo.loadGlobalArea().addAsset("testShareableNodesWithQueryOriginal", "desc"); item.updateFormat("xyz"); item.getNode().addMixin("mix:shareable"); ModuleItem source = repo.createModule("testShareableNodesWithQueryPackage", "desc"); repo.save(); AssetItemIterator it = repo.loadGlobalArea().queryAssets( "drools:format='xyz'" ); List list = iteratorToList( it ); assertEquals(1, list.size()); assertTrue(list.get( 0 ) instanceof AssetItem); source.checkout(); Session session = repo.getSession(); Workspace workspace = session.getWorkspace(); String path = "/drools:repository/drools:package_area/testShareableNodesWithQueryPackage/assets/testShareableNodesWithQueryShared"; workspace.clone(workspace.getName(), item.getNode().getPath(), path, false); repo.save(); AssetItem originalItem = repo.loadGlobalArea().loadAsset("testShareableNodesWithQueryOriginal"); AssetItem sharedItem = repo.loadModule("testShareableNodesWithQueryPackage").loadAsset("testShareableNodesWithQueryShared"); assertTrue( originalItem.getFormat().equals("xyz")); assertTrue( sharedItem.getFormat().equals("xyz")); it = repo.loadGlobalArea().queryAssets( "drools:format='xyz'" ); list = iteratorToList( it ); assertEquals(1, list.size()); assertTrue(list.get( 0 ) instanceof AssetItem); }
AssetItemIterator it = pkg.queryAssets( "drools:format='xyz'" ); List list = iteratorToList( it ); assertEquals(2, list.size());
item.checkin( "la" ); AssetItemIterator it = loadGlobalArea().queryAssets( "drools:format='testSearchSharedAssetByFormat'" ); List list = iteratorToList( it ); assertEquals(1, list.size()); assertEquals("testSearchSharedAssetByFormat", item.getFormat()); it = loadGlobalArea().queryAssets( "drools:format='testSearchSharedAssetByFormat'" ); list = iteratorToList( it ); assertEquals(1, list.size());
@Test public void testListArchivedAssets() throws Exception { ModuleItem pkg = getRepo().createModule( "org.drools.archivedtest", "" ); getRepo().save(); AssetItem item = pkg.addAsset( "archivedItem1", "" ); item.archiveItem( true ); item.checkin( "la" ); item = pkg.addAsset( "archivedItem2", "wee" ); item.archiveItem( true ); item.checkin( "la" ); item = pkg.addAsset( "archivedItem3", "wee" ); item.archiveItem( true ); item.checkin( "la" ); item = pkg.addAsset( "NOTarchivedItem", "wee" ); item.checkin( "la" ); Thread.sleep( 150 ); AssetItemIterator it = pkg.listArchivedAssets(); List list = iteratorToList( it ); assertEquals(3, list.size()); assertTrue(list.get( 0 ) instanceof AssetItem); assertTrue(list.get( 1 ) instanceof AssetItem); assertTrue(list.get( 2 ) instanceof AssetItem); it = pkg.queryAssets( "", true ); list = iteratorToList( it ); assertEquals(4, list.size()); }