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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 18 11:45:23 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-09-18 11:45:12 -0400 (Mon, 18 Sep 2006)
New Revision: 6277

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
   labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rule_node_type.cnd
   labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_node_type.cnd
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
Log:
lotsa refactoring !

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RuleItem.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -8,8 +8,6 @@
 import javax.jcr.Node;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.Property;
-import javax.jcr.RepositoryException;
-import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
 
 import org.apache.log4j.Logger;
@@ -38,22 +36,17 @@
      */
     public static final String RULE_NODE_TYPE_NAME = "drools:ruleNodeType";
     
+    public static final String RULE_CONTENT_PROPERTY_NAME = "drools:content";
+
+    public static final String RULE_CONTENT_URI_PROPERTY_NAME = "drools:contentURI";
+        
+    
     /**
      * The name of the state property on the rule node type
      */
     public static final String STATE_PROPERTY_NAME = "drools:stateReference";                 
     
     /**
-     * The name of the lhs property on the rule node type
-     */
-    public static final String LHS_PROPERTY_NAME = "drools:lhs";
-    
-    /**
-     * The name of the rhs property on the rule node type
-     */
-    public static final String RHS_PROPERTY_NAME = "drools:rhs";
-    
-    /**
      * The name of the date effective property on the rule node type
      */
     public static final String DATE_EFFECTIVE_PROPERTY_NAME = "drools:dateEffective";
@@ -94,17 +87,12 @@
     }
     
     /**
-     * returns the lhs of this object's rule node
-     * 
-     * @return the lhs of this object's rule node
-     * @throws RulesRepositoryException
+     * returns the contents of the rule node
      */
-    public String getLhs() throws RulesRepositoryException {
+    public String getRuleContent() throws RulesRepositoryException {
         try {                        
             Node ruleNode = getVersionContentNode();
-            
-            //grab the lhs of the node and dump it into a string            
-            Property data = ruleNode.getProperty(LHS_PROPERTY_NAME);
+            Property data = ruleNode.getProperty(RULE_CONTENT_PROPERTY_NAME);
             return data.getValue().getString();
         }
         catch(Exception e) {
@@ -114,18 +102,21 @@
     }
     
     /**
-     * returns the rhs of this object's rule node
-     * 
-     * @return the rhs of this object's rule node
-     * @throws RulesRepositoryException
+     * returns the URI for where the rules content is stored.
+     * Rule content may be stored in an external repository, 
+     * such as subversion. This URI will contain information for
+     * how to get to the exact version that maps to this rule node.
      */
-    public String getRhs() throws RulesRepositoryException {
+    public String getRuleContentURI() throws RulesRepositoryException {
         try {                        
             Node ruleNode = getVersionContentNode();
+            if (ruleNode.hasProperty( RULE_CONTENT_URI_PROPERTY_NAME )) {
+                Property data = ruleNode.getProperty(RULE_CONTENT_URI_PROPERTY_NAME);
+                return data.getValue().getString();
+            } else {
+                return "";
+            }
             
-            //grab the lhs of the node and dump it into a string            
-            Property data = ruleNode.getProperty(RHS_PROPERTY_NAME);
-            return data.getValue().getString();
         }
         catch(Exception e) {
             log.error("Caught Exception", e);
@@ -243,20 +234,15 @@
     }
     
     /**
-     * Creates a new version of this object's rule node, updating the lhs content for the
-     * rule node. 
-     * 
-     * @param lhs the new lhs content for the rule
-     * @throws RulesRepositoryException
+     * This will update the rules content (checking it out if it is not already).
+     * This will not save the session or create a new version of the node 
+     * (this has to be done seperately, as several properties may change as part of one edit).
      */
-    public RuleItem updateLhs(String newLhsContent) throws RulesRepositoryException {
-        checkout();
-        
+    public RuleItem updateRuleContent(String newRuleContent) throws RulesRepositoryException {
+        checkout();        
         try {                                    
-            this.node.setProperty(LHS_PROPERTY_NAME, newLhsContent);
-            
-            Calendar lastModified = Calendar.getInstance();
-            this.node.setProperty(LAST_MODIFIED_PROPERTY_NAME, lastModified);
+            this.node.setProperty(RULE_CONTENT_PROPERTY_NAME, newRuleContent);
+            this.node.setProperty(LAST_MODIFIED_PROPERTY_NAME, Calendar.getInstance());
             return this;
         }
         catch(Exception e) {
@@ -265,21 +251,13 @@
         }
     }
     
-    /**
-     * Creates a new version of this object's rule node, updating the rhs content for the
-     * rule node. 
-     * 
-     * @param lhs the new rhs content for the rule
-     * @throws RulesRepositoryException
-     */
-    public void updateRhs(String newRhsContent) throws RulesRepositoryException {
+
+    public void updateRuleContentURI(String newURI) throws RulesRepositoryException {
         checkout();
         
         try {                                    
-            this.node.setProperty(RHS_PROPERTY_NAME, newRhsContent);
-            
-            Calendar lastModified = Calendar.getInstance();
-            this.node.setProperty(LAST_MODIFIED_PROPERTY_NAME, lastModified);
+            this.node.setProperty(RULE_CONTENT_URI_PROPERTY_NAME, newURI);
+            this.node.setProperty(LAST_MODIFIED_PROPERTY_NAME, Calendar.getInstance());
 
         }
         catch(Exception e) {
@@ -301,6 +279,8 @@
             //make sure this object's node is the head version
             checkIsUpdateable();                                       
             
+            
+            
             CategoryItem tagItem = this.rulesRepository.loadCategory(tag);
                                     
             //now set the tag property of the rule
@@ -415,7 +395,7 @@
     }
     
     /**
-     * Gets a list of TagItem objects for this object's rule node.
+     * Gets a list of CategoryItem objects for this object's rule node.
      * 
      * @return a list of TagItem objects for each tag on the rule. If there are no tags, an empty list. 
      * @throws RulesRepositoryException
@@ -542,8 +522,8 @@
         try {
             StringBuffer returnString = new StringBuffer();
             returnString.append("Content of rule item named '" + this.getName() + "':\n");
-            returnString.append("LHS: " + this.getLhs() + "\n");
-            returnString.append("RHS: " + this.getRhs() + "\n");
+            returnString.append("Content: " + this.getRuleContent() + "\n");
+            returnString.append("Content URI: " + this.getRuleContentURI() + "\n");
             returnString.append("------\n");
             
             returnString.append("Date Effective: " + this.getDateEffective() + "\n");
@@ -571,8 +551,7 @@
             return returnString.toString();
         }
         catch(Exception e) {         
-            log.error("Caught Exception", e);
-            return null;
+            throw new RulesRepositoryException(e);
         }
     }
         

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulePackageItem.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -431,7 +431,6 @@
         try {            
             StringBuffer returnString = new StringBuffer();
             returnString.append("Content of the rule package named " + this.node.getName() + ":");
-            returnString.append("Contributor: " + this.getContributor() + "\n");
             returnString.append("Description: " + this.getDescription() + "\n");
             returnString.append("Format: " + this.getFormat() + "\n");
             returnString.append("Last modified: " + this.getLastModified() + "\n");

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-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -261,8 +261,6 @@
             
             dslNode.setProperty(DslItem.TITLE_PROPERTY_NAME, name);
             
-            //TODO: set this property correctly once we've figured out logging in / JAAS
-            dslNode.setProperty(DslItem.CONTRIBUTOR_PROPERTY_NAME, "not yet implemented");
                         
             dslNode.setProperty(DslItem.DESCRIPTION_PROPERTY_NAME, "");
             dslNode.setProperty(DslItem.FORMAT_PROPERTY_NAME, DslItem.DSL_FORMAT);
@@ -308,8 +306,6 @@
             functionNode.setProperty(FunctionItem.CONTENT_PROPERTY_NAME, content);
             functionNode.setProperty(FunctionItem.DESCRIPTION_PROPERTY_NAME, "");
             
-            //TODO: set contributor correctly
-            functionNode.setProperty(FunctionItem.CONTRIBUTOR_PROPERTY_NAME, "");
             
             functionNode.setProperty(FunctionItem.FORMAT_PROPERTY_NAME, FunctionItem.FUNCTION_FORMAT);
             
@@ -356,9 +352,6 @@
             functionNode.setProperty(FunctionItem.DESCRIPTION_PROPERTY_NAME, description);
             functionNode.setProperty(FunctionItem.FORMAT_PROPERTY_NAME, FunctionItem.FUNCTION_FORMAT);
             
-            //TODO: set contributor correctly
-            functionNode.setProperty(FunctionItem.CONTRIBUTOR_PROPERTY_NAME, "");
-            
             Calendar lastModified = Calendar.getInstance();
             functionNode.setProperty(FunctionItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
             
@@ -393,7 +386,7 @@
      * @return a RuleItem object encapsulating the node that gets added
      * @throws RulesRepositoryException
      */
-    public RuleItem addRule(String ruleName, String lhsContent, String rhsContent, DslItem dslItem, boolean followDslHead) throws RulesRepositoryException {
+    public RuleItem addRule(String ruleName, String ruleContent, DslItem dslItem, boolean followDslHead) throws RulesRepositoryException {
         Node folderNode = this.getAreaNode(RULE_AREA);        
         
         try {        
@@ -401,13 +394,10 @@
             Node ruleNode = folderNode.addNode(ruleName, RuleItem.RULE_NODE_TYPE_NAME);
                         
             ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, ruleName);
-            ruleNode.setProperty(RuleItem.LHS_PROPERTY_NAME, lhsContent);
-            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, rhsContent);
+            ruleNode.setProperty(RuleItem.RULE_CONTENT_PROPERTY_NAME, ruleContent);
             ruleNode.setProperty(RuleItem.DESCRIPTION_PROPERTY_NAME, "");
             ruleNode.setProperty(RuleItem.FORMAT_PROPERTY_NAME, RuleItem.RULE_FORMAT);
             
-            //TODO: set this correctly
-            ruleNode.setProperty(RuleItem.CONTRIBUTOR_PROPERTY_NAME, "");
             
             if(followDslHead) {
                 ruleNode.setProperty(RuleItem.DSL_PROPERTY_NAME, dslItem.getNode());
@@ -439,62 +429,6 @@
         }
     }
     
-    /**
-     * Adds a Rule node in the repository using the content specified, with the specified
-     * effective and expiration dates, and referencing the specified dsl node
-     * 
-     * @param ruleName the name of the rule
-     * @param lhsContent the lhs of the rule
-     * @param rhsContent the rhs of the rule
-     * @param dslItem the DslItem object encapsuling the dsl node to assocaite this node with
-     * @param followDslHead whether or not to follow the head revision of the DSL node
-     * @param effectiveDate the date the rule becomes effective
-     * @param expiredDate the date teh rule expires
-     * @param description the description of the rule
-     * @return a RuleItem object encapsulating the node that gets added
-     * @throws RulesRepositoryException
-     */
-    public RuleItem addRule(String ruleName, String lhsContent, String rhsContent, DslItem dslItem, boolean followDslHead, Calendar effectiveDate, Calendar expiredDate, String description) throws RulesRepositoryException {
-        Node folderNode = this.getAreaNode(RULE_AREA);        
-        
-        try {        
-            //create the node - see section 6.7.22.6 of the spec
-            Node ruleNode = folderNode.addNode(ruleName, RuleItem.RULE_NODE_TYPE_NAME);
-                        
-            ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, ruleName);
-            
-            //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, description);
-            ruleNode.setProperty(RuleItem.FORMAT_PROPERTY_NAME, RuleItem.RULE_FORMAT);
-            ruleNode.setProperty(RuleItem.LHS_PROPERTY_NAME, lhsContent);
-            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, rhsContent);            
-            ruleNode.setProperty(RuleItem.DSL_PROPERTY_NAME, dslItem.getNode());
-            ruleNode.setProperty(RuleItem.DATE_EFFECTIVE_PROPERTY_NAME, effectiveDate);
-            ruleNode.setProperty(RuleItem.DATE_EXPIRED_PROPERTY_NAME, expiredDate);
-            
-            Calendar lastModified = Calendar.getInstance();
-            ruleNode.setProperty(RuleItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
-            
-            session.save();
-            
-            try {
-                ruleNode.checkin();
-            }
-            catch(UnsupportedRepositoryOperationException e) {
-                String message = "Error: Caught UnsupportedRepositoryOperationException when attempting to checkin rule: " + ruleNode.getName() + ". Are you sure your JCR repository supports versioning? ";
-                log.error(message + e);
-                throw new RulesRepositoryException(message, e);
-            }
-            
-            return new RuleItem(this, ruleNode);
-        }
-        catch(Exception e) {
-            log.error("Caught Exception", e);
-            throw new RulesRepositoryException(e);
-        }
-    }
     
     /**
      * Adds a Rule node in the repository using the content specified
@@ -505,7 +439,7 @@
      * @return a RuleItem object encapsulating the node that gets added
      * @throws RulesRepositoryException
      */
-    public RuleItem addRule(String ruleName, String lhsContent, String rhsContent) throws RulesRepositoryException {
+    public RuleItem addRule(String ruleName, String ruleContent) throws RulesRepositoryException {
         Node folderNode = this.getAreaNode(RULE_AREA);        
         
         try {        
@@ -514,13 +448,11 @@
                         
             ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, ruleName);
             
-            //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, lhsContent);
-            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, rhsContent);                        
+            ruleNode.setProperty(RuleItem.RULE_CONTENT_PROPERTY_NAME, ruleContent);
+                                    
             ruleNode.setProperty( VersionableItem.CHECKIN_COMMENT, "Initial" );
             
             
@@ -547,53 +479,6 @@
     }
     
     /**
-     * Adds a Rule node in the repository using the content specified, with the specified
-     * effective and expiration dates
-     * 
-     * @param ruleName the name of the rule
-     * @param lhsContent the lhs of the rule
-     * @param rhsContent the rhs of the rule
-     * @param effectiveDate the date the rule becomes effective
-     * @param expiredDate the date teh rule expires
-     * @return a RuleItem object encapsulating the node that gets added
-     * @throws RulesRepositoryException
-     */
-    public RuleItem addRule(String ruleName, String lhsContent, String rhsContent, Calendar effectiveDate, Calendar expiredDate) throws RulesRepositoryException {
-        Node folderNode = this.getAreaNode(RULE_AREA);        
-        
-        try {        
-            //create the node - see section 6.7.22.6 of the spec
-            Node ruleNode = folderNode.addNode(ruleName, RuleItem.RULE_NODE_TYPE_NAME);
-                        
-            ruleNode.setProperty(RuleItem.TITLE_PROPERTY_NAME, ruleName);
-
-            //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, lhsContent);
-            ruleNode.setProperty(RuleItem.RHS_PROPERTY_NAME, rhsContent);            
-            ruleNode.setProperty(RuleItem.DATE_EFFECTIVE_PROPERTY_NAME, effectiveDate);
-            ruleNode.setProperty(RuleItem.DATE_EXPIRED_PROPERTY_NAME, expiredDate);
-            
-            Calendar lastModified = Calendar.getInstance();
-            ruleNode.setProperty(RuleItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
-            
-            session.save();
-            ruleNode.checkin();
-
-            
-            return new RuleItem(this, ruleNode);
-        }
-        catch(Exception e) {
-            log.error("Caught Exception", e);
-            throw new RulesRepositoryException(e);
-        }
-    }    
-    
-    /**
      * Adds a rule package node in the repository. This node has a property called 
      * drools:rule_reference that is a multi-value reference property.  It will hold an array of 
      * references to rule nodes that are subsequently added.
@@ -611,8 +496,6 @@
             
             rulePackageNode.setProperty(RulePackageItem.TITLE_PROPERTY_NAME, name);
             
-            //TODO: set this property correctly once we've figured out logging in / JAAS
-            rulePackageNode.setProperty(RulePackageItem.CONTRIBUTOR_PROPERTY_NAME, "not yet implemented");
                         
             rulePackageNode.setProperty(RulePackageItem.DESCRIPTION_PROPERTY_NAME, "");
             rulePackageNode.setProperty(RulePackageItem.FORMAT_PROPERTY_NAME, RulePackageItem.RULE_PACKAGE_FORMAT);
@@ -649,8 +532,6 @@
             
             rulePackageNode.setProperty(RulePackageItem.TITLE_PROPERTY_NAME, name);
             
-            //TODO: set this property correctly once we've figured out logging in / JAAS
-            rulePackageNode.setProperty(RuleItem.CONTRIBUTOR_PROPERTY_NAME, "not yet implemented");
                         
             rulePackageNode.setProperty(RuleItem.DESCRIPTION_PROPERTY_NAME, description);
             rulePackageNode.setProperty(RuleItem.FORMAT_PROPERTY_NAME, RuleItem.RULE_PACKAGE_FORMAT);

Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -19,11 +19,6 @@
     public static final String TITLE_PROPERTY_NAME         = "drools:title";
 
     /**
-     * The name of the contributor property on the node type
-     */
-    public static final String CONTRIBUTOR_PROPERTY_NAME   = "drools:contributor";
-
-    /**
      * The name of the description property on the rule node type
      */
     public static final String DESCRIPTION_PROPERTY_NAME   = "drools:description";
@@ -221,23 +216,6 @@
         }
     }
 
-    /** 
-     * Gets the Contributor of the versionable node.  See the Dublin Core documentation for more
-     * explanation: http://dublincore.org/documents/dces/
-     * 
-     * @return the contributor of the node this object encapsulates
-     * @throws RulesRepositoryException
-     */
-    public String getContributor() {
-        try {
-            Property data = getVersionContentNode().getProperty( CONTRIBUTOR_PROPERTY_NAME );
-            return data.getValue().getString();
-        } catch ( Exception e ) {
-            log.error( "Caught Exception",
-                       e );
-            throw new RulesRepositoryException( e );
-        }
-    }
 
     /**
      * See the Dublin Core documentation for more
@@ -301,26 +279,7 @@
     public void updateDescription(String newDescriptionContent) throws RulesRepositoryException {
         try {
             this.node.checkout();
-        } catch ( UnsupportedRepositoryOperationException e ) {
-            String message = "";
-            try {
-                message = "Error: Caught UnsupportedRepositoryOperationException when attempting to checkout node: " + this.node.getName() + ". Are you sure your JCR repository supports versioning? ";
-                log.error( message,
-                           e );
-            } catch ( RepositoryException e1 ) {
-                log.error( "Caught Exception",
-                           e );
-                throw new RulesRepositoryException( e1 );
-            }
-            throw new RulesRepositoryException( message,
-                                                e );
-        } catch ( Exception e ) {
-            log.error( "Caught Exception",
-                       e );
-            throw new RulesRepositoryException( e );
-        }
 
-        try {
             this.node.setProperty( DESCRIPTION_PROPERTY_NAME,
                                    newDescriptionContent );
 
@@ -328,9 +287,6 @@
             this.node.setProperty( LAST_MODIFIED_PROPERTY_NAME,
                                    lastModified );
 
-            this.node.getSession().save();
-
-            this.node.checkin();
         } catch ( Exception e ) {
             log.error( "Caught Exception",
                        e );
@@ -338,6 +294,7 @@
         }
     }
 
+
     /**
      * See the Dublin Core documentation for more
      * explanation: http://dublincore.org/documents/dces/
@@ -347,13 +304,7 @@
      */
     public String getFormat() throws RulesRepositoryException {
         try {
-            Node theNode;
-            if ( this.node.getPrimaryNodeType().getName().equals( "nt:version" ) ) {
-                theNode = this.node.getNode( "jcr:frozenNode" );
-            } else {
-                theNode = this.node;
-            }
-
+            Node theNode = getVersionContentNode();
             Property data = theNode.getProperty( FORMAT_PROPERTY_NAME );
             return data.getValue().getString();
         } catch ( Exception e ) {

Modified: labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rule_node_type.cnd
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rule_node_type.cnd	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/rule_node_type.cnd	2006-09-18 15:45:12 UTC (rev 6277)
@@ -13,13 +13,15 @@
 // Supertypes
 > 'drools:versionableNodeType'
 
+
+
 // Properties:
-- drools:lhs (string)
-  mandatory
+- drools:content (string)
+- drools:contentURI (string)
+  
+// use this to capture fields which are not known ahead of time 
+- * (undefined)
 
-- drools:rhs (string)
-  mandatory
-
 - drools:dateEffective (date)
 
 - drools:dateExpired (date)

Modified: labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_node_type.cnd
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_node_type.cnd	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/main/resources/node_type_definitions/versionable_node_type.cnd	2006-09-18 15:45:12 UTC (rev 6277)
@@ -18,9 +18,6 @@
 // Properties:
 - drools:title (string)
   mandatory
-  
-- drools:contributor (string)
-  mandatory
 
 - drools:lastModified (date)
   mandatory

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/DslItemTestCase.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -32,7 +32,7 @@
         //try constructing a DslItem object with the wrong node type
         try {
             //Get a reference to a node of the incorrect type
-            RuleItem ruleItem1 = this.getRepo().addRule("test rule", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = this.getRepo().addRule("test rule", "test guts");
             
             //this should fail
             DslItem dslItem2 = new DslItem(getRepo(), ruleItem1.getNode());

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RuleItemTestCase.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -20,7 +20,7 @@
     
     public void testRuleItem() {
             //calls constructor
-            RuleItem ruleItem1 = getRepo().addRule("testRuleItem", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testRuleItem", "test content");
             
             assertNotNull(ruleItem1);
             assertNotNull(ruleItem1.getNode());
@@ -41,37 +41,37 @@
         }
     }
 
-    public void testGetLhs() {
+    public void testGetContent() {
             
-            RuleItem ruleItem1 = getRepo().addRule("testGetLhs", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetContent", "test content");
             
             assertNotNull(ruleItem1);
             assertNotNull(ruleItem1.getNode());
-            assertEquals("test lhs content", ruleItem1.getLhs());
+            assertEquals("test content", ruleItem1.getRuleContent());
     }
 
-    public void testGetRhs() {
-            RuleItem ruleItem1 = getRepo().addRule("testGetRhs", "test lhs content", "test rhs content");
-            
+    public void testGetURI() {
+            RuleItem ruleItem1 = getRepo().addRule("testGetURI", "blah");
+            ruleItem1.updateRuleContentURI( "foo/bar" );
+            ruleItem1.checkin( "ha !" );
             assertNotNull(ruleItem1);
             assertNotNull(ruleItem1.getNode());
-            assertEquals("test rhs content", ruleItem1.getRhs());
-
+            assertEquals("foo/bar", ruleItem1.getRuleContentURI());
     }
     
-    public void testUpdateLhs() {
-            RuleItem ruleItem1 = getRepo().addRule("testUpdateLhs", "test lhs content", "test rhs content");
+    public void testUpdateContent() {
+            RuleItem ruleItem1 = getRepo().addRule("testUpdateContent", "test content");
                         
-            ruleItem1.updateLhs("new lhs content");
+            ruleItem1.updateRuleContent( "new rule content");
             
-            assertEquals("new lhs content", ruleItem1.getLhs());
+            assertEquals("new rule content", ruleItem1.getRuleContent());
             
             ruleItem1.checkin( "yeah !" );
             
             assertEquals("yeah !", ruleItem1.getCheckinComment());
             
             RuleItem prev = (RuleItem) ruleItem1.getPredecessorVersionsIterator().next();
-            assertEquals("test lhs content", prev.getLhs());
+            assertEquals("test content", prev.getRuleContent());
             assertFalse("yeah !".equals(prev.getCheckinComment()));
             
             
@@ -79,18 +79,9 @@
 
     }
     
-    public void testUpdateRhs() {
-            RuleItem ruleItem1 = getRepo().addRule("testUpdateRhs", "test lhs content", "test rhs content");                        
-            ruleItem1.updateRhs("new rhs content");            
-            assertEquals("new rhs content", ruleItem1.getRhs());
-            ruleItem1.checkin( "la" );
-            RuleItem prev = (RuleItem) ruleItem1.getPrecedingVersion();
-            assertEquals("test rhs content", prev.getRhs());
-            
-    }
 
     public void testCategories() {
-            RuleItem ruleItem1 = getRepo().addRule("testAddTag", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testAddTag", "test content");
             
             getRepo().loadCategory( "/" ).addCategory( "testAddTagTestTag", "description" );
             
@@ -112,7 +103,7 @@
             RuleItem retItem = (RuleItem) result.get( 0 );
             assertEquals("testAddTag", retItem.getName());
             
-            ruleItem1.updateLhs( "foo" );
+            ruleItem1.updateRuleContent( "foo" );
             ruleItem1.checkin( "latest" );
             
             result = getRepo().findRulesByTag( "testAddTagTestTag" );
@@ -122,14 +113,14 @@
             ruleItem1 = (RuleItem) result.get( 0 );
             assertEquals(2, ruleItem1.getCategories().size());
             
-            assertEquals("foo", ruleItem1.getLhs());
+            assertEquals("foo", ruleItem1.getRuleContent());
             RuleItem prev = (RuleItem) ruleItem1.getPrecedingVersion();
             assertNotNull(prev);
             
     }
 
     public void testRemoveTag() {
-            RuleItem ruleItem1 = getRepo().addRule("testRemoveTag", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testRemoveTag", "test content");
             
             getRepo().loadCategory( "/" ).addCategory( "TestRemoveCategory", "description" );
             
@@ -152,7 +143,7 @@
     }
 
     public void testGetTags() {
-            RuleItem ruleItem1 = getRepo().addRule("testGetTags", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetTags", "test content");
            
             List tags = ruleItem1.getCategories();
             assertNotNull(tags);
@@ -168,7 +159,7 @@
     }
 
     public void testSetStateString() {
-            RuleItem ruleItem1 = getRepo().addRule("testSetStateString", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testSetStateString", "test content");
            
             ruleItem1.setState("TestState1");
             assertNotNull(ruleItem1.getState());
@@ -181,7 +172,7 @@
     }
 
     public void testSetStateStateItem() {
-            RuleItem ruleItem1 = getRepo().addRule("testSetStateStateItem", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testSetStateStateItem", "test content");
            
             StateItem stateItem1 = getRepo().getState("TestState1");
             ruleItem1.setState(stateItem1);            
@@ -196,7 +187,7 @@
     }
 
     public void testGetState() {
-            RuleItem ruleItem1 = getRepo().addRule("testGetState", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetState", "test content");
            
             StateItem stateItem1 = ruleItem1.getState();
             assertNull(stateItem1);
@@ -207,19 +198,19 @@
     }
 
     public void testToString() {
-            RuleItem ruleItem1 = getRepo().addRule("testToString", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testToString", "test content");
            
             assertNotNull(ruleItem1.toString());                        
 
     }
     
     public void testGetLastModified() {
-            RuleItem ruleItem1 = getRepo().addRule("testGetLastModified", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetLastModified", "test content");
            
             Calendar cal = Calendar.getInstance();
             long before = cal.getTimeInMillis();           
             
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new lhs");
             ruleItem1.checkin( "woot" );
             Calendar cal2 = ruleItem1.getLastModified();
             long lastMod = cal2.getTimeInMillis();           
@@ -234,7 +225,7 @@
     
     public void testGetDateEffective() {
 
-            RuleItem ruleItem1 = getRepo().addRule("testGetDateEffective", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetDateEffective", "test content");
            
             //it should be initialized to null
             assertTrue(ruleItem1.getDateEffective() == null);
@@ -249,7 +240,7 @@
     
     public void testGetDateExpired() {
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetDateExpired", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetDateExpired", "test content");
            
             //it should be initialized to null
             assertTrue(ruleItem1.getDateExpired() == null);
@@ -268,7 +259,7 @@
     
     public void testGetRuleLanguage() {
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetRuleLanguage", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetRuleLanguage", "test content");
            
             //it should be initialized to 'DRL'
             assertEquals("DRL", ruleItem1.getRuleLanguage());                        
@@ -279,7 +270,7 @@
     }
     
     public void testSaveAndCheckinDescriptionAndTitle() throws Exception {
-            RuleItem ruleItem1 = getRepo().addRule("testGetDescription", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetDescription", "test content");
             
             //it should be "" to begin with
             assertEquals("", ruleItem1.getDescription());
@@ -290,7 +281,7 @@
             
             
             
-            assertFalse(getRepo().getSession().hasPendingChanges());
+            assertTrue(getRepo().getSession().hasPendingChanges());
             
             ruleItem1.updateTitle( "This is a title" );
             assertTrue(getRepo().getSession().hasPendingChanges());
@@ -313,51 +304,51 @@
     }
     
     public void testGetPrecedingVersion() {
-            RuleItem ruleItem1 = getRepo().addRule("testGetPrecedingVersion", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetPrecedingVersion", "test content");
             
             RuleItem predecessorRuleItem = (RuleItem) ruleItem1.getPrecedingVersion();
             assertTrue(predecessorRuleItem == null);            
             
-            ruleItem1.updateLhs("new lhs");
-            ruleItem1.updateRhs( "hola" );
+            ruleItem1.updateRuleContent("new content");
+            ruleItem1.updateRuleContentURI( "foobar" );
             ruleItem1.checkin( "two changes" );
             
             
             predecessorRuleItem = (RuleItem) ruleItem1.getPrecedingVersion();
             assertNotNull(predecessorRuleItem);
-            assertEquals("test lhs content", predecessorRuleItem.getLhs());
-            assertEquals("test rhs content", predecessorRuleItem.getRhs());
+            assertEquals("test content", predecessorRuleItem.getRuleContent());
             
             
             
-            ruleItem1.updateLhs("newer lhs");
+            
+            ruleItem1.updateRuleContent("newer lhs");
             ruleItem1.checkin( "another" );
             
             predecessorRuleItem = (RuleItem) ruleItem1.getPrecedingVersion();
             assertNotNull(predecessorRuleItem);
-            assertEquals("new lhs", predecessorRuleItem.getLhs());
+            assertEquals("new content", predecessorRuleItem.getRuleContent());
             predecessorRuleItem = (RuleItem) predecessorRuleItem.getPrecedingVersion();
             assertNotNull(predecessorRuleItem);
-            assertEquals("test lhs content", predecessorRuleItem.getLhs());
+            assertEquals("test content", predecessorRuleItem.getRuleContent());
  
     }
     
     public void testGetSucceedingVersion() {
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetSucceedingVersion", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetSucceedingVersion", "test content");
             
             RuleItem succeedingRuleItem = (RuleItem) ruleItem1.getSucceedingVersion();
             assertTrue(succeedingRuleItem == null);            
             
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new content");
             ruleItem1.checkin( "la" );
             
             
             RuleItem predecessorRuleItem = (RuleItem) ruleItem1.getPrecedingVersion();
-            assertEquals("test lhs content", predecessorRuleItem.getLhs());
+            assertEquals("test content", predecessorRuleItem.getRuleContent());
             succeedingRuleItem = (RuleItem) predecessorRuleItem.getSucceedingVersion();
             assertNotNull(succeedingRuleItem);
-            assertEquals(ruleItem1.getLhs(), succeedingRuleItem.getLhs());                       
+            assertEquals(ruleItem1.getRuleContent(), succeedingRuleItem.getRuleContent());                       
         }        
         catch(Exception e) {
             fail("Caught unexpected exception: " + e);
@@ -366,13 +357,13 @@
     
     public void testGetSuccessorVersionsIterator() {
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetSuccessorVersionsIterator", "test lhs content", "test rhs content");                        
+            RuleItem ruleItem1 = getRepo().addRule("testGetSuccessorVersionsIterator", "test content");                        
             
             Iterator iterator = ruleItem1.getSuccessorVersionsIterator();            
             assertNotNull(iterator);
             assertFalse(iterator.hasNext());
             
-            ruleItem1.updateLhs("new lhs").checkin( "ya" );
+            ruleItem1.updateRuleContent("new content").checkin( "ya" );
             
             
             iterator = ruleItem1.getSuccessorVersionsIterator();            
@@ -384,20 +375,20 @@
             assertNotNull(iterator);
             assertTrue(iterator.hasNext());
             RuleItem nextRuleItem = (RuleItem) iterator.next();
-            assertEquals("new lhs", nextRuleItem.getLhs());
+            assertEquals("new content", nextRuleItem.getRuleContent());
             assertFalse(iterator.hasNext());
             
-            ruleItem1.updateLhs("newer lhs");
+            ruleItem1.updateRuleContent("newer content");
             ruleItem1.checkin( "boo" );
                         
             iterator = predecessorRuleItem.getSuccessorVersionsIterator();
             assertNotNull(iterator);
             assertTrue(iterator.hasNext());
             nextRuleItem = (RuleItem) iterator.next();
-            assertEquals("new lhs", nextRuleItem.getLhs());
+            assertEquals("new content", nextRuleItem.getRuleContent());
             assertTrue(iterator.hasNext());
             nextRuleItem = (RuleItem)iterator.next();
-            assertEquals("newer lhs", nextRuleItem.getLhs());
+            assertEquals("newer content", nextRuleItem.getRuleContent());
             assertFalse(iterator.hasNext());            
         }
         catch(Exception e) {
@@ -407,13 +398,13 @@
     
     public void testGetPredecessorVersionsIterator() {
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetPredecessorVersionsIterator", "test lhs content", "test rhs content");                        
+            RuleItem ruleItem1 = getRepo().addRule("testGetPredecessorVersionsIterator", "test content");                        
             
             Iterator iterator = ruleItem1.getPredecessorVersionsIterator();            
             assertNotNull(iterator);
             assertFalse(iterator.hasNext());
             
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new content");
             ruleItem1.checkin( "boo" );
             
             iterator = ruleItem1.getPredecessorVersionsIterator();            
@@ -421,9 +412,9 @@
             assertTrue(iterator.hasNext());
             RuleItem nextRuleItem = (RuleItem) iterator.next();
             assertFalse(iterator.hasNext());
-            assertEquals("test lhs content", nextRuleItem.getLhs());
+            assertEquals("test content", nextRuleItem.getRuleContent());
             
-            ruleItem1.updateLhs("newer lhs");
+            ruleItem1.updateRuleContent("newer content");
             ruleItem1.checkin( "wee" );
             
             
@@ -432,10 +423,10 @@
             assertTrue(iterator.hasNext());
             nextRuleItem = (RuleItem) iterator.next();
             assertTrue(iterator.hasNext());            
-            assertEquals("new lhs", nextRuleItem.getLhs());
+            assertEquals("new content", nextRuleItem.getRuleContent());
             nextRuleItem = (RuleItem) iterator.next();
             assertFalse(iterator.hasNext());
-            assertEquals("test lhs content", nextRuleItem.getLhs());
+            assertEquals("test content", nextRuleItem.getRuleContent());
         }
         catch(Exception e) {
             fail("Caught unexpected exception: " + e);
@@ -444,7 +435,7 @@
     
     public void testGetTitle() {    
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetTitle", "test lhs content", "test rhs content");            
+            RuleItem ruleItem1 = getRepo().addRule("testGetTitle", "test content");            
                         
             assertEquals("testGetTitle", ruleItem1.getTitle());
         }
@@ -455,7 +446,7 @@
     
     public void testGetFormat() {        
         try {
-            RuleItem ruleItem1 = getRepo().addRule("testGetFormat", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetFormat", "test content");
             
             assertEquals("Rule", ruleItem1.getFormat());            
         }

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulePackageItemTestCase.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -60,7 +60,7 @@
     public void testAddRuleRuleItem() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testAddRuleRuleItem");
             
-            RuleItem ruleItem1 = getRepo().addRule("testAddRuleRuleItem", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testAddRuleRuleItem", "test content");
             
             rulePackageItem1.addRule(ruleItem1);
             
@@ -70,14 +70,14 @@
             assertEquals("testAddRuleRuleItem", ((RuleItem)rules.get(0)).getName());
             
             //test that it is following the head revision                        
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new lhs");
             rules = rulePackageItem1.getRules();
             assertNotNull(rules);
             assertEquals(1, rules.size());
             assertEquals("testAddRuleRuleItem", ((RuleItem)rules.get(0)).getName());
-            assertEquals("new lhs", ((RuleItem)rules.get(0)).getLhs());
+            assertEquals("new lhs", ((RuleItem)rules.get(0)).getRuleContent());
                         
-            RuleItem ruleItem2 = getRepo().addRule("testAddRuleRuleItem2", "test lhs content", "test rhs content");
+            RuleItem ruleItem2 = getRepo().addRule("testAddRuleRuleItem2", "test content");
             rulePackageItem1.addRule(ruleItem2);
             
             rules = rulePackageItem1.getRules();
@@ -89,7 +89,7 @@
     public void testAddRuleRuleItemBoolean() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testAddRuleRuleItemBoolean");
             
-            RuleItem ruleItem1 = getRepo().addRule("testAddRuleRuleItemBoolean", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testAddRuleRuleItemBoolean", "test content");
             
             rulePackageItem1.addRule(ruleItem1, true);
             
@@ -99,14 +99,14 @@
             assertEquals("testAddRuleRuleItemBoolean", ((RuleItem)rules.get(0)).getName());
             
             //test that it is following the head revision                        
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new lhs");
             rules = rulePackageItem1.getRules();
             assertNotNull(rules);
             assertEquals(1, rules.size());
             assertEquals("testAddRuleRuleItemBoolean", ((RuleItem)rules.get(0)).getName());
-            assertEquals("new lhs", ((RuleItem)rules.get(0)).getLhs());
+            assertEquals("new lhs", ((RuleItem)rules.get(0)).getRuleContent());
             
-            RuleItem ruleItem2 = getRepo().addRule("testAddRuleRuleItemBoolean2", "test lhs content", "test rhs content");
+            RuleItem ruleItem2 = getRepo().addRule("testAddRuleRuleItemBoolean2", "test lhs content");
             rulePackageItem1.addRule(ruleItem2);
             
             rules = rulePackageItem1.getRules();
@@ -115,20 +115,20 @@
             
             //test not following the head revision
             rulePackageItem1.removeAllRules();
-            RuleItem ruleItem3 = getRepo().addRule("testAddRuleRuleItemBoolean3", "test lhs content", "test rhs content");
+            RuleItem ruleItem3 = getRepo().addRule("testAddRuleRuleItemBoolean3", "test lhs content");
             
             rulePackageItem1.addRule(ruleItem3, false);
             
             rules = rulePackageItem1.getRules();
             assertNotNull(rules);
             assertEquals(1, rules.size());
-            assertEquals("test lhs content", ((RuleItem)rules.get(0)).getLhs());
+            assertEquals("test lhs content", ((RuleItem)rules.get(0)).getRuleContent());
                                     
-            ruleItem3.updateLhs("new lhs");
+            ruleItem3.updateRuleContent("new lhs");
             rules = rulePackageItem1.getRules();
             assertNotNull(rules);
             assertEquals(1, rules.size());
-            assertEquals("test lhs content", ((RuleItem)rules.get(0)).getLhs());
+            assertEquals("test lhs content", ((RuleItem)rules.get(0)).getRuleContent());
 
     }
 
@@ -231,7 +231,7 @@
     public void testGetRules() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testGetRules");
                         
-            RuleItem ruleItem1 = getRepo().addRule("testGetRules", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testGetRules", "test lhs content" );
             
             rulePackageItem1.addRule(ruleItem1);
             
@@ -240,7 +240,7 @@
             assertEquals(1, rules.size());
             assertEquals("testGetRules", ((RuleItem)rules.get(0)).getName());
                                   
-            RuleItem ruleItem2 = getRepo().addRule("testGetRules2", "test lhs content", "test rhs content");
+            RuleItem ruleItem2 = getRepo().addRule("testGetRules2", "test lhs content" );
             rulePackageItem1.addRule(ruleItem2);
             
             rules = rulePackageItem1.getRules();
@@ -252,7 +252,7 @@
     public void testToString() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testToStringPackage");
             
-            RuleItem ruleItem1 = getRepo().addRule("testToStringPackage", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testToStringPackage", "test lhs content" );
             
             rulePackageItem1.addRule(ruleItem1);
             assertNotNull(rulePackageItem1.toString());                        
@@ -262,7 +262,7 @@
     public void testRemoveRule() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testRemoveRule");
             
-            RuleItem ruleItem1 = getRepo().addRule("testRemoveRule", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testRemoveRule", "test lhs content" );
             
             rulePackageItem1.addRule(ruleItem1);
             
@@ -271,14 +271,14 @@
             assertEquals(1, rules.size());
             assertEquals("testRemoveRule", ((RuleItem)rules.get(0)).getName());
                                     
-            ruleItem1.updateLhs("new lhs");
+            ruleItem1.updateRuleContent("new lhs");
             rules = rulePackageItem1.getRules();
             assertNotNull(rules);
             assertEquals(1, rules.size());
             assertEquals("testRemoveRule", ((RuleItem)rules.get(0)).getName());
-            assertEquals("new lhs", ((RuleItem)rules.get(0)).getLhs());
+            assertEquals("new lhs", ((RuleItem)rules.get(0)).getRuleContent());
             
-            RuleItem ruleItem2 = getRepo().addRule("testRemoveRule2", "test lhs content", "test rhs content");
+            RuleItem ruleItem2 = getRepo().addRule("testRemoveRule2", "test lhs content" );
             rulePackageItem1.addRule(ruleItem2);
             
             //remove the rule, make sure the other rule in the pacakge stays around
@@ -298,7 +298,7 @@
     public void testRemoveAllRules() {
             RulePackageItem rulePackageItem1 = getRepo().createRulePackage("testRemoveAllRules");
             
-            RuleItem ruleItem1 = getRepo().addRule("testRemoveAllRules", "test lhs content", "test rhs content");
+            RuleItem ruleItem1 = getRepo().addRule("testRemoveAllRules", "test lhs content" );
             
             rulePackageItem1.addRule(ruleItem1);
             

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java	2006-09-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTestCase.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -26,7 +26,7 @@
             DslItem dslItem1 = rulesRepository.addDsl("testAddRuleDslItemBoolean", "original content");
             assertNotNull(dslItem1);
             
-            RuleItem ruleItem1 = rulesRepository.addRule("testAddRuleDslItemBoolean", "test lhs content", "test rhs content", dslItem1, true);
+            RuleItem ruleItem1 = rulesRepository.addRule("testAddRuleDslItemBoolean", "test lhs content", dslItem1, true);
             
             assertNotNull(ruleItem1);
             assertNotNull(ruleItem1.getNode());
@@ -41,7 +41,7 @@
             assertEquals(dslItem1.getContent(), ruleItem1.getDsl().getContent());
             
             //now do the same thing, but test not following head:                                    
-            RuleItem ruleItem2 = rulesRepository.addRule("testAddRuleDslItemBoolean2", "test lhs content", "test rhs content", dslItem1, false);
+            RuleItem ruleItem2 = rulesRepository.addRule("testAddRuleDslItemBoolean2", "test lhs content", dslItem1, false);
             
             assertNotNull(ruleItem2);
             assertNotNull(ruleItem2.getNode());
@@ -63,59 +63,15 @@
             Calendar effectiveDate = Calendar.getInstance();
             Calendar expiredDate = Calendar.getInstance();
             expiredDate.setTimeInMillis(effectiveDate.getTimeInMillis() + (1000 * 60 * 60 * 24));
-            RuleItem ruleItem1 = rulesRepository.addRule("testAddRuleCalendarCalendar", "test lhs content", "test rhs content", effectiveDate, expiredDate);
+            RuleItem ruleItem1 = rulesRepository.addRule("testAddRuleCalendarCalendar", "test lhs content");
+            ruleItem1.updateDateEffective( effectiveDate );
+            ruleItem1.updateDateExpired( expiredDate );
             
             assertNotNull(ruleItem1);
             assertNotNull(ruleItem1.getNode());
             assertEquals(effectiveDate, ruleItem1.getDateEffective());
             assertEquals(expiredDate, ruleItem1.getDateExpired());                       
     }
-    
-    public void testAddRuleDslItemBooleanCalendarCalendar() {
-        RulesRepository rulesRepository = RepositorySession.getRepository();
-            DslItem dslItem1 = rulesRepository.addDsl("testAddRuleDslItemBooleanCalendarCalendar", "content here");
-            assertNotNull(dslItem1);
-            
-            Calendar effectiveDate = Calendar.getInstance();
-            Calendar expiredDate = Calendar.getInstance();
-            expiredDate.setTimeInMillis(effectiveDate.getTimeInMillis() + (1000 * 60 * 60 * 24));
-            
-            RuleItem ruleItem1 = rulesRepository.addRule("testAddRuleDslItemBooleanCalendarCalendar", "test lhs content", "test rhs content", dslItem1, true, effectiveDate, expiredDate, "test description");
-            
-            assertNotNull(ruleItem1);
-            assertNotNull(ruleItem1.getNode());
-            assertNotNull(ruleItem1.getDsl());
-            assertEquals(dslItem1.getContent(), ruleItem1.getDsl().getContent());
-            assertEquals(effectiveDate, ruleItem1.getDateEffective());
-            assertEquals(expiredDate, ruleItem1.getDateExpired());
-            assertEquals("test description", ruleItem1.getDescription());
-            
-            //test that this follows the head version
-            
-            dslItem1.updateContent("more content");
-            assertNotNull(ruleItem1.getNode());
-            assertNotNull(ruleItem1.getDsl());
-            assertEquals(dslItem1.getContent(), ruleItem1.getDsl().getContent());
-            
-            //now do the same thing, but test not following head:                                    
-            RuleItem ruleItem2 = rulesRepository.addRule("testAddRuleDslItemBooleanCalendarCalendar2", "test lhs content", "test rhs content", dslItem1, false, effectiveDate, expiredDate, "test description 2");
-            
-            assertNotNull(ruleItem2);
-            assertNotNull(ruleItem2.getNode());
-            assertNotNull(ruleItem2.getDsl());
-            assertEquals(dslItem1.getContent(), ruleItem2.getDsl().getContent());
-            assertEquals(effectiveDate, ruleItem2.getDateEffective());
-            assertEquals(expiredDate, ruleItem2.getDateExpired());
-            assertEquals("test description 2", ruleItem2.getDescription());
-            
-            //test that this stays tied to the specific revision of the DSL node
-            String originalContent = ruleItem2.getDsl().getContent();
-            dslItem1.updateContent("more content");
-            assertNotNull(ruleItem2.getNode());
-            assertNotNull(ruleItem2.getDsl());
-            assertEquals(originalContent, ruleItem2.getDsl().getContent());
-    }
-    
 
     public void testGetState() {
         RulesRepository rulesRepository = RepositorySession.getRepository();

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-18 15:29:00 UTC (rev 6276)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java	2006-09-18 15:45:12 UTC (rev 6277)
@@ -48,14 +48,14 @@
         
         start = System.currentTimeMillis();
         RuleItem item = (RuleItem) list.get( 0 );
-        item.updateLhs( "this is a description" );
+        item.updateRuleContent( "this is a description" );
         item.checkin( "newer" );
         System.out.println("time to update and version: " + (System.currentTimeMillis() - start));
         
         start = System.currentTimeMillis();
         item = (RuleItem) list.get( 42 );
-        item.updateLhs( "this is a description" );
-        item.updateRhs( "wooooooooooooooooooooooooooooooooooot" );
+        item.updateRuleContent( "this is a description" );
+        item.updateRuleContent( "wooooooooooooooooooooooooooooooooooot" );
         item.checkin( "latest" );
         System.out.println("time to update and version: " + (System.currentTimeMillis() - start));        
         
@@ -128,7 +128,7 @@
             System.out.println("ADDING rule: " + ruleName);
                         
             
-            RuleItem item = repo.addRule( ruleName, "Foo(bar == " + i + ")", "panic(" + i + ");" );            
+            RuleItem item = repo.addRule( ruleName, "Foo(bar == " + i + ")panic(" + i + ");" );            
             item.addCategory( cat );
             list.add( item );
             




More information about the jboss-svn-commits mailing list