Author: rhauch
Date: 2009-07-14 15:07:22 -0400 (Tue, 14 Jul 2009)
New Revision: 1112
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/session/GraphSession.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrContentHandler.java
trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrTckTest.java
Log:
DNA-479 Workspace import does not work
Resolved the final issues with the importer. The SessionCache (and GraphSession) save
methods were not properly refreshing if there were no changes. Also, the
JcrContentHandler was always saving its changes, but should only have been doing that when
used against the workspace. Once these were fixed, all of the import TCK unit tests
(related to import/export) now run successfully.
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/session/GraphSession.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/session/GraphSession.java 2009-07-14
12:59:48 UTC (rev 1111)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/session/GraphSession.java 2009-07-14
19:07:22 UTC (rev 1112)
@@ -750,13 +750,19 @@
* @throws InvalidStateException if the supplied node is no longer a node within this
cache (because it was unloaded)
*/
public void save() throws PathNotFoundException, ValidationException,
InvalidStateException {
- if (!operations.isExecuteRequired()) return;
+ if (!operations.isExecuteRequired()) {
+ // Remove all the cached items ...
+ this.root.clearChanges();
+ this.root.unload();
+ return;
+ }
if (!root.isChanged(true)) {
// Then a bunch of changes could have been made and rolled back manually, so
recompute the change state ...
root.recomputeChangedBelow();
if (!root.isChanged(true)) {
// If still no changes, then simply do a refresh ...
- refresh(false);
+ this.root.clearChanges();
+ this.root.unload();
return;
}
}
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java 2009-07-14
12:59:48 UTC (rev 1111)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrProperty.java 2009-07-14
19:07:22 UTC (rev 1112)
@@ -92,16 +92,10 @@
}
final org.jboss.dna.graph.property.Property property() throws RepositoryException {
- if (propertyInfo() == null) {
- int x = 0;
- }
return propertyInfo().getProperty();
}
JcrValue createValue( Object value ) throws RepositoryException {
- if (value == null) {
- int x = 0;
- }
return new JcrValue(context().getValueFactories(), this.cache,
payload().getPropertyType(), value);
}
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrContentHandler.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrContentHandler.java 2009-07-14
12:59:48 UTC (rev 1111)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrContentHandler.java 2009-07-14
19:07:22 UTC (rev 1112)
@@ -83,6 +83,7 @@
private final ValueFactory jcrValueFactory;
private final JcrNodeTypeManager nodeTypes;
private final javax.jcr.NamespaceRegistry jcrNamespaceRegistry;
+ private final SaveMode saveMode;
protected final int uuidBehavior;
protected final String primaryTypeName;
@@ -115,7 +116,8 @@
this.nameFactory = context.getValueFactories().getNameFactory();
this.uuidBehavior = uuidBehavior;
- switch (saveMode) {
+ this.saveMode = saveMode;
+ switch (this.saveMode) {
case SESSION:
cache = session.cache();
break;
@@ -188,10 +190,12 @@
*/
@Override
public void endDocument() throws SAXException {
- try {
- cache.save();
- } catch (RepositoryException e) {
- throw new EnclosingSAXException(e);
+ if (saveMode == SaveMode.WORKSPACE) {
+ try {
+ cache.save();
+ } catch (RepositoryException e) {
+ throw new EnclosingSAXException(e);
+ }
}
super.endDocument();
}
Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrTckTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrTckTest.java 2009-07-14 12:59:48 UTC
(rev 1111)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrTckTest.java 2009-07-14 19:07:22 UTC
(rev 1112)
@@ -28,6 +28,7 @@
import org.apache.jackrabbit.test.JCRTestSuite;
import org.apache.jackrabbit.test.api.AddNodeTest;
import org.apache.jackrabbit.test.api.CheckPermissionTest;
+import org.apache.jackrabbit.test.api.DocumentViewImportTest;
import org.apache.jackrabbit.test.api.ImpersonateTest;
import org.apache.jackrabbit.test.api.NamespaceRegistryTest;
import org.apache.jackrabbit.test.api.NodeAddMixinTest;
@@ -40,6 +41,7 @@
import org.apache.jackrabbit.test.api.PropertyItemIsNewTest;
import org.apache.jackrabbit.test.api.PropertyTest;
import org.apache.jackrabbit.test.api.RepositoryLoginTest;
+import org.apache.jackrabbit.test.api.SerializationTest;
import org.apache.jackrabbit.test.api.SetPropertyAssumeTypeTest;
import org.apache.jackrabbit.test.api.SetPropertyBooleanTest;
import org.apache.jackrabbit.test.api.SetPropertyCalendarTest;
@@ -230,8 +232,8 @@
addTestSuite(ImpersonateTest.class);
addTestSuite(CheckPermissionTest.class);
- // dna-466 addTestSuite(DocumentViewImportTest.class);
- // dna-466 addTestSuite(SerializationTest.class);
+ addTestSuite(DocumentViewImportTest.class);
+ addTestSuite(SerializationTest.class);
addTestSuite(ValueFactoryTest.class);
}
Show replies by date