[jboss-svn-commits] JBL Code SVN: r9001 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jan 23 21:32:45 EST 2007
Author: michael.neale at jboss.com
Date: 2007-01-23 21:32:44 -0500 (Tue, 23 Jan 2007)
New Revision: 9001
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/VersionableItem.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
Log:
JBRULES-625
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 2007-01-24 00:16:10 UTC (rev 9000)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2007-01-24 02:32:44 UTC (rev 9001)
@@ -445,11 +445,17 @@
}
}
- public void restoreHistoricalAsset(String uuid) {
- AssetItem item = loadAssetByUUID( uuid );
- Version v = (Version) item.getNode();
+ public void restoreHistoricalAsset(String versionUUID, String assetUUID, String comment) {
+ AssetItem head = loadAssetByUUID( assetUUID );
+ String oldVersionNumber = head.getVersionNumber();
+
+ AssetItem version = loadAssetByUUID( versionUUID );
+ Version v = (Version) version.getNode();
try {
this.session.getWorkspace().restore( new Version[] {v}, false );
+ AssetItem newHead = loadAssetByUUID( assetUUID );
+ newHead.updateStringProperty( oldVersionNumber, VersionableItem.VERSION_NUMBER_PROPERTY_NAME );
+ newHead.checkin( comment );
} catch ( RepositoryException e ) {
log.error( "Unable to restore version of asset.", e );
throw new RulesRepositoryException(e);
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 2007-01-24 00:16:10 UTC (rev 9000)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/VersionableItem.java 2007-01-24 02:32:44 UTC (rev 9001)
@@ -8,6 +8,7 @@
import javax.jcr.RepositoryException;
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.Value;
+import javax.jcr.version.Version;
import org.drools.repository.util.VersionNumberGenerator;
@@ -464,7 +465,7 @@
*/
public String getName() {
try {
- return getVersionContentNode().getName();
+ return getVersionContentNode().getName();
} catch ( RepositoryException e ) {
throw new RulesRepositoryException( e );
}
@@ -702,7 +703,7 @@
public Calendar getCreatedDate() {
Property prop;
try {
- prop = getVersionContentNode().getProperty( "jcr:created" );
+ prop = this.node.getProperty( "jcr:created" );
return prop.getDate();
} catch ( RepositoryException e ) {
throw new RulesRepositoryException( e );
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 2007-01-24 00:16:10 UTC (rev 9000)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java 2007-01-24 02:32:44 UTC (rev 9001)
@@ -6,6 +6,7 @@
import javax.jcr.PathNotFoundException;
import javax.jcr.version.Version;
+import javax.jcr.version.VersionIterator;
import junit.framework.TestCase;
@@ -68,7 +69,7 @@
}
- public void testUpdateContent() {
+ public void testUpdateContent() throws Exception {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testUpdateContent", "test description");
ruleItem1.updateContent( "test content" );
ruleItem1.checkin( "yeah" );
@@ -88,6 +89,20 @@
assertEquals(prev, ruleItem1.getPrecedingVersion());
+
+ ruleItem1 = getDefaultPackage().loadAsset( "testUpdateContent" );
+ VersionIterator it = ruleItem1.getNode().getVersionHistory().getAllVersions();
+
+ // and this shows using a version iterator.
+ // perhaps migrate to using this rather then next/prev methods.
+ //this way, we can skip.
+ assertTrue(it.hasNext());
+ while (it.hasNext()) {
+ Version n = it.nextVersion();
+ AssetItem item = new AssetItem(ruleItem1.getRulesRepository(), n);
+ assertNotNull(item);
+
+ }
}
@@ -361,6 +376,8 @@
ruleItem1.addCategory( "foo" );
ruleItem1.updateContent( "test content" );
+ ruleItem1.updateDescription( "descr2" );
+ Thread.sleep( 100 );
ruleItem1.checkin( "boo" );
AssetItem predecessorRuleItem = (AssetItem) ruleItem1.getPrecedingVersion();
@@ -368,8 +385,17 @@
//check version handling
assertNotNull(predecessorRuleItem.getVersionSnapshotUUID());
- assertFalse(predecessorRuleItem.getVersionSnapshotUUID().equals( ruleItem1.getUUID() ));
+ assertFalse(predecessorRuleItem.getVersionSnapshotUUID().equals( ruleItem1.getUUID() ));
+
+ //assertEquals(predecessorRuleItem.getCreatedDate().getTimeInMillis(), ruleItem1.getCreatedDate().getTimeInMillis());
+
+
+ assertEquals(ruleItem1.getState().getName(), predecessorRuleItem.getState().getName());
+ //assertEquals(ruleItem1.getName(), predecessorRuleItem.getName());
+
+
+
AssetItem loadedHistorical = getRepo().loadAssetByUUID( predecessorRuleItem.getVersionSnapshotUUID() );
assertTrue(loadedHistorical.isHistoricalVersion());
assertFalse(ruleItem1.getVersionNumber().equals(loadedHistorical.getVersionNumber()));
@@ -384,7 +410,7 @@
assertEquals("foo", cat.getName());
assertEquals("test content", predecessorRuleItem.getContent());
- assertEquals("descr", predecessorRuleItem.getDescription());
+
assertEquals("default", predecessorRuleItem.getPackageName());
ruleItem1.updateContent("newer lhs");
@@ -399,13 +425,18 @@
//now try restoring
String oldVersionUUID = predecessorRuleItem.getVersionSnapshotUUID();
+ String oldVersionNumber = ruleItem1.getVersionNumber();
- getRepo().restoreHistoricalAsset( oldVersionUUID );
+ getRepo().restoreHistoricalAsset( oldVersionUUID, ruleItem1.getUUID(), "cause I want to" );
+
AssetItem restored = getRepo().loadDefaultPackage().loadAsset( "testGetPrecedingVersion" );
- assertEquals( predecessorRuleItem.getCheckinComment(), restored.getCheckinComment());
-
+ //assertEquals( predecessorRuleItem.getCheckinComment(), restored.getCheckinComment());
+ assertEquals(predecessorRuleItem.getDescription(), restored.getDescription());
+ assertEquals("cause I want to", restored.getCheckinComment());
+ assertEquals("5", restored.getVersionNumber());
+ assertFalse(oldVersionNumber.equals( restored.getVersionNumber() ));
}
public void testGetSucceedingVersion() {
More information about the jboss-svn-commits
mailing list