Modified: rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/importing/ContentImporterTest.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/importing/ContentImporterTest.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/importing/ContentImporterTest.java (original) +++ rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/importing/ContentImporterTest.java Mon Nov 19 12:42:58 2012 @@ -19,7 +19,6 @@ package org.apache.rave.jcr.importing; import javax.jcr.Node; -import javax.jcr.NodeIterator; import javax.jcr.Property; import javax.jcr.PropertyType; import javax.jcr.Session; @@ -47,33 +46,33 @@ public class ContentImporterTest extends // simple node import public void testImportNode() throws Exception { - final String content = "{ }"; + final String content = "{\"foo\":{}}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.hasNode("foo")); assertEquals("nt:unstructured", testRootNode.getNode("foo").getPrimaryNodeType().getName()); } public void testImportNodeWithSubnode() throws Exception { - final String content = "{ \"bar\" : {} }"; + final String content = "{\"foo\":{ \"bar\" : {} }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.hasNode("foo")); assertTrue(testRootNode.getNode("foo").hasNode("bar")); } public void testImportNodeWithPrimaryType() throws Exception { - final String content = "{ \"jcr:primaryType\" : \"nt:folder\" }"; + final String content = "{\"foo\":{ \"jcr:primaryType\" : \"nt:folder\" }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.hasNode("foo")); assertEquals("nt:folder", testRootNode.getNode("foo").getPrimaryNodeType().getName()); } public void testImportNodeWithMixin() throws Exception { - final String content = "{ \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] }"; + final String content = "{\"foo\":{ \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.hasNode("foo")); final Node foo = testRootNode.getNode("foo"); assertEquals("nt:unstructured", foo.getPrimaryNodeType().getName()); @@ -83,9 +82,9 @@ public class ContentImporterTest extends } public void testImportNodeWithMixins() throws Exception { - final String content = "{ \"jcr:mixinTypes\" : [ \"mix:referenceable\", \"mix:lockable\" ] }"; + final String content = "{\"foo\":{ \"jcr:mixinTypes\" : [ \"mix:referenceable\", \"mix:lockable\" ] }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.hasNode("foo")); final Node foo = testRootNode.getNode("foo"); assertEquals("nt:unstructured", foo.getPrimaryNodeType().getName()); @@ -98,9 +97,9 @@ public class ContentImporterTest extends // single and multi-valued property import of various types public void testImportStringProperty() throws Exception { - final String content = "{ \"bar\" : \"qux\" }"; + final String content = "{\"foo\":{ \"bar\" : \"qux\" }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.getNode("foo").hasProperty("bar")); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.STRING, property.getType()); @@ -108,9 +107,9 @@ public class ContentImporterTest extends } public void testImportMultivaluedStringProperty() throws Exception { - final String content = "{ \"bar\" : [ \"qux\", \"quux\" ] }"; + final String content = "{\"foo\":{ \"bar\" : [ \"qux\", \"quux\" ] }}"; final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); assertTrue(testRootNode.getNode("foo").hasProperty("bar")); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.STRING, property.getType()); @@ -121,18 +120,18 @@ public class ContentImporterTest extends } public void testImportLongProperty() throws Exception { - final String content = "{ \"bar\" : 1 }"; + final String content = "{\"foo\":{ \"bar\" : 1 }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.LONG, property.getType()); assertEquals(1l, property.getLong()); } public void testImportMultivaluedLongProperty() throws Exception { - final String content = "{ \"bar\" : [ 1, 2 ] }"; + final String content = "{\"foo\":{ \"bar\" : [ 1, 2 ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.LONG, property.getType()); final Value[] values = property.getValues(); @@ -141,18 +140,18 @@ public class ContentImporterTest extends } public void testImportDoubleProperty() throws Exception { - final String content = "{ \"bar\" : 1.0 }"; + final String content = "{\"foo\":{ \"bar\" : 1.0 }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.DOUBLE, property.getType()); assertEquals(1.0d, property.getDouble()); } public void testImportMultivaluedDoubleProperty() throws Exception { - final String content = "{ \"bar\" : [ 1.0, 2.0 ] }"; + final String content = "{\"foo\":{ \"bar\" : [ 1.0, 2.0 ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.DOUBLE, property.getType()); final Value[] values = property.getValues(); @@ -161,18 +160,18 @@ public class ContentImporterTest extends } public void testImportBooleanProperty() throws Exception { - final String content = "{ \"bar\" : true }"; + final String content = "{\"foo\":{ \"bar\" : true }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.BOOLEAN, property.getType()); assertEquals(true, property.getBoolean()); } public void testImportMultivaluedBooleanProperty() throws Exception { - final String content = "{ \"bar\" : [ true, false ] }"; + final String content = "{\"foo\":{ \"bar\" : [ true, false ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.BOOLEAN, property.getType()); final Value[] values = property.getValues(); @@ -183,13 +182,13 @@ public class ContentImporterTest extends // immediate reference type property import when referenced property is already present public void testImportReferenceProperty() throws Exception { - final String content = "{ \"jcr:reference:bar\" : \"" + testRootNode.getPath() + "/foo/bar" + "\" }"; + final String content = "{\"foo\":{ \"jcr:reference:bar\" : \"" + testRootNode.getPath() + "/foo/bar" + "\" }}"; final Node foo = testRootNode.addNode("foo"); foo.addNode("bar").addMixin("mix:referenceable"); ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.MERGE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.MERGE); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.REFERENCE, property.getType()); @@ -197,14 +196,14 @@ public class ContentImporterTest extends } public void testImportMultiValuedReferenceProperty() throws Exception { - final String content = "{ \"jcr:reference:barbaz\" : [ \"" + testRootNode.getPath() + "/foo/bar\", \"" + testRootNode.getPath() + "/foo/baz\" ] }"; + final String content = "{\"foo\":{ \"jcr:reference:barbaz\" : [ \"" + testRootNode.getPath() + "/foo/bar\", \"" + testRootNode.getPath() + "/foo/baz\" ] }}"; final Node foo = testRootNode.addNode("foo"); foo.addNode("bar").addMixin("mix:referenceable"); foo.addNode("baz").addMixin("mix:referenceable"); ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.MERGE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.MERGE); final Value[] values = testRootNode.getNode("foo").getProperty("barbaz").getValues(); assertEquals(2, values.length); @@ -218,21 +217,21 @@ public class ContentImporterTest extends // delayed reference type property import when referenced property is in imported file public void testImportDelayedReferenceProperty() throws Exception { - final String content = "{ \"jcr:reference:bar\" : \"" + testRootNode.getPath() + "/foo/bar" + "\"," + - " \"bar\" : { \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] } }"; + final String content = "{\"foo\":{ \"jcr:reference:bar\" : \"" + testRootNode.getPath() + "/foo/bar" + "\"," + + " \"bar\" : { \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] } } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.REFERENCE, property.getType()); assertEquals(testRootNode.getNode("foo").getNode("bar").getPath(), property.getNode().getPath()); } public void testImportDelayedMultiValuedReferenceProperty() throws Exception { - final String content = "{ \"jcr:reference:barbaz\" : [ \"" + testRootNode.getPath() + "/foo/bar\", \"" + testRootNode.getPath() + "/foo/baz\" ]," + + final String content = "{\"foo\": { \"jcr:reference:barbaz\" : [ \"" + testRootNode.getPath() + "/foo/bar\", \"" + testRootNode.getPath() + "/foo/baz\" ]," + " \"bar\" : { \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] }," + - " \"baz\" : { \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] } }"; + " \"baz\" : { \"jcr:mixinTypes\" : [ \"mix:referenceable\" ] } } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Value[] values = testRootNode.getNode("foo").getProperty("barbaz").getValues(); assertEquals(2, values.length); @@ -244,19 +243,19 @@ public class ContentImporterTest extends } public void testImportPathProperty() throws Exception { - final String content = "{ \"jcr:path:bar\" : \"/qux/quux\" }"; + final String content = "{\"foo\": { \"jcr:path:bar\" : \"/qux/quux\" } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.PATH, property.getType()); assertEquals("/qux/quux", property.getString()); } public void testImportMultivaluedPathProperty() throws Exception { - final String content = "{ \"jcr:path:bar\" : [ \"/qux/quux\", \"baz\" ] }"; + final String content = "{\"foo\": { \"jcr:path:bar\" : [ \"/qux/quux\", \"baz\" ] } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.PATH, property.getType()); @@ -268,10 +267,10 @@ public class ContentImporterTest extends } public void testImportNameProperty() throws Exception { - final String content = "{ \"jcr:name:bar\" : \"qux\" }"; + final String content = "{\"foo\": { \"jcr:name:bar\" : \"qux\" } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); @@ -280,10 +279,10 @@ public class ContentImporterTest extends } public void testImportMultivaluedNameProperty() throws Exception { - final String content = "{ \"jcr:name:bar\" : [ \"qux\", \"quux\" ] }"; + final String content = "{\"foo\":{ \"jcr:name:bar\" : [ \"qux\", \"quux\" ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.NAME, property.getType()); @@ -295,10 +294,10 @@ public class ContentImporterTest extends } public void testImportUriProperty() throws Exception { - final String content = "{ \"jcr:uri:bar\" : \"qux\" }"; + final String content = "{\"foo\":{ \"jcr:uri:bar\" : \"qux\" }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); @@ -307,10 +306,10 @@ public class ContentImporterTest extends } public void testImportMultivaluedUriProperty() throws Exception { - final String content = "{ \"jcr:uri:bar\" : [ \"qux\", \"quux\" ] }"; + final String content = "{\"foo\":{ \"jcr:uri:bar\" : [ \"qux\", \"quux\" ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.URI, property.getType()); @@ -322,10 +321,10 @@ public class ContentImporterTest extends } public void testImportDateProperty() throws Exception { - final String content = "{ \"bar\" : \"2012-04-19T15:32:34.775+0200\" }"; + final String content = "{\"foo\":{ \"bar\" : \"2012-04-19T15:32:34.775+0200\" }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); @@ -333,10 +332,10 @@ public class ContentImporterTest extends } public void testImportMultivaluedDateProperty() throws Exception { - final String content = "{ \"bar\" : [ \"2012-04-19T15:32:34.775+0200\", \"2012-04-20T15:32:34.775+0200\" ] }"; + final String content = "{\"foo\":{ \"bar\" : [ \"2012-04-19T15:32:34.775+0200\", \"2012-04-20T15:32:34.775+0200\" ] }}"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); assertEquals(PropertyType.DATE, property.getType()); @@ -346,10 +345,10 @@ public class ContentImporterTest extends } public void testImportBinaryProperty() throws Exception { - final String content = "{ \"jcr:binary:bar\" : \"R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\" }"; + final String content = "{\"foo\": { \"jcr:binary:bar\" : \"R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==\" } }"; ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, null); + contentImporter.importContent(testRootNode.getPath(), content, null); final Property property = testRootNode.getNode("foo").getProperty("bar"); @@ -359,21 +358,21 @@ public class ContentImporterTest extends // various tests with different node behaviors when node already exists public void testImportExistingNodeReplace() throws Exception { - final String content = "{ \"jcr:primaryType\" : \"nt:folder\" }"; + final String content = "{\"foo\":{ \"jcr:primaryType\" : \"nt:folder\" }}"; testRootNode.addNode("foo"); final ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.REPLACE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.REPLACE); assertTrue(testRootNode.hasNode("foo")); final Node foo = testRootNode.getNode("foo"); assertEquals("nt:folder", foo.getPrimaryNodeType().getName()); } public void testImportExistingNodeMerge() throws Exception { - final String content = "{ \"jcr:mixinTypes\" : [ \"mix:referenceable\" ], \"bar\" : \"quz\" }"; + final String content = "{\"foo\":{ \"jcr:mixinTypes\" : [ \"mix:referenceable\" ], \"bar\" : \"quz\" }}"; Node foo = testRootNode.addNode("foo"); foo.setProperty("baz", "qux"); ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.MERGE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.MERGE); assertTrue(testRootNode.hasNode("foo")); foo = testRootNode.getNode("foo"); assertTrue(foo.hasProperty("bar")); @@ -386,22 +385,22 @@ public class ContentImporterTest extends // various tests with different property behaviors when property already exists public void testImportExistingNodeMergeAndPropertyReplace() throws Exception { - final String content = "{ \"bar\" : \"baz\" }"; + final String content = "{\"foo\":{ \"bar\" : \"baz\" }}"; Node foo = testRootNode.addNode("foo"); foo.setProperty("bar", 1l); ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.MERGE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.MERGE); foo = testRootNode.getNode("foo"); assertTrue(foo.hasProperty("bar")); assertEquals("baz", foo.getProperty("bar").getString()); } public void testImportExistingNodeMergeAndPropertyAppend() throws Exception { - final String content = "{ \"bar\" : [ \"baz\" ] }"; + final String content = "{\"foo\":{ \"bar\" : [ \"baz\" ] }}"; Node foo = testRootNode.addNode("foo"); foo.setProperty("bar", new String[] { "qux" }); ContentImporter contentImporter = new ContentImporter(session); - contentImporter.importContent(testRootNode.getPath(), "foo", content, ImportBehavior.MERGE); + contentImporter.importContent(testRootNode.getPath(), content, ImportBehavior.MERGE); foo = testRootNode.getNode("foo"); final Value[] values = foo.getProperty("bar").getValues(); assertEquals(2, values.length);
Modified: rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/test/AbstractRaveJCRTest.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/test/AbstractRaveJCRTest.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/test/AbstractRaveJCRTest.java (original) +++ rave/sandbox/content-services/rave-jcr-config/src/test/java/org/apache/rave/jcr/test/AbstractRaveJCRTest.java Mon Nov 19 12:42:58 2012 @@ -45,14 +45,13 @@ public abstract class AbstractRaveJCRTes * Import a json content file into the repository directly below /testroot. * The node and its subtree are removed again during tearDown. * - * @param nodeName the name of the node to be added below /testroot * @param content the inputstream of json content to be imported. * @throws Exception */ - protected void importContent(String nodeName, InputStream content) throws Exception { + protected void importContent(InputStream content) throws Exception { Session session = getHelper().getReadWriteSession(); ContentImporter importer = new ContentImporter(session); - importer.importContent("/testroot", nodeName, content, ImportBehavior.REPLACE); + importer.importContent("/testroot", content, ImportBehavior.REPLACE); session.save(); } Modified: rave/sandbox/content-services/rave-jcr-console/src/main/java/org/apache/rave/jcr/console/dialog/JsonImportDialog.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-console/src/main/java/org/apache/rave/jcr/console/dialog/JsonImportDialog.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-console/src/main/java/org/apache/rave/jcr/console/dialog/JsonImportDialog.java (original) +++ rave/sandbox/content-services/rave-jcr-console/src/main/java/org/apache/rave/jcr/console/dialog/JsonImportDialog.java Mon Nov 19 12:42:58 2012 @@ -22,8 +22,6 @@ package org.apache.rave.jcr.console.dial import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; import javax.jcr.InvalidSerializedDataException; import javax.jcr.ItemExistsException; @@ -62,32 +60,9 @@ public class JsonImportDialog extends Ab private final IModelReference<Node> modelReference; - - public class LookupHashMap<K, V> extends HashMap<K, V> { - private static final long serialVersionUID = 1L; - - public K getFirstKey(Object value) { - if (value == null) { - return null; - } - for (Map.Entry<K, V> e : entrySet()) { - if (value.equals(e.getValue())) { - return e.getKey(); - } - } - return null; - } - } - - private final JcrNodeModel nodeModel; private FileUploadField fileUploadField; - // hard coded defaults - private String mergeBehavior = "Disable merging"; - private String derefBehavior = "Throw error when not found"; - - public JsonImportDialog(IModelReference<Node> modelReference) { this.modelReference = modelReference; this.nodeModel = (JcrNodeModel) modelReference.getModel(); @@ -125,12 +100,11 @@ public class JsonImportDialog extends Ab try { InputStream contentStream = new BufferedInputStream(upload.getInputStream()); String absPath = nodeModel.getNode().getPath(); - log.info("Starting import: importDereferencedXML(" + absPath + ',' + upload.getClientFileName() + ',' + ',' + mergeBehavior + ',' + derefBehavior); + log.info("Starting import: importContent(" + absPath + ',' + upload.getClientFileName()); final javax.jcr.Session session = ((UserSession) Session.get()).getJcrSession(); ContentImporter importer = new ContentImporter(session); - //((UserSession) Session.get()).getJcrSession().importXML(absPath, contentStream, uuidOpt); - importer.importContent(absPath, upload.getClientFileName(), contentStream, ImportBehavior.MERGE); + importer.importContent(absPath, contentStream, ImportBehavior.MERGE); // TODO if we want the imported node to be selected in the browser tree, we need to get to the new imported (top) node // modelReference.setModel(newNodeModel); info("Import done."); @@ -165,23 +139,6 @@ public class JsonImportDialog extends Ab } } - public void setMergeBehavior(String mergeBehavior) { - this.mergeBehavior = mergeBehavior; - } - - public String getMergeBehavior() { - return mergeBehavior; - } - - public void setDerefBehavior(String derefBehavior) { - this.derefBehavior = derefBehavior; - } - - public String getDerefBehavior() { - return derefBehavior; - } - - @Override public IValueMap getProperties() { return MEDIUM; Modified: rave/sandbox/content-services/rave-jcr-tools/src/main/java/org/apache/rave/tools/ImportExportTool.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-tools/src/main/java/org/apache/rave/tools/ImportExportTool.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-tools/src/main/java/org/apache/rave/tools/ImportExportTool.java (original) +++ rave/sandbox/content-services/rave-jcr-tools/src/main/java/org/apache/rave/tools/ImportExportTool.java Mon Nov 19 12:42:58 2012 @@ -25,8 +25,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.Writer; -import javax.jcr.Node; -import javax.jcr.NodeIterator; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; @@ -97,11 +95,6 @@ public class ImportExportTool { sesson = createConnection(username, password); ContentExporter exporter = new ContentExporter(sesson); - final NodeIterator nodes = sesson.getRootNode().getNodes(); - while (nodes.hasNext()) { - final Node node = nodes.nextNode(); - log.info("node {}", node.getPath()); - } exporter.exportContent(nodeName, writer); } catch (RepositoryException e) { @@ -128,9 +121,8 @@ public class ImportExportTool { * Import given filename into repository. * * @param parentPath repository parentPath to import file to - * @param nodeName name of the node */ - public void importData(String parentPath, String nodeName) { + public void importData(String parentPath) { Session session = null; @@ -144,7 +136,7 @@ public class ImportExportTool { file = new File(fileName); } final FileInputStream content = new FileInputStream(file); - contentImporter.importContent(parentPath, nodeName, content, ImportBehavior.MERGE); + contentImporter.importContent(parentPath, content, ImportBehavior.MERGE); session.save(); } catch (RepositoryException e) { log.error("Error importing file: " + fileName, e); Modified: rave/sandbox/content-services/rave-jcr-tools/src/test/java/org/apache/rave/tools/ImportExportToolTest.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-tools/src/test/java/org/apache/rave/tools/ImportExportToolTest.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-tools/src/test/java/org/apache/rave/tools/ImportExportToolTest.java (original) +++ rave/sandbox/content-services/rave-jcr-tools/src/test/java/org/apache/rave/tools/ImportExportToolTest.java Mon Nov 19 12:42:58 2012 @@ -41,7 +41,7 @@ public class ImportExportToolTest { ImportExportTool tool = new ImportExportTool("src/test/repository/repository.xml", "target/repository", FILE_NAME); tool.setPassword("admin"); tool.setUsername("admin"); - tool.importData("/", "testnode"); + tool.importData("/"); assertTrue("no errors should be thrown", true); } @@ -51,7 +51,7 @@ public class ImportExportToolTest { ImportExportTool tool = new ImportExportTool("src/test/repository/repository.xml", "target/repository", FILE_NAME); tool.setPassword("admin"); tool.setUsername("admin"); - tool.importData("/", "testnode"); + tool.importData("/"); assertTrue("no errors should be thrown", true); tool = new ImportExportTool("src/test/repository/repository.xml", "target/repository", null); final StringWriter writer = new StringWriter(); Modified: rave/sandbox/content-services/rave-jcr-tools/src/test/resources/testData.json URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-tools/src/test/resources/testData.json?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-jcr-tools/src/test/resources/testData.json (original) +++ rave/sandbox/content-services/rave-jcr-tools/src/test/resources/testData.json Mon Nov 19 12:42:58 2012 @@ -1,6 +1,8 @@ { - "myConfiguration":{ - "jcr:primaryType":"nt:unstructured", - "name":"test" + "testnode" : { + "myConfiguration":{ + "jcr:primaryType":"nt:unstructured", + "name":"test" + } } } Modified: rave/sandbox/content-services/rave-web-jcr/src/test/java/org/apache/rave/content/mapping/DefaultDocumentManagerTest.java URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/test/java/org/apache/rave/content/mapping/DefaultDocumentManagerTest.java?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-web-jcr/src/test/java/org/apache/rave/content/mapping/DefaultDocumentManagerTest.java (original) +++ rave/sandbox/content-services/rave-web-jcr/src/test/java/org/apache/rave/content/mapping/DefaultDocumentManagerTest.java Mon Nov 19 12:42:58 2012 @@ -63,7 +63,6 @@ public class DefaultDocumentManagerTest private static Logger log = LoggerFactory.getLogger(DefaultDocumentManagerTest.class); - public static final String PATH_BINARIES = "binaries"; public static final String PATH_LOGO = "logo"; private Credentials credentials; @@ -88,8 +87,8 @@ public class DefaultDocumentManagerTest ContentImporter contentImporter = new ContentImporter(session); @SuppressWarnings("IOResourceOpenedButNotSafelyClosed") final InputStream resourceAsStream = getClass().getResourceAsStream("/test-data.json"); - contentImporter.importContent(rootNode.getPath(), PATH_BINARIES, resourceAsStream, ImportBehavior.REPLACE); - final Node node = session.getNode("/binaries/binaries"); + contentImporter.importContent(rootNode.getPath(), resourceAsStream, ImportBehavior.REPLACE); + final Node node = session.getNode("/binaries"); final NodeIterator nodes = node.getNodes(); while (nodes.hasNext()) { log.info("nodes {}", nodes.nextNode().getPath()); @@ -98,17 +97,17 @@ public class DefaultDocumentManagerTest session.save(); ContentManager manager = new DefaultContentManager(session, credentials); - ScriptContent script = manager.fetchContent("/binaries/binaries/css", BaseScriptContent.class); - assertTrue("Expected to fetch /binaries/binaries/css", script != null); + ScriptContent script = manager.fetchContent("/binaries/css", BaseScriptContent.class); + assertTrue("Expected to fetch /binaries/css", script != null); assertEquals("css", script.getType()); - Article article = manager.fetchContent("/binaries/binaries/css", "Article"); - assertTrue("Expected to fetch /binaries/binaries/css", article != null); + Article article = manager.fetchContent("/binaries/css", "Article"); + assertTrue("Expected to fetch /binaries/css", article != null); assertEquals("cssTitle", article.getTitle()); assertEquals("h1 { font-size: 30px;}", article.getBody()); assertEquals("admin", article.getCreatedBy()); - ResourceContent img = manager.fetchContent("/binaries/binaries/img", BaseResourceContent.class); + ResourceContent img = manager.fetchContent("/binaries/img", BaseResourceContent.class); assertTrue(img != null); assertEquals("image/png", img.getMimeType()); session.logout(); @@ -119,7 +118,7 @@ public class DefaultDocumentManagerTest Session session = repository.login(credentials); ContentManager manager = new DefaultContentManager(session, credentials); - boolean success = manager.saveContent(new BaseFolder("/binaries/binaries/binaries/test")); + boolean success = manager.saveContent(new BaseFolder("/binaries/binaries/test")); assertTrue("Expected folders to be created", success); session.logout(); @@ -154,7 +153,7 @@ public class DefaultDocumentManagerTest while (nodes.hasNext()) { log.info("binaries {}", nodes.nextNode().getPath()); } - resource = (BaseResourceContent)manager.fetchContent("/logo", BaseResourceContent.class); + resource = manager.fetchContent("/logo", BaseResourceContent.class); assertTrue(resource != null); assertTrue(resource.getData() != null); assertEquals(lastModified, resource.getLastModified()); Modified: rave/sandbox/content-services/rave-web-jcr/src/test/resources/initial-data.json URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/test/resources/initial-data.json?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-web-jcr/src/test/resources/initial-data.json (original) +++ rave/sandbox/content-services/rave-web-jcr/src/test/resources/initial-data.json Mon Nov 19 12:42:58 2012 @@ -1,12 +1,14 @@ { - "jcr:primaryType":"rave:folder", - "mypage.ftl":{ - "jcr:primaryType":"rave:resource", - "id":"freemarker", - "jcr:lastModifiedBy":"admin", - "jcr:binary:jcr:data":"PCNpbXBvcnQgIi9zcHJpbmcuZnRsIiBhcyBzcHJpbmcgLz4KPCNhc3NpZ24gcmF2ZT1Kc3BUYWdsaWJzWyJodHRwOi8vd3d3LmFwYWNoZS1yYXZlLm9yZy9qc3AvY29yZSJdIC8+CjxodG1sPgoKPGJvZHk+CjxoMT5teSBmcmVlbWFya2VyIHBhZ2UgZnJvbSBKQ1I8L2gxPgo8dGFibGUgYm9yZGVyPSIxIj4KICAgIDx0cj4KICAgICAgICA8dGQ+aGVhZAogICAgICAgIDxAcmF2ZS5pbmNsdWRlIHJlZj0iaGVhZCIvPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZD5ib2R5CiAgICAgICAgPEByYXZlLmluY2x1ZGUgcmVmPSJib2R5Ii8+CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkPiBmb290ZXIKICAgICAgICA8QHJhdmUuaW5jbHVkZSByZWY9ImZvb3RlciIvPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8L2JvZHk+CjwvaHRtbD4KCg==", - "jcr:encoding":"test", - "jcr:mimeType":"image/png", - "jcr:lastModified":"2012-08-30T10:48:40.534+0200" + "pages" : { + "jcr:primaryType":"rave:folder", + "mypage.ftl":{ + "jcr:primaryType":"rave:resource", + "id":"freemarker", + "jcr:lastModifiedBy":"admin", + "jcr:binary:jcr:data":"PCNpbXBvcnQgIi9zcHJpbmcuZnRsIiBhcyBzcHJpbmcgLz4KPCNhc3NpZ24gcmF2ZT1Kc3BUYWdsaWJzWyJodHRwOi8vd3d3LmFwYWNoZS1yYXZlLm9yZy9qc3AvY29yZSJdIC8+CjxodG1sPgoKPGJvZHk+CjxoMT5teSBmcmVlbWFya2VyIHBhZ2UgZnJvbSBKQ1I8L2gxPgo8dGFibGUgYm9yZGVyPSIxIj4KICAgIDx0cj4KICAgICAgICA8dGQ+aGVhZAogICAgICAgIDxAcmF2ZS5pbmNsdWRlIHJlZj0iaGVhZCIvPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZD5ib2R5CiAgICAgICAgPEByYXZlLmluY2x1ZGUgcmVmPSJib2R5Ii8+CiAgICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgICAgPHRkPiBmb290ZXIKICAgICAgICA8QHJhdmUuaW5jbHVkZSByZWY9ImZvb3RlciIvPgogICAgICAgIDwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPgo8L2JvZHk+CjwvaHRtbD4KCg==", + "jcr:encoding":"test", + "jcr:mimeType":"image/png", + "jcr:lastModified":"2012-08-30T10:48:40.534+0200" + } } } \ No newline at end of file Modified: rave/sandbox/content-services/rave-web-jcr/src/test/resources/page-config.json URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/test/resources/page-config.json?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-web-jcr/src/test/resources/page-config.json (original) +++ rave/sandbox/content-services/rave-web-jcr/src/test/resources/page-config.json Mon Nov 19 12:42:58 2012 @@ -1,51 +1,53 @@ { - "jcr:primaryType":"rave:folder", - "myRoutes":{ - "jcr:primaryType":"raveconfig:routes", - "name":"myRoutes", - "route1":{ - "jcr:primaryType":"raveconfig:route", - "name":"route1", - "path":"/mypage1", - "component":"/mypage", - "handler": "action1" - }, - "route2":{ - "jcr:primaryType":"raveconfig:route", - "name":"route2", - "path":"/mypage2", - "component":"/mypage", - "handler": "action2" - }, - "routeBinaries":{ - "jcr:primaryType":"raveconfig:route", - "name":"binaries", - "path":"/binaries", - "component":"org.apache.rave.portal.web.mvc.view.BinaryRepositoryController" - } - }, - "myPages":{ - "jcr:primaryType":"raveconfig:pagedefinitions", - "name":"myPages", - "myPage":{ - "jcr:primaryType":"raveconfig:pagefragment", - "name":"myPage", - "description":"Simple page", - "controller":"org.apache.rave.unittest.NonExistingMyPageController", - "head":{ - "jcr:primaryType":"raveconfig:pagefragment", - "name":"head", - "controller":"org.apache.rave.unittest.NonExistingMyHeaderController" + "raveconfig" : { + "jcr:primaryType":"rave:folder", + "myRoutes":{ + "jcr:primaryType":"raveconfig:routes", + "name":"myRoutes", + "route1":{ + "jcr:primaryType":"raveconfig:route", + "name":"route1", + "path":"/mypage1", + "component":"/mypage", + "handler": "action1" }, - "body":{ - "jcr:primaryType":"raveconfig:pagefragment", - "name":"body", - "controller":"org.apache.rave.unittest.NonExistingMyContentController" + "route2":{ + "jcr:primaryType":"raveconfig:route", + "name":"route2", + "path":"/mypage2", + "component":"/mypage", + "handler": "action2" }, - "footer":{ + "routeBinaries":{ + "jcr:primaryType":"raveconfig:route", + "name":"binaries", + "path":"/binaries", + "component":"org.apache.rave.portal.web.mvc.view.BinaryRepositoryController" + } + }, + "myPages":{ + "jcr:primaryType":"raveconfig:pagedefinitions", + "name":"myPages", + "myPage":{ "jcr:primaryType":"raveconfig:pagefragment", - "name":"footer", - "controller":"org.apache.rave.unittest.NonExistingMyFooterController" + "name":"myPage", + "description":"Simple page", + "controller":"org.apache.rave.unittest.NonExistingMyPageController", + "head":{ + "jcr:primaryType":"raveconfig:pagefragment", + "name":"head", + "controller":"org.apache.rave.unittest.NonExistingMyHeaderController" + }, + "body":{ + "jcr:primaryType":"raveconfig:pagefragment", + "name":"body", + "controller":"org.apache.rave.unittest.NonExistingMyContentController" + }, + "footer":{ + "jcr:primaryType":"raveconfig:pagefragment", + "name":"footer", + "controller":"org.apache.rave.unittest.NonExistingMyFooterController" + } } } } Modified: rave/sandbox/content-services/rave-web-jcr/src/test/resources/test-data.json URL: http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-web-jcr/src/test/resources/test-data.json?rev=1411153&r1=1411152&r2=1411153&view=diff ============================================================================== --- rave/sandbox/content-services/rave-web-jcr/src/test/resources/test-data.json (original) +++ rave/sandbox/content-services/rave-web-jcr/src/test/resources/test-data.json Mon Nov 19 12:42:58 2012 @@ -1,5 +1,4 @@ { - "jcr:primaryType":"rave:folder", "binaries":{ "jcr:primaryType":"rave:folder", "css":{
