public void migrate(RulesRepository repo) throws RepositoryException { log.info("AUTO MIGRATION: Performing drools.package migration..."); ModuleIterator pkgs = repo.listModules(); boolean performed = false; while(pkgs.hasNext()) { performed = true; ModuleItem pkg = (ModuleItem) pkgs.next(); migratePackage(pkg); String[] snaps = repo.listModuleSnapshots(pkg.getName()); if (snaps != null) { for (int i = 0; i < snaps.length; i++) { ModuleItem snap = repo.loadModuleSnapshot(pkg.getName(), snaps[i]); migratePackage(snap); } } } if (performed) { repo.getSession().getRootNode().getNode(RulesRepository.RULES_REPOSITORY_NAME).addNode("drools.package.migrated", "nt:folder"); repo.save(); log.info("AUTO MIGRATION: drools.package migration completed."); } }
public void migrate(RulesRepository repo) throws RepositoryException { log.info("AUTO MIGRATION: Performing drools.package migration..."); ModuleIterator pkgs = repo.listModules(); boolean performed = false; while(pkgs.hasNext()) { performed = true; ModuleItem pkg = (ModuleItem) pkgs.next(); migratePackage(pkg); String[] snaps = repo.listModuleSnapshots(pkg.getName()); if (snaps != null) { for (int i = 0; i < snaps.length; i++) { ModuleItem snap = repo.loadModuleSnapshot(pkg.getName(), snaps[i]); migratePackage(snap); } } } if (performed) { repo.getSession().getRootNode().getNode(RulesRepository.RULES_REPOSITORY_NAME).addNode("drools.package.migrated", "nt:folder"); repo.save(); log.info("AUTO MIGRATION: drools.package migration completed."); } }
@Test public void testListPackages() throws Exception { RulesRepository repo = getRepo(); ModuleItem item = repo.createModule( "testListPackages1", "lalalala" ); assertNotNull(item.getCreator()); item.updateStringProperty( "goo", "whee" ); assertEquals("goo", item.getStringProperty( "whee" )); assertFalse(item.getCreator().equals( "" )); List list = iteratorToList( repo.listModules() ); int prevSize = list.size(); repo.createModule( "testListPackages2", "abc" ); list = iteratorToList( repo.listModules() ); assertEquals(prevSize + 1, list.size()); }
@Test public void testRulePackageItem() throws Exception { RulesRepository repo = getRepo(); //calls constructor ModuleItem rulePackageItem1 = repo.createModule("testRulePackage", "desc"); assertNotNull(rulePackageItem1); assertEquals("testRulePackage", rulePackageItem1.getName()); Iterator it = getRepo().listModules(); assertTrue(it.hasNext()); while (it.hasNext()) { ModuleItem pack = (ModuleItem) it.next(); if (pack.getName().equals( "testRulePackage" )) { return; } } fail("should have picked up the testRulePackage but didnt."); }
@Test @Ignore("JackRabbit errors about node type for property {}testing. Probably repository changes have broken test.") public void testAddPackageProperties() throws Exception { RulesRepository repo = getRepo(); ModuleItem item = repo.createModule( "testListPackages1", "lalalala" ); assertNotNull(item.getCreator()); String[] testProp = new String[]{"Test1","Test2"}; item.node.checkout(); item.node.setProperty("testing", testProp); //item.node.setProperty("testing", "blah"); String[] newProp = item.getStringPropertyArray( "testing" ); assertTrue((testProp[0]).equals(newProp[0])); assertTrue(("Test2").equals(newProp[1])); //assertEquals(testProp[0], ); assertFalse(item.getCreator().equals( "" )); List list = iteratorToList( repo.listModules() ); int prevSize = list.size(); repo.createModule( "testListPackages2", "abc" ); list = iteratorToList( repo.listModules() ); assertEquals(prevSize + 1, list.size()); }
@Test public void testListPackages() { RulesRepository rulesRepository = getRepo(); rulesRepository.createModule( "testListPackages", "desc" ); assertTrue( rulesRepository.containsModule( "testListPackages" ) ); assertFalse( rulesRepository.containsModule( "XXXXXXX" ) ); Iterator it = rulesRepository.listModules(); assertTrue( it.hasNext() ); boolean found = false; //listPackages() should not return the global area even though the global area is a package. boolean foundGlobalArea = false; while ( it.hasNext() ) { ModuleItem element = (ModuleItem) it.next(); if ( element.getName().equals( "testListPackages" ) ) { found = true; } if ( element.getName().equals(RulesRepository.GLOBAL_AREA) ) { foundGlobalArea = true; } } assertTrue( found ); assertFalse( foundGlobalArea ); }
@Test public void testLoadPackages() { RulesRepository repo = getRepo(); ModuleItem item = repo.createModule( "testListPackagesblah", "lalalala" ); assertNotNull( item.getCreator() ); assertFalse( item.getCreator().equals( "" ) ); List list = iteratorToList( repo.listModules() ); int prevSize = list.size(); repo.createModule( "testListPackages2blah", "abc" ); repo.loadModule( "testListPackages2blah" ).archiveItem( true ); repo.createModule( "testListPackages2blah1", "abc" ); repo.createModule( "testListPackages2blah3", "abc" ); repo.createModule( "testListPackages2blah7", "abc" ); ModuleIterator localIterator = (ModuleIterator) repo.listModules(); list = iteratorToList( localIterator ); assertEquals( prevSize + 3, list.size() ); localIterator = (ModuleIterator) repo.listModules(); localIterator.setArchivedIterator( true ); list = iteratorToList( localIterator ); assertEquals( prevSize + 4, list.size() ); }
@Test public void testPackageRemove() throws Exception { RulesRepository repo = getRepo(); ModuleItem p = repo.createModule("removeMe", ""); AssetItem a = p.addAsset("Whee", ""); a.updateContent("yeah"); a.checkin("la"); p.addAsset("Waa", ""); repo.save(); ModuleItem pkgNested = p.createSubModule("NestedGoodness"); assertNotNull(pkgNested); int n = iteratorToList(repo.listModules()).size(); p = repo.loadModule("removeMe"); p.remove(); repo.save(); int n_ = iteratorToList(repo.listModules()).size(); assertEquals(n - 1, n_); }
@Test public void testDefaultPackage() throws Exception { RulesRepository repo = getRepo(); Iterator it = repo.listModules(); boolean foundDefault = false; while ( it.hasNext() ) { ModuleItem item = (ModuleItem) it.next(); if ( item.getName().equals( RulesRepository.DEFAULT_PACKAGE ) ) { foundDefault = true; } } assertTrue( foundDefault ); ModuleItem def = repo.loadDefaultModule(); assertNotNull( def ); assertEquals( RulesRepository.DEFAULT_PACKAGE, def.getName() ); String userId = repo.getSession().getUserID(); assertNotNull( userId ); assertFalse( userId.equals( "" ) ); MigrateDroolsPackage mig = new MigrateDroolsPackage(); assertFalse( mig.needsMigration( repo ) ); assertTrue( repo.initialized ); }
@Test public void testRenamePackage() throws Exception { RulesRepository repo = getRepo(); ModuleItem original = repo.createModule( "testRenamePackage", "asset" ); List packagesOriginal = iteratorToList( repo.listModules() ); AssetItem item = repo.loadModule( "testRenamePackage" ).addAsset( "testRenameAssetSource", "desc" ); item.updateContent( "la" ); item.checkin( "" ); String uuid = repo.renameModule( original.getUUID(), "testRenamePackage2" ); ModuleItem pkg = repo.loadModuleByUUID( uuid ); assertEquals( "testRenamePackage2", pkg.getName() ); List assets = iteratorToList( repo.loadModule( "testRenamePackage2" ).getAssets() ); assertEquals( 1, assets.size() ); item = (AssetItem) assets.get( 0 ); assertEquals( "testRenameAssetSource", item.getName() ); assertEquals( "la", item.getContent() ); assertEquals( "testRenamePackage2", item.getModuleName() ); List packageFinal = iteratorToList( repo.listModules() ); assertEquals( packagesOriginal.size(), packageFinal.size() ); }