/** * Returns a {@link ModuleIterator} of its children * * @return a {@link ModuleIterator} of its children */ public ModuleIterator listSubModules() { try { return new ModuleIterator(getRulesRepository(), node.getNode(RulesRepository.MODULE_AREA).getNodes()); } catch (PathNotFoundException e) { return new ModuleIterator(); } catch (RepositoryException e) { throw new RulesRepositoryException(e); } }
public ModuleItem next() { if (this.next == null) { this.hasNext(); } this.current = this.next; this.next = null; if (this.current == null) { throw new NoSuchElementException("No more elements to return"); } return new ModuleItem(this.repository, (Node) this.current); }
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 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() ); }
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."); } }
/** * Returns a {@link ModuleIterator} of its children * * @return a {@link ModuleIterator} of its children */ public ModuleIterator listSubModules() { try { return new ModuleIterator(getRulesRepository(), node.getNode(RulesRepository.MODULE_AREA).getNodes()); } catch (PathNotFoundException e) { return new ModuleIterator(); } catch (RepositoryException e) { throw new RulesRepositoryException(e); } }
public ModuleItem next() { if (this.next == null) { this.hasNext(); } this.current = this.next; this.next = null; if (this.current == null) { throw new NoSuchElementException("No more elements to return"); } return new ModuleItem(this.repository, (Node) this.current); }
/** * @return an Iterator which will provide RulePackageItem's. This will show * aLL the modules, only returning latest versions, by default. */ public ModuleIterator listModules() { Node folderNode = this.getAreaNode(MODULE_AREA); try { synchronized (RulesRepository.class) { if (!folderNode.hasNode(DEFAULT_PACKAGE)) { createModule(DEFAULT_PACKAGE, "The default rule package"); folderNode = this.getAreaNode(MODULE_AREA); } } return new ModuleIterator(this, folderNode.getNodes()); } catch (RepositoryException e) { throw new RulesRepositoryException(e); } }
/** * @return an Iterator which will provide RulePackageItem's. This will show * aLL the modules, only returning latest versions, by default. */ public ModuleIterator listModules() { Node folderNode = this.getAreaNode(MODULE_AREA); try { synchronized (RulesRepository.class) { if (!folderNode.hasNode(DEFAULT_PACKAGE)) { createModule(DEFAULT_PACKAGE, "The default rule package"); folderNode = this.getAreaNode(MODULE_AREA); } } return new ModuleIterator(this, folderNode.getNodes()); } catch (RepositoryException e) { throw new RulesRepositoryException(e); } }