[jboss-svn-commits] JBL Code SVN: r28041 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 15 06:28:06 EDT 2009


Author: michael.neale at jboss.com
Date: 2009-07-15 06:28:04 -0400 (Wed, 15 Jul 2009)
New Revision: 28041

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
   labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java
Log:
foundation for GUVNOR-414

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	2009-07-15 10:09:16 UTC (rev 28040)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java	2009-07-15 10:28:04 UTC (rev 28041)
@@ -286,6 +286,8 @@
                               PUBLISHER_PROPERTY_NAME );
     }
 
+
+
     /**
      * update a text field. This is a convenience method that just
      * uses the JCR node to set a property.
@@ -293,6 +295,14 @@
      */
     public void updateStringProperty(String value,
                                       String prop) {
+        updateStringProperty(value, prop, true);
+    }
+
+    /**
+     * optionally update last updated... 
+     */
+    public void updateStringProperty(String value,
+                                      String prop, boolean setLastUpdated) {
         try {
             checkIsUpdateable();
 
@@ -303,9 +313,11 @@
             node.checkout();
             node.setProperty( prop,
                               value );
-            Calendar lastModified = Calendar.getInstance();
-            this.node.setProperty( LAST_MODIFIED_PROPERTY_NAME,
-                                   lastModified );
+            if (setLastUpdated) {
+                Calendar lastModified = Calendar.getInstance();
+                this.node.setProperty( LAST_MODIFIED_PROPERTY_NAME,
+                                       lastModified );
+            }
 
         } catch ( Exception e ) {
             if ( e instanceof RuntimeException ) {

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2009-07-15 10:09:16 UTC (rev 28040)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java	2009-07-15 10:28:04 UTC (rev 28041)
@@ -89,6 +89,39 @@
 
     }
 
+
+    public void testUpdateStringProperty() throws Exception {
+        RulesRepository repo = getRepo();
+        PackageItem def = repo.loadDefaultPackage();
+        AssetItem asset = repo.loadDefaultPackage().addAsset("testUpdateStringProperty", "test content");
+        asset.updateContent("new content");
+        asset.checkin("");
+        Calendar lm = asset.getLastModified();
+
+        Thread.sleep(100);
+        asset.updateStringProperty("Anything", "AField");
+
+        assertEquals("Anything", asset.getStringProperty("AField"));
+        Calendar lm_ = asset.getLastModified();
+
+        assertTrue(lm_.getTimeInMillis() > lm.getTimeInMillis());
+
+        Thread.sleep(100);
+
+        asset.updateStringProperty("More", "AField", false);
+
+        assertEquals(lm_.getTimeInMillis(), asset.getLastModified().getTimeInMillis());
+
+        asset.updateContent("more content");
+        asset.checkin("");
+
+        asset = repo.loadAssetByUUID(asset.getUUID());
+        assertEquals("More", asset.getStringProperty("AField"));
+
+        
+    }
+
+
     public void testGetPackageItemHistorical() throws Exception {
         RulesRepository repo = getRepo();
         PackageItem pkg = repo.createPackage("testGetPackageItemHistorical", "");

Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java	2009-07-15 10:09:16 UTC (rev 28040)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java	2009-07-15 10:28:04 UTC (rev 28041)
@@ -19,6 +19,7 @@
         StorageEventManager.se = null;
     }
 
+
     public void testLoadEvent() {
         System.setProperty("guvnor.loadEventListener", "org.drools.repository.events.MockLoadEvent");
         LoadEvent le = StorageEventManager.loadEvent();




More information about the jboss-svn-commits mailing list