congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
RulesRepository
Code IndexAdd Tabnine to your IDE (free)

How to use
RulesRepository
in
org.drools.repository

Best Java code snippets using org.drools.repository.RulesRepository (Showing top 20 results out of 315)

origin: org.drools/guvnor-repository

/**
 * This will return or create the default module for assets that have no
 * home yet.
 */
public ModuleItem loadDefaultModule() throws RulesRepositoryException {
  Node folderNode = this.getAreaNode(MODULE_AREA);
  try {
    if (folderNode.hasNode(DEFAULT_PACKAGE)) {
      return loadModule(DEFAULT_PACKAGE);
    } else {
      return createModule(DEFAULT_PACKAGE,
          "");
    }
  } catch (RepositoryException e) {
    throw new RulesRepositoryException(e);
  }
}
origin: org.drools/guvnor-repository

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.");
  }
}
origin: org.chtijbug.drools/guvnor-repository

public AssetItemPageResult findAssetsByCategory(String categoryTag,
                        int skip,
                        int numRowsToReturn) throws RulesRepositoryException {
  return this.findAssetsByCategory(categoryTag,
      false,
      skip,
      numRowsToReturn);
}
origin: org.chtijbug.drools/guvnor-repository

private Node getMetaDataTypeNode(String metadataType)
    throws RepositoryException {
  Node schemaNode = getAreaNode(SCHEMA_AREA);
  return addNodeIfNew(
      addNodeIfNew(schemaNode,
          METADATA_TYPE_AREA,
          "nt:folder"),
      metadataType,
      "nt:file");
}
origin: org.drools/guvnor-repository

public void removeWorkspace(String workspace) {
  try {
    Node schemaNode = addNodeIfNew(this.session.getRootNode().getNode(RULES_REPOSITORY_NAME),
        SCHEMA_AREA,
        "nt:folder");
    Node workspaceAreaNode = addNodeIfNew(schemaNode,
        WORKSPACE_AREA,
        "nt:folder");
    Node workspaceNode = workspaceAreaNode.getNode(workspace);
    workspaceNode.remove();
    this.getSession().save();
  } catch (Exception e) {
    log.error(e.getMessage(),
        e);
    throw new RulesRepositoryException(e);
  }
}
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testIgnoreState() throws Exception {
  ModuleItem pack = getRepo().createModule( "package testIgnoreState", "foo" );
  getRepo().createState( "x" );
  AssetItem rule1 = pack.addAsset( "rule number 1", "yeah man" );
  rule1.updateState( "x" );
  rule1.checkin( "version0" );
  AssetItem rule2 = pack.addAsset( "rule number 2", "no way" );
  rule2.updateState( "x" );
  rule2.checkin( "version0" );
  AssetItem rule3 = pack.addAsset( "rule number 3", "yes way" );
  getRepo().createState( "disabled" );
  rule3.updateState( "disabled" );
  rule3.checkin( "version0" );
  getRepo().save();
  Iterator result = pack.getAssetsWithStatus( getRepo().getState( "x" ), getRepo().getState( "disabled" ) );
  List l = iteratorToList( result );
  assertEquals(2, l.size());
}
origin: org.chtijbug.drools/guvnor-repository

public void testCategoriesAndSnapshots() throws Exception {
  RulesRepository repo = getRepo();
  repo.loadCategory( "/" ).addCategory( "testCategoriesAndSnapshots",
                     "X" );
  ModuleItem pkg = repo.createModule( "testCategoriesAndSnapshots",
                     "" );
  pkg.addAsset( "testCat1",
         "/testCategoriesAndSnapshots",
         "drl" );
  repo.save();
  List items = repo.findAssetsByCategory( "/testCategoriesAndSnapshots",
                      0,
                      -1 ).assets;
  repo.createModuleSnapshot( "testCategoriesAndSnapshots",
                "SNAP 1" );
  items = repo.findAssetsByCategory( "testCategoriesAndSnapshots",
                    0,
                    -1 ).assets;
  assertTrue( repo.containsSnapshot( "testCategoriesAndSnapshots",
                    "SNAP 1" ) );
  assertFalse( repo.containsSnapshot( "testCategoriesAndSnapshots",
                    "SNAP XXXX" ) );
  assertFalse( repo.containsSnapshot( "gooberWhhewasssllllelelelelele",
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testShareableNodes() throws Exception {
  RulesRepository repo = getRepo();
  AssetItem item = repo.loadDefaultModule().addAsset("testShareableNodeOriginal", "desc");
  item.updateContent("la");
  item.getNode().addMixin("mix:shareable");
  ModuleItem source = repo.createModule("testShareableNodesPackage", "desc");
  repo.save();
  source.checkout();
  Session session = repo.getSession();
  Workspace workspace = session.getWorkspace();
  String path = "/drools:repository/drools:package_area/testShareableNodesPackage/assets/testShareableNodeShared";
  workspace.clone(workspace.getName(), item.getNode().getPath(), path, false);
  repo.save();
  AssetItem originalItem = repo.loadDefaultModule().loadAsset("testShareableNodeOriginal");
  AssetItem sharedItem = repo.loadModule("testShareableNodesPackage").loadAsset("testShareableNodeShared");
  assertTrue( originalItem.getContent().equals("la"));
  assertTrue( sharedItem.getContent().equals("la"));
  originalItem.remove();
}
origin: org.chtijbug.drools/guvnor-repository

@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_);
}
origin: org.chtijbug.drools/guvnor-repository

  @Test
  public void testPackageCheckinConfig() {
    ModuleItem item = getRepo().createModule( "testPackageCheckinConfig", "description" );

    AssetItem rule = item.addAsset( "testPackageCheckinConfig", "w" );
    rule.checkin( "goo" );

    assertEquals(1, iteratorToList( item.getAssets() ).size());
    updateHeader( "la", item );
    item.checkin( "woot" );

    updateHeader( "we", item );
    item.checkin( "gah" );

//        PackageItem pre = (PackageItem) item.getPrecedingVersion();
//        assertNotNull(pre);
//        assertEquals("la", getHeader(pre));

    AssetItem rule_ = getRepo().loadAssetByUUID( rule.getUUID() );
    assertEquals(rule.getVersionNumber(), rule_.getVersionNumber());

    item = getRepo().loadModule( "testPackageCheckinConfig");
    long v = item.getVersionNumber();
    item.updateCheckinComment( "x" );
    getRepo().save();

    assertEquals(v, item.getVersionNumber());
  }
  
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testFindAssetsByState() throws Exception {
  RulesRepository repo = getRepo();
  repo.loadCategory( "/" ).addCategory( "testFindAssetsByStateCat",
                     "X" );
  ModuleItem pkg = repo.createModule( "testFindAssetsByStatePac",
                     "" );
  pkg.addAsset( "testCat1",
         "drl" );
  repo.save();
  AssetItemPageResult apl = repo.findAssetsByState( "Draft",
                        false,
                        0,
origin: org.chtijbug.drools/guvnor-repository

ModuleItem rulePackageItem = repo.loadDefaultModule();
AssetItem rule = rulePackageItem.addAsset( "testLoadRuleByUUID",
                      "this is a description" );
repo.save();
AssetItem loaded = repo.loadAssetByUUID( uuid );
assertNotNull( loaded );
assertEquals( "testLoadRuleByUUID",
AssetItem reload = repo.loadAssetByUUID( uuid );
assertEquals( "testLoadRuleByUUID",
       reload.getName() );
  repo.loadAssetByUUID( "01010101-0101-0101-0101-010101010101" );
  fail( "Exception not thrown loading rule package that was not created." );
} catch ( RulesRepositoryException e ) {
AssetItem asset1 = repo.loadDefaultModule().addAsset( "testMultiSession",
                            "description" );
asset1.updateContent( "yeah" );
uuid = asset1.getUUID();
asset1.updateState( "Draft" );
repo.save();
Session s2 = repo.getSession().getRepository().login( new SimpleCredentials( "fdd",
                                       "password".toCharArray() ) );
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testFindAssetsByCategory() throws Exception {
  RulesRepository repo = getRepo();
  repo.loadCategory( "/" ).addCategory( "testFindAssetsByCategoryUsingFilterCat",
                     "X" );
  ModuleItem pkg = repo.createModule( "testFindAssetsByCategoryUsingFilterPack",
                     "" );
  pkg.addAsset( "testCat1",
  repo.save();
  List items = repo.findAssetsByCategory( "/testFindAssetsByCategoryUsingFilterCat",
                      0,
                      -1 ).assets;
  AssetItemPageResult apl = repo.findAssetsByCategory( "/testFindAssetsByCategoryUsingFilterCat",
                          false,
                          0,
  repo.save();
  apl = repo.findAssetsByCategory( "/testFindAssetsByCategoryUsingFilterCat",
                   0,
                   -1 );
  int skip = 0;
  while ( hasNext ) {
    apl = repo.findAssetsByCategory( "/testFindAssetsByCategoryUsingFilterCat",
                     skip,
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testFormatOtherThanDroolsPackage() {
  ModuleItem rulePackageItem1 = getRepo().createModule(
      "testFormatOtherThanDroolsPackage", "woot");
  assertNotNull(rulePackageItem1);
  // PACKAGE_FORMAT is the default module format
  assertEquals(ModuleItem.MODULE_FORMAT, rulePackageItem1.getFormat());
  rulePackageItem1.updateFormat("soaservice");
  ModuleItem item = getRepo().loadModule(
      "testFormatOtherThanDroolsPackage");
  assertEquals("soaservice", item.getFormat());
}

origin: org.chtijbug.drools/guvnor-repository

@Test
public void testFindByState() throws Exception {
  RulesRepository repo = getRepo();
  ModuleItem pkg = repo.createModule( "testFindByStatePackage",
                     "heheheh" );
  AssetItem asset1 = pkg.addAsset( "asset1",
                   "" );
  AssetItem asset2 = pkg.addAsset( "asset2",
                   "" );
  repo.createState( "testFindByState" );
  repo.save();
  asset1.updateState( "testFindByState" );
  asset2.updateState( "testFindByState" );
  asset1.checkin( "" );
  asset2.checkin( "" );
  AssetItemPageResult result = repo.findAssetsByState( "testFindByState",
                         true,
                         0,
                         -1 );
  assertEquals( 2,
         result.assets.size() );
}
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testMiscProperties() {
  ModuleItem item = getRepo().createModule( "testHeader", "ya" );
  updateHeader( "new header", item );
  item.updateExternalURI( "boo" );
  getRepo().save();
  assertEquals("new header", getHeader(item));
  item = getRepo().loadModule("testHeader");
  assertEquals("new header", getHeader(item));
  assertEquals("boo", item.getExternalURI());
}
origin: org.chtijbug.drools/guvnor-repository

repo.loadDefaultModule().addAsset( "findRulesByNamex1",
                  "X" );
repo.loadDefaultModule().addAsset( "findRulesByNamex2",
                  "X" );
repo.save();
List list = iteratorToList( repo.findAssetsByName( "findRulesByNamex1" ) );
assertEquals( 1,
       list.size() );
list = iteratorToList( repo.findAssetsByName( "findRulesByNamex2" ) );
assertEquals( 1,
       list.size() );
list = iteratorToList( repo.findAssetsByName( "findRulesByNamex%" ) );
assertEquals( 2,
       list.size() );
repo.createModuleSnapshot( RulesRepository.DEFAULT_PACKAGE,
              "testFindRulesByName" );
repo.save();
list = iteratorToList( repo.findAssetsByName( "findRulesByNamex2" ) );
AssetItem item = (AssetItem) list.get( 0 );
assertEquals( "findRulesByNamex2",
list = iteratorToList( repo.findAssetsByName( "findRulesByNamex%" ) );
assertEquals( 2,
       list.size() );
origin: org.chtijbug.drools/guvnor-repository

CategoryItem root = repo.loadCategory( "/" );
root.addCategory( "testCatRename",
         "" );
repo.loadCategory( "testCatRename" ).addCategory( "testRename",
                         "" );
repo.renameCategory( "testCatRename/testRename",
           "testAnother" );
CategoryItem cat = repo.loadCategory( "testCatRename/testAnother" );
assertNotNull( cat );
try {
  repo.loadCategory( "testCatRename/testRename" );
  fail( "should not exist." );
} catch ( RulesRepositoryException e ) {
ModuleItem pkg = repo.createModule( "testCategoryRename",
                   "" );
AssetItem asset = pkg.addAsset( "fooBar",
cat = repo.loadCategory( "testCatRename/testAnother" );
AssetItemPageResult as = repo.findAssetsByCategory( "testCatRename/testAnother",
                       0,
                       -1 );
repo.renameCategory( "testCatRename/testAnother",
           "testYetAnother" );
as = repo.findAssetsByCategory( "testCatRename/testYetAnother",
                0,
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testRemoveCategoryUneeded() {
  RulesRepository repo = getRepo();
  repo.loadCategory("/").addCategory("testRemoveCat", "a");
  AssetItem as = repo.loadDefaultModule().addAsset("testRemoveCategory", "a", "testRemoveCat", "drl");
  as.checkin("a");
  as.updateCategoryList(new String[] {});
  as.checkin("a");
  as = repo.loadDefaultModule().loadAsset("testRemoveCategory");
  assertEquals(0, as.getCategories().size());
  repo.loadCategory("testRemoveCat").remove();
  repo.save();
}
origin: org.chtijbug.drools/guvnor-repository

@Test
public void testCategoriesPagination() {
    ModuleItem pkg = getRepo().createModule("testPagination", "");
    getRepo().loadCategory( "/" ).addCategory( "testPagedTag", "description" );
    a.checkin("");
    AssetItemPageResult result = getRepo().findAssetsByCategory("testPagedTag", 0, -1);
    assertTrue(result.currentPosition > 0);
    assertEquals(5, result.assets.size());
    result = getRepo().findAssetsByCategory("testPagedTag", 0, 2);
    assertTrue(result.currentPosition > 0);
    assertEquals(true, result.hasNext);
    assertEquals("testPage2", ((AssetItem) result.assets.get(1)).getName());
    result = getRepo().findAssetsByCategory("testPagedTag", 2, 2);
    assertTrue(result.currentPosition > 0);
    assertEquals(true, result.hasNext);
    assertEquals("testPage4", ((AssetItem) result.assets.get(1)).getName());
    result = getRepo().findAssetsByCategory("testPagedTag", 2, 3);
    assertTrue(result.currentPosition > 0);
    assertEquals(false, result.hasNext);
org.drools.repositoryRulesRepository

Javadoc

RulesRepository is the class that defines the behavior for the JBoss Rules (drools) rule repository based upon the JCR specification (JSR-170).

An instance of this class is capable of storing rules used by the JBoss Rule engine. It also provides a versioning capability for rules. Rules can be imported from specified files. The RulesRepository is also capable of storing DSL content. Rules can be explicitly tied to a particular DSL node within the repository, and this reference can either follow the head version, or a specific version of the DSL node.

Rules can be tagged. Tags are stored in a separate area of the repository, and can be added on demand. Rules can have 0 or more tags. Tags are intended to help provide a means for searching for specific types of rules quickly, even when they aren't all part of the same rulepackage.

Rules can be associated with 0 or 1 states. States are created in a seperate area of the repository. States are intended to help track the progress of a rule as it traverses its life- cycle. (e.g. draft, approved, deprecated, etc.)

The RulesRepository provides versioning of rules, rule packages, and DSLs. This versioning works in a strictly linear fashion, with one version having at most 1 predecessor version (or none, if it is the first version), and at most 1 successor version (or none, if it is the most recently checked-in version). The JCR specification supports a more complicated versioning system, and if there is sufficient demand, we can modify our versioning scheme to be better aligned with JCR's versioning abilities.

Most used methods

  • createModule
    Adds a module to the repository.
  • loadModule
    Loads a Module for the specified module name and version. Will throw an exception if the specified m
  • save
    Save any pending changes.
  • <init>
    This requires a JCR session be setup, and the repository be configured.
  • findAssetsByCategory
    This will retrieve a list of RuleItem objects - that are allocated to the provided category. Only th
  • findAssetsByName
    This will search assets, looking for matches against the name.
  • findAssetsByState
    Finds the AssetItem's linked to the requested state. Similar to finding by category.
  • getAreaNode
  • getSession
  • getState
    Gets a StateItem for the specified state name. If a node for the specified state does not yet exist,
  • listModuleSnapshots
    Return a list of the snapshots available for the given module name.
  • listModules
  • listModuleSnapshots,
  • listModules,
  • loadAssetByUUID,
  • loadCategory,
  • loadGlobalArea,
  • loadModuleByUUID,
  • loadModuleSnapshot,
  • loadState,
  • addNodeIfNew,
  • checkForDataMigration

Popular in Java

  • Updating database using SQL prepared statement
  • setContentView (Activity)
  • notifyDataSetChanged (ArrayAdapter)
  • getOriginalFilename (MultipartFile)
    Return the original filename in the client's filesystem.This may contain path information depending
  • Timestamp (java.sql)
    A Java representation of the SQL TIMESTAMP type. It provides the capability of representing the SQL
  • Calendar (java.util)
    Calendar is an abstract base class for converting between a Date object and a set of integer fields
  • Locale (java.util)
    Locale represents a language/country/variant combination. Locales are used to alter the presentatio
  • TreeSet (java.util)
    TreeSet is an implementation of SortedSet. All optional operations (adding and removing) are support
  • StringUtils (org.apache.commons.lang)
    Operations on java.lang.String that arenull safe. * IsEmpty/IsBlank - checks if a String contains
  • IsNull (org.hamcrest.core)
    Is the value null?
  • Best plugins for Eclipse
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now