[jboss-svn-commits] JBL Code SVN: r6102 - in labs/jbossrules/trunk/drools-repository/src: main/java/org/drools/repository test/java/org/drools/repository

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 7 07:27:01 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-09-07 07:26:55 -0400 (Thu, 07 Sep 2006)
New Revision: 6102

Added:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RepositoryConfigurator.java
Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RepositorySession.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
Log:
JBRULES-464

Added: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RepositoryConfigurator.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RepositoryConfigurator.java	2006-09-07 09:39:41 UTC (rev 6101)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RepositoryConfigurator.java	2006-09-07 11:26:55 UTC (rev 6102)
@@ -0,0 +1,197 @@
+package org.drools.repository;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jcr.LoginException;
+import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+import javax.jcr.Workspace;
+
+import org.apache.jackrabbit.core.TransientRepository;
+import org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException;
+import org.apache.jackrabbit.core.nodetype.NodeTypeDef;
+import org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl;
+import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
+import org.apache.jackrabbit.core.nodetype.compact.CompactNodeTypeDefReader;
+import org.apache.log4j.Logger;
+
+/** This contains code to initialise the repository for jackrabbit */
+public class RepositoryConfigurator {
+
+    private static final Logger log = Logger.getLogger(RepositoryConfigurator.class);        
+    private Repository repository;
+    
+    
+    /**
+     * This will create a new repository (or clear an existing one)
+     * @param clearRepository True if you want it to wipe the contents and set it up.
+     */
+    public RepositoryConfigurator(boolean clearRepository) {
+        try {
+
+            repository = new TransientRepository();
+            
+            if(clearRepository) {    
+                Session session = login();
+                this.clearRepository(session);
+                this.setupRepository(session); 
+            }
+            
+                       
+        }
+        catch (Exception e) {
+            log.error("Caught Exception", e);
+        }         
+    }
+    
+    public RepositoryConfigurator() {
+        this(false);
+    }
+
+    /** Create a new user session */
+    public Session login() throws LoginException,
+                        RepositoryException {
+        Session session = repository.login(
+                                   new SimpleCredentials("username", "password".toCharArray()));
+
+        if(session == null) {
+            log.error("LOGIN FAILED! SESSION IS NULL!");
+            throw new RulesRepositoryException("Unable to login to repository.");
+        }
+        return session;
+    }
+    
+    /**
+     * Clears out the entire tree below the rules repository node of the JCR repository.
+     */
+    public void clearRepository(Session session) {
+        try {
+            
+            if (session.getRootNode().hasNode( RulesRepository.RULES_REPOSITORY_NAME )) {
+                System.out.println("Clearing rules repository");
+                Node node = session.getRootNode().getNode(RulesRepository.RULES_REPOSITORY_NAME);
+                node.remove();
+            } else {
+                System.out.println("Repo not setup, ergo not clearing it !");
+            }
+        }
+        catch(PathNotFoundException e) {                
+            //doesn't exist yet. no biggie.
+        }          
+        catch(RepositoryException e) {
+            //this will happen on the first setup. no biggie.
+        }
+    }    
+    
+    /**
+     * Attempts to setup the repository.  If the work that it tries to do has already been done, it 
+     * will return with modifying the repository.
+     * 
+     * @throws RulesRepositoryException     
+     */
+    protected void setupRepository(Session session) throws RulesRepositoryException {
+        System.out.println("Setting up the repository, registering node types etc.");
+        try {
+            Node root = session.getRootNode();
+            Workspace ws = session.getWorkspace();
+
+            //no need to set it up again, skip it if it has.
+            boolean registered = false;
+            String uris[] = ws.getNamespaceRegistry().getURIs();            
+            for ( int i = 0; i < uris.length; i++ ) {
+                if (RulesRepository.DROOLS_URI.equals( uris[i]) ) {
+                    registered = true;
+                }
+            }
+
+            if (!registered) {
+                ws.getNamespaceRegistry().registerNamespace("drools", RulesRepository.DROOLS_URI);
+                
+                this.registerNodeTypesFromCndFile("/node_type_definitions/versionable_node_type.cnd", ws);
+                this.registerNodeTypesFromCndFile("/node_type_definitions/dsl_node_type.cnd", ws);            
+                this.registerNodeTypesFromCndFile("/node_type_definitions/tag_node_type.cnd", ws);
+                this.registerNodeTypesFromCndFile("/node_type_definitions/state_node_type.cnd", ws);
+                this.registerNodeTypesFromCndFile("/node_type_definitions/rule_node_type.cnd", ws);
+                this.registerNodeTypesFromCndFile("/node_type_definitions/function_node_type.cnd", ws);
+                this.registerNodeTypesFromCndFile("/node_type_definitions/rulepackage_node_type.cnd", ws);
+            }
+            
+            // Setup the rule repository node
+            Node repositoryNode = RulesRepository.addNodeIfNew(root, RulesRepository.RULES_REPOSITORY_NAME, "nt:folder");
+                    
+            // Setup the Rule area
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.RULE_AREA, "nt:folder");
+            
+            //Setup the Rule area
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.FUNCTION_AREA, "nt:folder");
+            
+            // Setup the RulePackageItem area        
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.RULE_PACKAGE_AREA, "nt:folder");
+            
+            // Setup the DSL area                
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.DSL_AREA, "nt:folder");
+            
+            //Setup the DSL area                
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.TAG_AREA, "nt:folder");
+            
+            //Setup the State area                
+            RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.STATE_AREA, "nt:folder");
+            
+            session.save();                        
+        }
+        catch(Exception e) {
+            log.error("Caught Exception", e);
+            System.err.println(e.getMessage());
+            throw new RulesRepositoryException(e);
+        }
+    }
+    
+    private void registerNodeTypesFromCndFile(String cndFileName, Workspace ws) throws RulesRepositoryException, InvalidNodeTypeDefException {
+        try {
+            //Read in the CND file
+            Reader in = new InputStreamReader(this.getClass().getResourceAsStream( cndFileName ));
+            
+            // Create a CompactNodeTypeDefReader
+            CompactNodeTypeDefReader cndReader = new CompactNodeTypeDefReader(in, cndFileName);
+            
+            // Get the List of NodeTypeDef objects
+            List ntdList = cndReader.getNodeTypeDefs();
+            
+            // Get the NodeTypeManager from the Workspace.
+            // Note that it must be cast from the generic JCR NodeTypeManager to the
+            // Jackrabbit-specific implementation.
+            NodeTypeManagerImpl ntmgr = (NodeTypeManagerImpl)ws.getNodeTypeManager();
+            
+            // Acquire the NodeTypeRegistry
+            NodeTypeRegistry ntreg = ntmgr.getNodeTypeRegistry();
+            
+            // Loop through the prepared NodeTypeDefs
+            for(Iterator i = ntdList.iterator(); i.hasNext();) {                               
+                // Get the NodeTypeDef...
+                NodeTypeDef ntd = (NodeTypeDef)i.next();                                        
+                
+                log.debug("Attempting to regsiter node type named: " + ntd.getName());
+                
+                // ...and register it            
+                ntreg.registerNodeType(ntd);
+            }
+        }
+        catch(InvalidNodeTypeDefException e) {
+            log.warn("InvalidNodeTypeDefinitionException caught when trying to add node from CND file: " + cndFileName + ". This will happen if the node type was already registered. " + e);
+            throw e;
+        }
+        catch(Exception e) {
+            log.error("Caught Exception", e);
+            throw new RulesRepositoryException(e);
+        }
+    }    
+    
+    
+}

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2006-09-07 09:39:41 UTC (rev 6101)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2006-09-07 11:26:55 UTC (rev 6102)
@@ -1,11 +1,5 @@
 package org.drools.repository;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileReader;
-import java.io.InputStreamReader;
-import java.io.Reader;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.HashMap;
@@ -14,26 +8,16 @@
 import java.util.Map;
 import java.util.StringTokenizer;
 
-import javax.jcr.NamespaceException;
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
 import javax.jcr.PropertyIterator;
-import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
 import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
-import javax.jcr.Workspace;
 
-import org.apache.jackrabbit.core.TransientRepository;
-import org.apache.jackrabbit.core.nodetype.InvalidNodeTypeDefException;
-import org.apache.jackrabbit.core.nodetype.NodeTypeDef;
-import org.apache.jackrabbit.core.nodetype.NodeTypeManagerImpl;
-import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry;
-import org.apache.jackrabbit.core.nodetype.compact.CompactNodeTypeDefReader;
 import org.apache.log4j.Logger;
 
 
@@ -67,10 +51,10 @@
  * if there is sufficient demand, we can modify our versioning scheme to be better aligned with JCR's
  * versioning abilities.
  * 
- * @author btruitt
+ * @author Ben Truitt
  */
 public class RulesRepository {
-    private static final String DROOLS_URI = "http://www.jboss.org/drools-repository/1.0";
+    public static final String DROOLS_URI = "http://www.jboss.org/drools-repository/1.0";
 
     private static final Logger log = Logger.getLogger(RulesRepository.class);
     
@@ -108,171 +92,19 @@
      * The name of the rules repository within the JCR repository
      */
     public final static String RULES_REPOSITORY_NAME = "drools:repository";
-    
-    private Repository repository;
+
     private Session session;
 
     /**
-     * This will create the JCR repository automatically if it does not already exist.  
-     * It will call setupRepository() to attempt to setup the repository, in case
-     * it has not already been setup.  
+     * This requires a JCR session be setup, and the repository be configured.
      */
-    public RulesRepository() {
-        this(false);
+    public RulesRepository(Session session) {
+        this.session = session;
     }
-    
-    /**
-     * This will create the JCR repository automatically if it does not already exist.  
-     * It will call setupRepository() to attempt to setup the repository, in case
-     * it has not already been setup.
-     *   
-     * @param clearRepository whether or not to erase the contents of the rules repository
-     *                        portion of the JCR repository 
-     */
-    public RulesRepository(boolean clearRepository) {       
-        try {
-            //TODO: probably want to do something more serious than automatic creation of a 
-            //      transientRepository here.  (e.g. manual creation of the repository to be 
-            //      JCR implementation neutral). be sure to update the javadoc
-            repository = new TransientRepository();
-            session = repository.login(
-                                       new SimpleCredentials("username", "password".toCharArray()));
 
-            if(this.session == null) {
-                log.error("LOGIN FAILED! SESSION IS NULL!");
-            }                  
-            
-            if(clearRepository) {
-                this.clearRepository();
-            }
-            
-            setupRepository();            
-        }
-        catch (Exception e) {
-            log.error("Caught Exception", e);
-        }    
-    }
     
-    /**
-     * Clears out the entire tree below the rules repository node of the JCR repository.
-     */
-    public void clearRepository() {
-        try {
-            log.info("Clearing rules repository");
-            Node node = session.getRootNode().getNode(RULES_REPOSITORY_NAME);
-            node.remove();
-        }
-        catch(PathNotFoundException e) {                
-            //doesn't exist yet. no biggie.
-        }          
-        catch(RepositoryException e) {
-            //this will happen on the first setup. no biggie.
-        }
-    }
     
-    private void registerNodeTypesFromCndFile(String cndFileName, Workspace ws) throws RulesRepositoryException, InvalidNodeTypeDefException {
-        try {
-            //Read in the CND file
-            Reader in = new InputStreamReader(this.getClass().getResourceAsStream( cndFileName ));
-            
-            // Create a CompactNodeTypeDefReader
-            CompactNodeTypeDefReader cndReader = new CompactNodeTypeDefReader(in, cndFileName);
-            
-            // Get the List of NodeTypeDef objects
-            List ntdList = cndReader.getNodeTypeDefs();
-            
-            // Get the NodeTypeManager from the Workspace.
-            // Note that it must be cast from the generic JCR NodeTypeManager to the
-            // Jackrabbit-specific implementation.
-            NodeTypeManagerImpl ntmgr = (NodeTypeManagerImpl)ws.getNodeTypeManager();
-            
-            // Acquire the NodeTypeRegistry
-            NodeTypeRegistry ntreg = ntmgr.getNodeTypeRegistry();
-            
-            // Loop through the prepared NodeTypeDefs
-            for(Iterator i = ntdList.iterator(); i.hasNext();) {                               
-                // Get the NodeTypeDef...
-                NodeTypeDef ntd = (NodeTypeDef)i.next();                                        
-                
-                log.debug("Attempting to regsiter node type named: " + ntd.getName());
-                
-                // ...and register it            
-                ntreg.registerNodeType(ntd);
-            }
-        }
-        catch(InvalidNodeTypeDefException e) {
-            log.warn("InvalidNodeTypeDefinitionException caught when trying to add node from CND file: " + cndFileName + ". This will happen if the node type was already registered. " + e);
-            throw e;
-        }
-        catch(Exception e) {
-            log.error("Caught Exception", e);
-            throw new RulesRepositoryException(e);
-        }
-    }
-    
     /**
-     * Attempts to setup the repository.  If the work that it tries to do has already been done, it 
-     * will return with modifying the repository.
-     * 
-     * @throws RulesRepositoryException     
-     */
-    protected void setupRepository() throws RulesRepositoryException {
-        try {
-            Node root = session.getRootNode();
-            Workspace ws = session.getWorkspace();
-
-            //no need to set it up again, skip it if it has.
-            boolean registered = false;
-            String uris[] = ws.getNamespaceRegistry().getURIs();            
-            for ( int i = 0; i < uris.length; i++ ) {
-                if (DROOLS_URI.equals( uris[i]) ) {
-                    registered = true;
-                }
-            }
-
-            if (!registered) {
-                ws.getNamespaceRegistry().registerNamespace("drools", DROOLS_URI);
-                
-                this.registerNodeTypesFromCndFile("/node_type_definitions/versionable_node_type.cnd", ws);
-                this.registerNodeTypesFromCndFile("/node_type_definitions/dsl_node_type.cnd", ws);            
-                this.registerNodeTypesFromCndFile("/node_type_definitions/tag_node_type.cnd", ws);
-                this.registerNodeTypesFromCndFile("/node_type_definitions/state_node_type.cnd", ws);
-                this.registerNodeTypesFromCndFile("/node_type_definitions/rule_node_type.cnd", ws);
-                this.registerNodeTypesFromCndFile("/node_type_definitions/function_node_type.cnd", ws);
-                this.registerNodeTypesFromCndFile("/node_type_definitions/rulepackage_node_type.cnd", ws);
-            }
-            
-            // Setup the rule repository node
-            Node repositoryNode = addNodeIfNew(root, RULES_REPOSITORY_NAME, "nt:folder");
-                    
-            // Setup the Rule area
-            addNodeIfNew(repositoryNode, RULE_AREA, "nt:folder");
-            
-            //Setup the Rule area
-            addNodeIfNew(repositoryNode, FUNCTION_AREA, "nt:folder");
-            
-            // Setup the RulePackageItem area        
-            addNodeIfNew(repositoryNode, RULE_PACKAGE_AREA, "nt:folder");
-            
-            // Setup the DSL area                
-            addNodeIfNew(repositoryNode, DSL_AREA, "nt:folder");
-            
-            //Setup the DSL area                
-            addNodeIfNew(repositoryNode, TAG_AREA, "nt:folder");
-            
-            //Setup the State area                
-            addNodeIfNew(repositoryNode, STATE_AREA, "nt:folder");
-            
-            session.save();                        
-        }
-        catch(Exception e) {
-            log.error("Caught Exception", e);
-            System.err.println(e.getMessage());
-            throw new RulesRepositoryException(e);
-        }
-    }
-    
-    /**
      * Will add a node named 'nodeName' of type 'type' to 'parent' if such a node does not already
      * exist.
      * 
@@ -283,7 +115,7 @@
      *         existed, a reference to the pre-existant node.
      * @throws RulesRepositoryException
      */
-    protected Node addNodeIfNew(Node parent, String nodeName, String type) throws RulesRepositoryException {              
+    protected static Node addNodeIfNew(Node parent, String nodeName, String type) throws RulesRepositoryException {              
         Node node;
         try {
             node = parent.getNode(nodeName);                
@@ -391,7 +223,7 @@
                     if(tries == 1) {
                         //hmm..repository must have gotten screwed up.  set it up again                
                         log.warn("The repository appears to have become corrupted. It will be re-setup now.");
-                        this.setupRepository();
+                        throw new RulesRepositoryException("Unable to get the main rule repo node. Repository is not setup correctly.", e);
                     }
                     else {
                         log.error("Unable to correct repository corruption");

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RepositorySession.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RepositorySession.java	2006-09-07 09:39:41 UTC (rev 6101)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RepositorySession.java	2006-09-07 11:26:55 UTC (rev 6102)
@@ -1,5 +1,10 @@
 package org.drools.repository;
 
+import javax.jcr.LoginException;
+import javax.jcr.RepositoryException;
+
+import junit.framework.Assert;
+
 import org.drools.repository.RulesRepository;
 
 public class RepositorySession {
@@ -9,7 +14,15 @@
     public static RulesRepository getRepository() {
         Object repoInstance = repo.get();
         if ( repoInstance == null ) {
-            repoInstance = new RulesRepository( true );
+            RepositoryConfigurator config = new RepositoryConfigurator(true);
+            
+            try {
+                repoInstance = new RulesRepository( config.login() );
+            } catch ( LoginException e ) {
+                Assert.fail( "Unable to login " + e.getMessage() );
+            } catch ( RepositoryException e ) {
+                Assert.fail("Repo exception when logging in: " + e.getMessage());
+            }
             repo.set( repoInstance );
             
         }

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java	2006-09-07 09:39:41 UTC (rev 6101)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java	2006-09-07 11:26:55 UTC (rev 6102)
@@ -35,8 +35,9 @@
         
     }
     
-    public void xxtestRun() throws Exception {        
-        repo = new RulesRepository(false);   
+    public void xxtestRun() throws Exception {
+        RepositoryConfigurator config = new RepositoryConfigurator(false);
+        repo = new RulesRepository(config.login());   
         
         long start = System.currentTimeMillis();
         //setupData( repo );
@@ -59,10 +60,10 @@
         
     }
     
-    /** This tests it "bare" just setting properties on node types directly. */
-    public void xxxtestBare() throws Exception {
-        hackit();
-    }
+//    /** This tests it "bare" just setting properties on node types directly. */
+//    public void xxxtestBare() throws Exception {
+//        hackit();
+//    }
 
     private List listACat(RulesRepository repo) {
         long start = System.currentTimeMillis();
@@ -138,43 +139,43 @@
     }
     
 
-    private void hackit() throws Exception {
-        
-        
-        RulesRepository repo = new RulesRepository(true);
-        Session session = repo.getSession();
-        
-        
-        Node folderNode = session.getRootNode().getNode("drools:repository/drools:rule_area");
-        
-        for (int i=1 ; i <= 50; i++) {
-            
-            System.out.println("doing: Rule " + i);
-            
-            //create the node - see section 6.7.22.6 of the spec
-            Node ruleNode = folderNode.addNode("Rule_" + i, RuleItem.RULE_NODE_TYPE_NAME );
-                        
-            ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, "Rule_" + i);
-            
-            //TODO: set this property correctly once we've figured out logging in / JAAS
-            ruleNode.setProperty(RuleItem.CONTRIBUTOR_PROPERTY_NAME, "not yet implemented");
-                        
-            ruleNode.setProperty(RuleItem.DESCRIPTION_PROPERTY_NAME, "");
-            ruleNode.setProperty(RuleItem.FORMAT_PROPERTY_NAME, RuleItem.RULE_FORMAT);
-            ruleNode.setProperty(RuleItem.LHS_PROPERTY_NAME, "LHS_" + i);
-            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, "RHS_" + i);                        
-            ruleNode.setProperty( VersionableItem.CHECKIN_COMMENT, "Initial" );
-            
-            
-            Calendar lastModified = Calendar.getInstance();
-            ruleNode.setProperty(RuleItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
-            if (i % 500 == 0) {
-                System.out.println("saving......");
-                session.save();
-                System.out.println("finished.");                
-            }
-        }
-        
-    }
+//    private void hackit() throws Exception {
+//        
+//        
+//        RulesRepository repo = new RulesRepository(true);
+//        Session session = repo.getSession();
+//        
+//        
+//        Node folderNode = session.getRootNode().getNode("drools:repository/drools:rule_area");
+//        
+//        for (int i=1 ; i <= 50; i++) {
+//            
+//            System.out.println("doing: Rule " + i);
+//            
+//            //create the node - see section 6.7.22.6 of the spec
+//            Node ruleNode = folderNode.addNode("Rule_" + i, RuleItem.RULE_NODE_TYPE_NAME );
+//                        
+//            ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, "Rule_" + i);
+//            
+//            //TODO: set this property correctly once we've figured out logging in / JAAS
+//            ruleNode.setProperty(RuleItem.CONTRIBUTOR_PROPERTY_NAME, "not yet implemented");
+//                        
+//            ruleNode.setProperty(RuleItem.DESCRIPTION_PROPERTY_NAME, "");
+//            ruleNode.setProperty(RuleItem.FORMAT_PROPERTY_NAME, RuleItem.RULE_FORMAT);
+//            ruleNode.setProperty(RuleItem.LHS_PROPERTY_NAME, "LHS_" + i);
+//            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, "RHS_" + i);                        
+//            ruleNode.setProperty( VersionableItem.CHECKIN_COMMENT, "Initial" );
+//            
+//            
+//            Calendar lastModified = Calendar.getInstance();
+//            ruleNode.setProperty(RuleItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
+//            if (i % 500 == 0) {
+//                System.out.println("saving......");
+//                session.save();
+//                System.out.println("finished.");                
+//            }
+//        }
+//        
+//    }
     
 }




More information about the jboss-svn-commits mailing list