You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2014/08/18 21:24:05 UTC
svn commit: r1618715 - in /jackrabbit/oak/branches/1.0: ./
oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Author: mduerig
Date: Mon Aug 18 19:24:05 2014
New Revision: 1618715
URL: http://svn.apache.org/r1618715
Log:
OAK-2038: Invalid type error while importing DocView xml data
Merged revision 1618709
Modified:
jackrabbit/oak/branches/1.0/ (props changed)
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
jackrabbit/oak/branches/1.0/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1618709
Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java?rev=1618715&r1=1618714&r2=1618715&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/xml/PropInfo.java Mon Aug 18 19:24:05 2014
@@ -115,7 +115,7 @@ public class PropInfo {
public int getTargetType(PropertyDefinition def) {
int target = def.getRequiredType();
if (target != PropertyType.UNDEFINED) {
- return type;
+ return target;
} else if (type != PropertyType.UNDEFINED) {
return type;
} else {
@@ -194,4 +194,4 @@ public class PropInfo {
}
return null;
}
-}
\ No newline at end of file
+}
Modified: jackrabbit/oak/branches/1.0/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java?rev=1618715&r1=1618714&r2=1618715&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java (original)
+++ jackrabbit/oak/branches/1.0/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java Mon Aug 18 19:24:05 2014
@@ -18,6 +18,16 @@
*/
package org.apache.jackrabbit.oak.jcr;
+import static java.util.Arrays.asList;
+import static javax.jcr.ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW;
+import static org.apache.jackrabbit.commons.JcrUtils.getChildNodes;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -31,7 +41,6 @@ import java.util.HashSet;
import java.util.Set;
import javax.jcr.Binary;
import javax.jcr.GuestCredentials;
-import javax.jcr.ImportUUIDBehavior;
import javax.jcr.InvalidItemStateException;
import javax.jcr.Item;
import javax.jcr.ItemExistsException;
@@ -54,6 +63,7 @@ import javax.jcr.nodetype.NodeDefinition
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.NodeTypeManager;
import javax.jcr.nodetype.NodeTypeTemplate;
+import javax.jcr.nodetype.PropertyDefinitionTemplate;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.api.JackrabbitNode;
@@ -2014,7 +2024,7 @@ public class RepositoryTest extends Abst
node.remove();
session.save();
session.importXML("/", new ByteArrayInputStream(out.toByteArray()),
- ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ IMPORT_UUID_CREATE_NEW);
session.save();
node = session.getNode("/node");
assertFalse(uuid.equals(node.getIdentifier()));
@@ -2059,6 +2069,33 @@ public class RepositoryTest extends Abst
session.logout();
}
+ @Test // OAK-2038
+ public void importWithRegisteredType() throws Exception {
+ Session session = getAdminSession();
+ NodeTypeManager ntMgr = getAdminSession().getWorkspace().getNodeTypeManager();
+ NodeTypeTemplate ntd = ntMgr.createNodeTypeTemplate();
+ ntd.setName("fooType");
+ PropertyDefinitionTemplate propDefTemplate = ntMgr.createPropertyDefinitionTemplate();
+ propDefTemplate.setName("fooProp");
+ propDefTemplate.setRequiredType(PropertyType.STRING);
+ ntd.getPropertyDefinitionTemplates().add(propDefTemplate);
+ ntMgr.registerNodeType(ntd, false);
+
+ Node node = session.getRootNode().addNode("node", "fooType");
+ node.setProperty("fooProp", "fooValue");
+ session.save();
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ session.exportDocumentView("/node", out, true, false);
+ node.remove();
+ session.save();
+
+ session.getWorkspace().importXML(
+ "/", new ByteArrayInputStream(out.toByteArray()), IMPORT_UUID_CREATE_NEW);
+ session.save();
+ assertEquals("fooValue", session.getProperty("/node/fooProp").getString());
+ }
+
//------------------------------------------------------------< private >---
private Node getNode(String path) throws RepositoryException {