You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by sa...@apache.org on 2011/08/11 12:59:22 UTC
svn commit: r1156568 - in /ofbiz/branches/jackrabbit20100709:
applications/content/src/org/ofbiz/content/test/
framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/
framework/jcr/src/org/ofbiz/jcr/test/ framework/jcr/src/org/ofbiz/jcr/util/
framework/jcr/...
Author: sascharodekamp
Date: Thu Aug 11 10:59:22 2011
New Revision: 1156568
URL: http://svn.apache.org/viewvc?rev=1156568&view=rev
Log:
Update the JCR Test implementation
Added:
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java (with props)
Removed:
ofbiz/branches/jackrabbit20100709/applications/content/src/org/ofbiz/content/test/JcrTests.java
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/NodePropertiesJackrabbit.java
Modified:
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/ContentWriterJackrabbit.java
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/RepositoryAccessJackrabbit.java
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/JcrUtil.java
ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/jackrabbit/JcrUtilJackrabbit.java
ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml
Modified: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/ContentWriterJackrabbit.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/ContentWriterJackrabbit.java?rev=1156568&r1=1156567&r2=1156568&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/ContentWriterJackrabbit.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/ContentWriterJackrabbit.java Thu Aug 11 10:59:22 2011
@@ -17,10 +17,18 @@ public class ContentWriterJackrabbit imp
private ObjectContentManager ocm = null;
+ /**
+ *
+ * @param ocm
+ */
public ContentWriterJackrabbit(ObjectContentManager ocm) {
this.ocm = ocm;
}
+ /*
+ * (non-Javadoc)
+ * @see org.ofbiz.jcr.access.ContentWriter#storeContentObject(org.ofbiz.jcr.orm.OfbizRepositoryMapping)
+ */
@Override
public void storeContentObject(OfbizRepositoryMapping orm) throws ObjectContentManagerException {
if (orm == null) {
@@ -83,12 +91,20 @@ public class ContentWriterJackrabbit imp
this.saveState();
}
+ /*
+ * (non-Javadoc)
+ * @see org.ofbiz.jcr.access.ContentWriter#updateContentObject(org.ofbiz.jcr.orm.OfbizRepositoryMapping)
+ */
@Override
public void updateContentObject(OfbizRepositoryMapping orm) throws ObjectContentManagerException {
ocm.update(orm);
this.saveState();
}
+ /*
+ * (non-Javadoc)
+ * @see org.ofbiz.jcr.access.ContentWriter#removeContentObject(java.lang.String)
+ */
@Override
public void removeContentObject(String nodePath) throws ObjectContentManagerException {
ocm.remove(nodePath);
Modified: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/RepositoryAccessJackrabbit.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/RepositoryAccessJackrabbit.java?rev=1156568&r1=1156567&r2=1156568&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/RepositoryAccessJackrabbit.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/access/jackrabbit/RepositoryAccessJackrabbit.java Thu Aug 11 10:59:22 2011
@@ -79,7 +79,7 @@ public class RepositoryAccessJackrabbit
*/
@Override
public void closeAccess() {
- if (this.ocm != null) {
+ if (this.ocm != null && this.ocm.getSession().isLive()) {
this.ocm.logout();
}
this.ocm = null;
Added: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java?rev=1156568&view=auto
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java (added)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java Thu Aug 11 10:59:22 2011
@@ -0,0 +1,122 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+ */
+package org.ofbiz.jcr.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.entity.GenericValue;
+import org.ofbiz.jcr.access.RepositoryAccess;
+import org.ofbiz.jcr.access.jackrabbit.RepositoryAccessJackrabbit;
+import org.ofbiz.jcr.orm.jackrabbit.OfbizRepositoryMappingJackrabbitFile;
+import org.ofbiz.jcr.orm.jackrabbit.OfbizRepositoryMappingJackrabbitFolder;
+import org.ofbiz.jcr.orm.jackrabbit.OfbizRepositoryMappingJackrabbitNews;
+import org.ofbiz.jcr.orm.jackrabbit.OfbizRepositoryMappingJackrabbitResource;
+import org.ofbiz.jcr.util.jackrabbit.JcrUtilJackrabbit;
+import org.ofbiz.service.testtools.OFBizTestCase;
+
+public class JcrTests extends OFBizTestCase {
+
+ protected GenericValue userLogin = null;
+ RepositoryAccess repositoryAccess = null;
+
+ public JcrTests(String name) {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ userLogin = delegator.findByPrimaryKey("UserLogin", UtilMisc.toMap("userLoginId", "system"));
+ repositoryAccess = new RepositoryAccessJackrabbit(userLogin);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ repositoryAccess.closeAccess();
+ }
+
+ public void testRepositoryConstructor() throws Exception {
+ assertNotNull(repositoryAccess);
+ }
+
+ public void testCreateRepositoryNewsNode() throws Exception {
+ OfbizRepositoryMappingJackrabbitNews orm = new OfbizRepositoryMappingJackrabbitNews();
+ assertNotNull(orm);
+ orm.setPath("/news/today");
+ orm.setLanguage("en");
+ orm.setContent("Hello World");
+ orm.setTitle("News of Today");
+
+ repositoryAccess.storeContentObject(orm);
+ }
+
+ public void testReadRepositoryNewsNode() throws Exception {
+ OfbizRepositoryMappingJackrabbitNews orm = (OfbizRepositoryMappingJackrabbitNews) repositoryAccess.getContentObject("/news/today");
+ assertNotNull(orm);
+
+ assertEquals(orm.getContent(), "Hello World");
+ }
+
+ public void testUpdateRepositoryNewsNode() throws Exception {
+ OfbizRepositoryMappingJackrabbitNews orm = (OfbizRepositoryMappingJackrabbitNews) repositoryAccess.getContentObject("/news/today");
+ assertNotNull(orm);
+
+ orm.setContent("Hello Visitors");
+ repositoryAccess.updateContentObject(orm);
+ }
+
+ public void testRemoveRepositoryNewsNode() throws Exception {
+ repositoryAccess.removeContentObject("/news/today");
+ }
+
+ /*
+ * Test the File upload
+ */
+ public void testCreateRepositoryFileNode() throws Exception {
+ File f = new File("stopofbiz.sh");
+ assertTrue(f.exists());
+
+ InputStream file = new FileInputStream(f);
+
+ OfbizRepositoryMappingJackrabbitResource ormResource = new OfbizRepositoryMappingJackrabbitResource();
+ ormResource.setData(file);
+
+ OfbizRepositoryMappingJackrabbitFile ormFile = new OfbizRepositoryMappingJackrabbitFile();
+ ormFile.setResource(ormResource);
+ // have to be relative
+ ormFile.setPath("testFile");
+
+ OfbizRepositoryMappingJackrabbitFolder ormFolder = new OfbizRepositoryMappingJackrabbitFolder();
+ ormFolder.setPath("/fileHome");
+ ormFolder.addChild(ormFile);
+
+ repositoryAccess.storeContentObject(ormFolder);
+ }
+
+ public void testRemoveRepositoryFileNode() throws Exception {
+ repositoryAccess.removeContentObject("/fileHome");
+ }
+
+ public void testListRepositoryNodes() throws Exception {
+ assertNotNull(JcrUtilJackrabbit.getRepositoryNodes(userLogin, null));
+ }
+
+}
\ No newline at end of file
Propchange: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/test/JcrTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/JcrUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/JcrUtil.java?rev=1156568&r1=1156567&r2=1156568&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/JcrUtil.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/JcrUtil.java Thu Aug 11 10:59:22 2011
@@ -1,5 +1,12 @@
package org.ofbiz.jcr.util;
+import java.util.List;
+import java.util.Map;
+
+import javax.jcr.RepositoryException;
+
+import org.ofbiz.entity.GenericValue;
+
public interface JcrUtil {
}
Modified: ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/jackrabbit/JcrUtilJackrabbit.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/jackrabbit/JcrUtilJackrabbit.java?rev=1156568&r1=1156567&r2=1156568&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/jackrabbit/JcrUtilJackrabbit.java (original)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/src/org/ofbiz/jcr/util/jackrabbit/JcrUtilJackrabbit.java Thu Aug 11 10:59:22 2011
@@ -18,72 +18,73 @@ import org.ofbiz.jcr.util.JcrUtil;
public class JcrUtilJackrabbit implements JcrUtil {
- public static final String module = JcrUtilJackrabbit.class.getName();
+ public static final String module = JcrUtilJackrabbit.class.getName();
- /**
- * Just a dummy method to list all nodes in the repository.
- *
- * @param startNodePath
- * @return
- * @throws RepositoryException
- */
- public static List<Map<String, String>> getRepositoryNodes(GenericValue userLogin, String startNodePath) throws RepositoryException {
- List<Map<String, String>> returnList = null;
- Session session = JCRFactoryUtil.getSession();
-
- try {
- returnList = getRepositoryNodes(session, startNodePath);
- } catch (RepositoryException e) {
- throw new RepositoryException(e);
- } finally {
- session.logout();
- }
-
- return returnList;
- }
-
- /**
- * Just a dummy method to list all nodes in the repository.
- *
- * @param startNodePath
- * @return
- * @throws RepositoryException
- */
- private static List<Map<String, String>> getRepositoryNodes(Session session, String startNodePath) throws RepositoryException {
- Node node = null;
-
- List<Map<String, String>> nodeList = FastList.newInstance();
- if (UtilValidate.isEmpty(startNodePath)) {
- node = session.getRootNode();
- } else {
- node = session.getNode(startNodePath);
- }
-
- NodeIterator nodeIterator = node.getNodes();
- Map<String, String> nodeEntry = null;
- while (nodeIterator.hasNext()) {
- Node n = nodeIterator.nextNode();
-
- // recursion - get all subnodes and add the results to our nodeList
- if (n.getNodes().hasNext()) {
- nodeList.addAll(getRepositoryNodes(session, n.getPath()));
- }
-
- nodeEntry = FastMap.newInstance();
-
- // if the node path is a jcr:system node than ignore this
- // entry
- if (n.getPath().startsWith("/jcr:system")) {
- continue;
- }
-
- nodeEntry.put("path", n.getPath());
+ /**
+ * A method to list all nodes in the repository. The result List contains
+ * the node path and the node type.
+ *
+ * @param startNodePath
+ * @return
+ * @throws RepositoryException
+ */
+ public static List<Map<String, String>> getRepositoryNodes(GenericValue userLogin, String startNodePath) throws RepositoryException {
+ List<Map<String, String>> returnList = null;
+ Session session = JCRFactoryUtil.getSession();
+
+ try {
+ returnList = getRepositoryNodes(session, startNodePath);
+ } catch (RepositoryException e) {
+ throw new RepositoryException(e);
+ } finally {
+ session.logout();
+ }
+
+ return returnList;
+ }
+
+ /**
+ * Just a dummy method to list all nodes in the repository.
+ *
+ * @param startNodePath
+ * @return
+ * @throws RepositoryException
+ */
+ private static List<Map<String, String>> getRepositoryNodes(Session session, String startNodePath) throws RepositoryException {
+ Node node = null;
+
+ List<Map<String, String>> nodeList = FastList.newInstance();
+ if (UtilValidate.isEmpty(startNodePath)) {
+ node = session.getRootNode();
+ } else {
+ node = session.getNode(startNodePath);
+ }
+
+ NodeIterator nodeIterator = node.getNodes();
+ Map<String, String> nodeEntry = null;
+ while (nodeIterator.hasNext()) {
+ Node n = nodeIterator.nextNode();
+
+ // recursion - get all subnodes and add the results to our nodeList
+ if (n.getNodes().hasNext()) {
+ nodeList.addAll(getRepositoryNodes(session, n.getPath()));
+ }
+
+ nodeEntry = FastMap.newInstance();
+
+ // if the node path is a jcr:system node than ignore this
+ // entry
+ if (n.getPath().startsWith("/jcr:system")) {
+ continue;
+ }
+
+ nodeEntry.put("path", n.getPath());
- nodeEntry.put("primaryNodeType", n.getPrimaryNodeType().getName());
+ nodeEntry.put("primaryNodeType", n.getPrimaryNodeType().getName());
- nodeList.add(nodeEntry);
- }
+ nodeList.add(nodeEntry);
+ }
- return nodeList;
- }
+ return nodeList;
+ }
}
Modified: ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml?rev=1156568&r1=1156567&r2=1156568&view=diff
==============================================================================
--- ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml (original)
+++ ofbiz/branches/jackrabbit20100709/framework/jcr/testdef/jcrtests.xml Thu Aug 11 10:59:22 2011
@@ -29,6 +29,8 @@
-->
- <test-case case-name="jcr-tests"><junit-test-suite class-name="org.ofbiz.content.test.JcrTests"/></test-case>
+ <test-case case-name="jcr-tests">
+ <junit-test-suite class-name="org.ofbiz.jcr.test.JcrTests"/>
+ </test-case>
</test-suite>
\ No newline at end of file