[jboss-svn-commits] JBL Code SVN: r35605 - labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 20 18:04:58 EDT 2010


Author: kurt.stam at jboss.com
Date: 2010-10-20 18:04:58 -0400 (Wed, 20 Oct 2010)
New Revision: 35605

Modified:
   labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/AssetItem.java
   labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java
Log:
fixes to workaround differences between JR and MS

Modified: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2010-10-20 21:45:42 UTC (rev 35604)
+++ labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/AssetItem.java	2010-10-20 22:04:58 UTC (rev 35605)
@@ -306,8 +306,10 @@
 		checkIsUpdateable();
 		checkout();
 		try {
-			this.node.setProperty(DATE_EFFECTIVE_PROPERTY_NAME,
+			if (newDateEffective!=null || this.node.hasProperty(DATE_EFFECTIVE_PROPERTY_NAME)) {
+				this.node.setProperty(DATE_EFFECTIVE_PROPERTY_NAME,
 					newDateEffective);
+			}
 		} catch (RepositoryException e) {
 			log.error("Caught Exception", e);
 			throw new RulesRepositoryException(e);
@@ -367,7 +369,9 @@
 		checkout();
 
 		try {
-			this.node.setProperty(DATE_EXPIRED_PROPERTY_NAME, newDateExpired);
+			if (newDateExpired!=null || this.node.hasProperty(DATE_EXPIRED_PROPERTY_NAME)) {
+				this.node.setProperty(DATE_EXPIRED_PROPERTY_NAME, newDateExpired);
+			}
 		} catch (Exception e) {
 			log.error("Caught Exception", e);
 			throw new RulesRepositoryException(e);

Modified: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java
===================================================================
--- labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java	2010-10-20 21:45:42 UTC (rev 35604)
+++ labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java	2010-10-20 22:04:58 UTC (rev 35605)
@@ -149,18 +149,14 @@
             Node ruleNode = getVersionContentNode();
             try {
                 Property tagReferenceProperty = ruleNode.getProperty( CATEGORY_PROPERTY_NAME );
-                Value[] tagValues = tagReferenceProperty.getValues();
-                for ( int i = 0; i < tagValues.length; i++ ) {
-                    try {
-                        Node tagNode = this.node.getSession().getNodeByIdentifier( tagValues[i].getString() );
-                        CategoryItem tagItem = new CategoryItem( this.rulesRepository,
-                                                                 tagNode );
-                        ac.add(tagItem);
-
-                    } catch (ItemNotFoundException e) {
-                        //ignore
-                        log.debug( "Was unable to load a category by UUID - must have been removed." );
-                    }
+                if (tagReferenceProperty.isMultiple()) {
+	                Value[] tagValues = tagReferenceProperty.getValues();
+	                for ( int i = 0; i < tagValues.length; i++ ) {
+	                	addTag(ac, tagValues[i].getString());
+	                }
+                } else {
+                	Value tagValue = tagReferenceProperty.getValue();
+                	addTag(ac, tagValue.getString());
                 }
             } catch ( PathNotFoundException e ) {
                 //the property doesn't even exist yet, so just return nothing
@@ -170,7 +166,20 @@
             throw new RulesRepositoryException( e );
         }
 	}
+	
+	private void addTag(Accum ac, String tag) throws RepositoryException {
+		try {
+            Node tagNode = this.node.getSession().getNodeByIdentifier( tag );
+            CategoryItem tagItem = new CategoryItem( this.rulesRepository,
+                                                     tagNode );
+            ac.add(tagItem);
 
+        } catch (ItemNotFoundException e) {
+            //ignore
+            log.debug( "Was unable to load a category by UUID - must have been removed." );
+        }
+	}
+
     /**
      * This will show a summary list of categories.
      */



More information about the jboss-svn-commits mailing list