You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-commits@incubator.apache.org by cl...@apache.org on 2005/10/20 19:05:16 UTC
svn commit: r326977 - in /incubator/graffito/trunk/jcr-mapping/src:
java/org/apache/portals/graffito/jcr/persistence/impl/ test-config/
test/org/apache/portals/graffito/jcr/
test/org/apache/portals/graffito/jcr/persistence/atomicconverter/
test/org/apa...
Author: clombart
Date: Thu Oct 20 12:04:56 2005
New Revision: 326977
URL: http://svn.apache.org/viewcvs?rev=326977&view=rev
Log:
* Better support for JCR same name sibling
* Review unit test
Added:
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSameNameSiblingTest.java
Removed:
incubator/graffito/trunk/jcr-mapping/src/test-config/repository-old.xml
Modified:
incubator/graffito/trunk/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerImpl.java
incubator/graffito/trunk/jcr-mapping/src/test-config/jcrmapping.xml
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/DefaultCollectionConverterImplTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/HashMapTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/MultiValueCollectionConverterImplTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/NTCollectionConverterImplTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerAtomicQueryTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerIteratorQueryTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerMultiValueQueryTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerRemoveTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerScopeQueryTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSimpleQueryTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/query/impl/QueryManagerTest.java
incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Page.java
Modified: incubator/graffito/trunk/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerImpl.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerImpl.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerImpl.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerImpl.java Thu Oct 20 12:04:56 2005
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.apache.portals.graffito.jcr.exception.PersistenceException;
import org.apache.portals.graffito.jcr.mapper.Mapper;
import org.apache.portals.graffito.jcr.persistence.PersistenceManager;
@@ -40,7 +39,7 @@
/**
*
- * Default implementation for {@link org.apache.jackrabbit.core.state.PersistenceManager}
+ * Default implementation for {@link org.apache.portals.graffito.jcr.persistence.PersistenceManager}
*
* @author Sandro Boehme
* @author <a href="mailto:christophe.lombart@sword-technologies.com">Lombart Christophe</a>
@@ -112,7 +111,6 @@
}
/**
- *
* @see org.apache.portals.graffito.jcr.persistence.PersistenceManager#insert(java.lang.String, java.lang.Object)
*/
public void insert(String path, Object object)
@@ -121,7 +119,19 @@
{
if (session.itemExists(path))
{
- throw new PersistenceException("Path already exists : " + path);
+ Item item = session.getItem(path);
+ if (item.isNode())
+ {
+ if ( ! ((Node)item).getDefinition().allowsSameNameSiblings())
+ {
+ throw new PersistenceException("Path already exists and it is not supporting the same name sibling : " + path);
+ }
+ }
+ else
+ {
+ throw new PersistenceException("Path already exists and it is a property : " + path);
+ }
+
}
}
catch (RepositoryException e)
@@ -134,7 +144,6 @@
}
/**
- *
* @see org.apache.portals.graffito.jcr.persistence.PersistenceManager#update(java.lang.String, java.lang.Object)
*/
public void update(String path, Object object)
@@ -183,25 +192,36 @@
try
{
- String jcrExpression = this.queryManager.buildJCRExpression(query);
+ String jcrExpression = this.queryManager.buildJCRExpression(query);
+ log.debug("Remove Objects with expression : " + jcrExpression);
+
javax.jcr.query.Query jcrQuery = session.getWorkspace().getQueryManager().createQuery(jcrExpression, javax.jcr.query.Query.XPATH);
QueryResult queryResult = jcrQuery.execute();
NodeIterator nodeIterator = queryResult.getNodes();
-
-
+ ArrayList nodes = new ArrayList();
+
while (nodeIterator.hasNext())
{
Node node = nodeIterator.nextNode();
log.debug("Remove node : " + node.getPath());
- node.remove();
+ // it is not possible to remove nodes from an NodeIterator
+ // So, we add the node found in a collection to remove them after
+ nodes.add(node);
}
-
+
+ // Remove all collection nodes
+ for(int i = 0; i < nodes.size(); i++)
+ {
+ Node node = (Node) nodes.get(i);
+ node.remove();
+ }
}
catch (RepositoryException e)
{
- throw new PersistenceException("Impossible to delte the object collection", e);
+ throw new PersistenceException("Impossible to get the object collection", e);
}
+
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test-config/jcrmapping.xml
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test-config/jcrmapping.xml?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test-config/jcrmapping.xml (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test-config/jcrmapping.xml Thu Oct 20 12:04:56 2005
@@ -66,7 +66,7 @@
</class-descriptor>
<class-descriptor className="org.apache.portals.graffito.jcr.testmodel.Paragraph" jcrNodeType="graffito:paragraph">
- <field-descriptor fieldName="text" jcrName="graffito:text" />
+ <field-descriptor fieldName="text" jcrName="graffito:text"/>
</class-descriptor>
@@ -80,7 +80,7 @@
</class-descriptor>
<class-descriptor className="org.apache.portals.graffito.jcr.testmodel.hashmap.Element" jcrNodeType="graffito:element">
- <field-descriptor fieldName="id" jcrName="graffito:id" />
+ <field-descriptor fieldName="id" jcrName="graffito:id" />
<field-descriptor fieldName="text" jcrName="graffito:text" />
</class-descriptor>
</graffito-jcr>
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/TestBase.java Thu Oct 20 12:04:56 2005
@@ -30,9 +30,11 @@
import javax.jcr.ImportUUIDBehavior;
import javax.jcr.Repository;
import javax.jcr.Session;
+import javax.jcr.UnsupportedRepositoryOperationException;
import junit.framework.TestCase;
+import org.apache.portals.graffito.jcr.exception.RepositoryException;
import org.apache.portals.graffito.jcr.mapper.impl.DigesterMapperImpl;
import org.apache.portals.graffito.jcr.persistence.PersistenceManager;
import org.apache.portals.graffito.jcr.persistence.atomictypeconverter.impl.BinaryTypeConverterImpl;
@@ -51,81 +53,62 @@
import org.apache.portals.graffito.jcr.repository.RepositoryUtil;
import org.xml.sax.ContentHandler;
-/**
+/**
* Base class for testcases. Provides priviledged access to the jcr test
* repository.
- *
+ *
* @author <a href="mailto:okiessler@apache.org">Oliver Kiessler</a>
* @version $Id: Exp $
*/
public abstract class TestBase extends TestCase
{
- /**
- * Jcr session to work with.
- */
+
protected Session session;
private PersistenceManager persistenceManager;
private QueryManager queryManager;
+ DigesterMapperImpl mapper;
+
private static boolean isInit = false;
/**
- * <p>Defines the test case name for junit.</p>
- * @param testName The test case name.
+ * <p>
+ * Defines the test case name for junit.
+ * </p>
+ *
+ * @param testName
+ * The test case name.
*/
- public TestBase(String testName) throws Exception
+ public TestBase(String testName)
{
super(testName);
- if (!isInit)
- {
- RepositoryUtil.registerRepository("repositoryTest", "./src/test-config/repository.xml", "./target/repository");
- isInit = true;
- }
- }
- /** Setting up the testcase.
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
try
{
- super.setUp();
- String[] files = { "./src/test-config/jcrmapping.xml", "./src/test-config/jcrmapping-atomic.xml" };
- DigesterMapperImpl mapper = new DigesterMapperImpl(files);
- Repository repository = RepositoryUtil.getRepository("repositoryTest");
-
- session = RepositoryUtil.login(repository, "superuser", "superuser");
-
- // TODO : After Spring integration, move the following code into the assembly script
-
- HashMap atomicTypeConverters = new HashMap();
- atomicTypeConverters.put(String.class, new StringTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(InputStream.class, new BinaryTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(long.class, new LongTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Long.class, new LongTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(int.class, new IntTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Integer.class, new IntTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(double.class, new DoubleTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Double.class, new DoubleTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(boolean.class, new BooleanTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Boolean.class, new BooleanTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Calendar.class, new CalendarTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(GregorianCalendar.class, new CalendarTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Date.class, new UtilDateTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(byte[].class, new ByteArrayTypeConverterImpl(session.getValueFactory()));
- atomicTypeConverters.put(Timestamp.class, new TimestampTypeConverterImpl(session.getValueFactory()));
- queryManager = new QueryManagerImpl(mapper, atomicTypeConverters);
- persistenceManager = new PersistenceManagerImpl(mapper, atomicTypeConverters, queryManager, session);
+ if (!isInit)
+ {
+ RepositoryUtil.registerRepository("repositoryTest", "./src/test-config/repository.xml", "./target/repository");
+ isInit = true;
+ }
+
}
catch (Exception e)
{
e.printStackTrace();
- fail();
+ fail("Impossible to init the repository");
}
+ }
+ /**
+ * Setting up the testcase.
+ *
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception
+ {
+ super.setUp();
}
/**
@@ -133,21 +116,64 @@
*/
public void tearDown() throws Exception
{
- getPersistenceManager().logout();
super.tearDown();
}
-
- /** Getter for property persistenceManager.
+ /**
+ * Getter for property persistenceManager.
+ *
* @return jcrSession
*/
public PersistenceManager getPersistenceManager()
{
- return persistenceManager;
+ try
+ {
+ if (persistenceManager == null)
+ {
+ initPersistenceManager();
+ }
+ return persistenceManager;
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ protected void initPersistenceManager() throws UnsupportedRepositoryOperationException, javax.jcr.RepositoryException
+ {
+ Repository repository = RepositoryUtil.getRepository("repositoryTest");
+ String[] files = { "./src/test-config/jcrmapping.xml", "./src/test-config/jcrmapping-atomic.xml" };
+ session = RepositoryUtil.login(repository, "superuser", "superuser");
+ HashMap atomicTypeConverters = new HashMap();
+ atomicTypeConverters.put(String.class, new StringTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(InputStream.class, new BinaryTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(long.class, new LongTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Long.class, new LongTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(int.class, new IntTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Integer.class, new IntTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(double.class, new DoubleTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Double.class, new DoubleTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(boolean.class, new BooleanTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Boolean.class, new BooleanTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Calendar.class, new CalendarTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(GregorianCalendar.class, new CalendarTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Date.class, new UtilDateTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(byte[].class, new ByteArrayTypeConverterImpl(session.getValueFactory()));
+ atomicTypeConverters.put(Timestamp.class, new TimestampTypeConverterImpl(session.getValueFactory()));
+
+ mapper = new DigesterMapperImpl(files);
+ queryManager = new QueryManagerImpl(mapper, atomicTypeConverters);
+ persistenceManager = new PersistenceManagerImpl(mapper, atomicTypeConverters, queryManager, session);
+
}
- /** Setter for property jcrSession.
- * @param persistenceManager The persistence manager
+ /**
+ * Setter for property jcrSession.
+ *
+ * @param persistenceManager
+ * The persistence manager
*/
public void setPersistenceManager(PersistenceManager persistenceManager)
{
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/AtomicTest.java Thu Oct 20 12:04:56 2005
@@ -54,13 +54,6 @@
return new TestSuite(AtomicTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
/**
* @see junit.framework.TestCase#tearDown()
@@ -81,7 +74,7 @@
try
{
PersistenceManager persistenceManager = getPersistenceManager();
-
+
// --------------------------------------------------------------------------------
// Create and store an object graph in the repository
// --------------------------------------------------------------------------------
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/atomicconverter/NullAtomicTest.java Thu Oct 20 12:04:56 2005
@@ -17,15 +17,9 @@
package org.apache.portals.graffito.jcr.persistence.atomicconverter;
import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
import java.util.Calendar;
-import java.util.Collection;
import java.util.Date;
-import javax.jcr.Node;
-import javax.jcr.Property;
-import javax.jcr.Session;
-
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -33,11 +27,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.portals.graffito.jcr.TestBase;
import org.apache.portals.graffito.jcr.persistence.PersistenceManager;
-import org.apache.portals.graffito.jcr.testmodel.A;
import org.apache.portals.graffito.jcr.testmodel.Atomic;
-import org.apache.portals.graffito.jcr.testmodel.B;
-import org.apache.portals.graffito.jcr.testmodel.C;
-import org.apache.portals.graffito.jcr.testmodel.Folder;
/**
* Test Atomic perisstence fields
@@ -52,7 +42,7 @@
* <p>Defines the test case name for junit.</p>
* @param testName The test case name.
*/
- public NullAtomicTest(String testName) throws Exception
+ public NullAtomicTest(String testName)
{
super(testName);
}
@@ -63,13 +53,6 @@
return new TestSuite(NullAtomicTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
/**
* @see junit.framework.TestCase#tearDown()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/DefaultCollectionConverterImplTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/DefaultCollectionConverterImplTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/DefaultCollectionConverterImplTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/DefaultCollectionConverterImplTest.java Thu Oct 20 12:04:56 2005
@@ -53,14 +53,6 @@
return new TestSuite(DefaultCollectionConverterImplTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
/**
* @see junit.framework.TestCase#tearDown()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/HashMapTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/HashMapTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/HashMapTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/HashMapTest.java Thu Oct 20 12:04:56 2005
@@ -55,14 +55,6 @@
return new TestSuite(HashMapTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
/**
* @see junit.framework.TestCase#tearDown()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/MultiValueCollectionConverterImplTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/MultiValueCollectionConverterImplTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/MultiValueCollectionConverterImplTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/MultiValueCollectionConverterImplTest.java Thu Oct 20 12:04:56 2005
@@ -56,14 +56,6 @@
return new TestSuite(MultiValueCollectionConverterImplTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
/**
* @see junit.framework.TestCase#tearDown()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/NTCollectionConverterImplTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/NTCollectionConverterImplTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/NTCollectionConverterImplTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/collectionconverter/impl/NTCollectionConverterImplTest.java Thu Oct 20 12:04:56 2005
@@ -55,14 +55,6 @@
return new TestSuite(NTCollectionConverterImplTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
/**
* @see junit.framework.TestCase#tearDown()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerAtomicQueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerAtomicQueryTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerAtomicQueryTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerAtomicQueryTest.java Thu Oct 20 12:04:56 2005
@@ -60,15 +60,6 @@
return new TestSuite(PersistenceManagerAtomicQueryTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- this.importData(date);
-
- }
public void tearDown() throws Exception
{
@@ -81,7 +72,7 @@
}
}
-
+ getPersistenceManager().save();
super.tearDown();
}
@@ -92,6 +83,7 @@
try
{
+ this.importData(date);
PersistenceManager persistenceManager = this.getPersistenceManager();
// Test Boolean value
@@ -204,13 +196,6 @@
{
PersistenceManager persistenceManager = getPersistenceManager();
-
- if (persistenceManager.objectExists("/test"))
- {
- persistenceManager.remove("/test");
- }
-
-
for (int i = 1; i <= 100; i++)
{
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerIteratorQueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerIteratorQueryTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerIteratorQueryTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerIteratorQueryTest.java Thu Oct 20 12:04:56 2005
@@ -78,9 +78,9 @@
if (getPersistenceManager().objectExists("/test"))
{
getPersistenceManager().remove("/test");
- getPersistenceManager().save();
+
}
-
+ getPersistenceManager().save();
super.tearDown();
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerMultiValueQueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerMultiValueQueryTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerMultiValueQueryTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerMultiValueQueryTest.java Thu Oct 20 12:04:56 2005
@@ -73,9 +73,9 @@
if (getPersistenceManager().objectExists("/test"))
{
getPersistenceManager().remove("/test");
- getPersistenceManager().save();
+
}
-
+ getPersistenceManager().save();
super.tearDown();
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerRemoveTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerRemoveTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerRemoveTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerRemoveTest.java Thu Oct 20 12:04:56 2005
@@ -81,6 +81,7 @@
}
}
+ getPersistenceManager().save();
super.tearDown();
}
@@ -102,6 +103,7 @@
filter.addEqualTo("booleanObject" , new Boolean(false));
Query query = queryManager.createQuery(filter);
persistenceManager.remove(query);
+ persistenceManager.save();
filter = queryManager.createFilter(Atomic.class);
filter.setScope("//");
Added: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSameNameSiblingTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSameNameSiblingTest.java?rev=326977&view=auto
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSameNameSiblingTest.java (added)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSameNameSiblingTest.java Thu Oct 20 12:04:56 2005
@@ -0,0 +1,203 @@
+/* ========================================================================
+ * Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed 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.apache.portals.graffito.jcr.persistence.impl;
+
+import java.io.ByteArrayInputStream;
+import java.sql.Timestamp;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.portals.graffito.jcr.TestBase;
+import org.apache.portals.graffito.jcr.persistence.PersistenceManager;
+import org.apache.portals.graffito.jcr.persistence.atomictypeconverter.AtomicTypeConverter;
+import org.apache.portals.graffito.jcr.query.Filter;
+import org.apache.portals.graffito.jcr.query.Query;
+import org.apache.portals.graffito.jcr.query.QueryManager;
+import org.apache.portals.graffito.jcr.testmodel.Atomic;
+import org.apache.portals.graffito.jcr.testmodel.Page;
+import org.apache.portals.graffito.jcr.testmodel.Paragraph;
+
+/**
+ * Test Query on atomic fields
+ *
+ * @author <a href="mailto:christophe.lombart@sword-technologies.com">Christophe Lombart</a>
+ */
+public class PersistenceManagerSameNameSiblingTest extends TestBase
+{
+ private final static Log log = LogFactory.getLog(PersistenceManagerSameNameSiblingTest.class);
+ private Date date = new Date();
+
+ /**
+ * <p>Defines the test case name for junit.</p>
+ * @param testName The test case name.
+ */
+ public PersistenceManagerSameNameSiblingTest(String testName) throws Exception
+ {
+ super(testName);
+
+ }
+
+ public static Test suite()
+ {
+ // All methods starting with "test" will be executed in the test suite.
+ return new TestSuite(PersistenceManagerSameNameSiblingTest.class);
+ }
+
+
+ public void testSameNameSiblings()
+ {
+
+ try
+ {
+ this.importData(date);
+ PersistenceManager persistenceManager = this.getPersistenceManager();
+
+ // Query all objects
+ QueryManager queryManager = this.getQueryManager();
+ Filter filter = queryManager.createFilter(Atomic.class);
+ filter.setScope("/");
+ Query query = queryManager.createQuery(filter);
+ Collection result = persistenceManager.getObjects(query);
+ assertTrue("Incorrect number of objects found", result.size() == 10);
+
+ // Get objects
+ Atomic atomic = (Atomic) persistenceManager.getObject(Atomic.class, "/test[2]");
+ assertNotNull("Object /test[2] not found", atomic);
+
+ atomic = (Atomic) persistenceManager.getObject(Atomic.class, "/test[10]");
+ assertNotNull("Object /test[2] not found", atomic);
+
+ // Update the object
+ atomic.setString("Modified Test String 10");
+ persistenceManager.update("/test[10]", atomic);
+ persistenceManager.save();
+
+ // Query on the attribute "string"
+ queryManager = this.getQueryManager();
+ filter = queryManager.createFilter(Atomic.class);
+ filter.addLike("string", "Modified%");
+ query = queryManager.createQuery(filter);
+ result = persistenceManager.getObjects(query);
+ assertTrue("Incorrect number of objects found", result.size() == 1);
+
+ atomic = (Atomic) persistenceManager.getObject(query);
+ assertNotNull("Object not found", atomic);
+ assertTrue("Incorrect Object", atomic.getString().equals("Modified Test String 10"));
+
+ // Delete all objects
+ queryManager = this.getQueryManager();
+ filter = queryManager.createFilter(Atomic.class);
+ filter.setScope("/");
+ query = queryManager.createQuery(filter) ;
+ persistenceManager.remove(query);
+ persistenceManager.save();
+
+ result = persistenceManager.getObjects(query);
+ assertTrue("Incorrect number of objects found", result.size() == 0);
+
+
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ fail();
+ }
+
+ }
+
+ public void testUnsupportedSameNameSiblings()
+ {
+ PersistenceManager persistenceManager = getPersistenceManager();
+ try
+ {
+
+ Page page = new Page();
+ page.setTitle("Page Title");
+ persistenceManager.insert("/page", page);
+ persistenceManager.save();
+
+ Paragraph p1 = new Paragraph("para1");
+ persistenceManager.insert("/page/paragraph", p1);
+ Paragraph p2 = new Paragraph("para1");
+ persistenceManager.insert("/page/paragraph", p2);
+ fail();
+
+ }
+ catch(Exception e)
+ {
+ persistenceManager.remove("/page");
+ persistenceManager.save();
+ }
+ }
+
+
+ private void importData(Date date)
+ {
+ try
+ {
+
+ PersistenceManager persistenceManager = getPersistenceManager();
+
+
+ for (int i = 1; i <= 10; i++)
+ {
+ Atomic a = new Atomic();
+ a.setBooleanObject(new Boolean(i%2==0));
+ a.setBooleanPrimitive(true);
+ a.setIntegerObject(new Integer(100 * i));
+ a.setIntPrimitive(200 + i);
+ a.setString("Test String " + i);
+ a.setDate(date);
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(1976, 4, 20, 15, 40);
+ a.setCalendar(calendar);
+ a.setDoubleObject(new Double(2.12 + i));
+ a.setDoublePrimitive(1.23 + i);
+ long now = System.currentTimeMillis();
+ a.setTimestamp(new Timestamp(now));
+ if ((i % 2) == 0)
+ {
+ a.setByteArray("This is small object stored in a JCR repository".getBytes());
+ a.setInputStream(new ByteArrayInputStream("Test inputstream".getBytes()));
+ }
+ else
+ {
+ a.setByteArray("This is small object stored in a Graffito repository".getBytes());
+ a.setInputStream(new ByteArrayInputStream("Another Stream".getBytes()));
+ }
+ persistenceManager.insert("/test", a);
+
+
+ }
+ persistenceManager.save();
+
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ fail("Exception occurs during the unit test : " + e);
+ }
+
+ }
+
+}
\ No newline at end of file
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerScopeQueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerScopeQueryTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerScopeQueryTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerScopeQueryTest.java Thu Oct 20 12:04:56 2005
@@ -76,10 +76,9 @@
{
if (getPersistenceManager().objectExists("/test"))
{
- getPersistenceManager().remove("/test");
- getPersistenceManager().save();
+ getPersistenceManager().remove("/test");
}
-
+ getPersistenceManager().save();
super.tearDown();
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSimpleQueryTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSimpleQueryTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSimpleQueryTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerSimpleQueryTest.java Thu Oct 20 12:04:56 2005
@@ -73,6 +73,8 @@
public void tearDown() throws Exception
{
getPersistenceManager().remove("/test");
+ getPersistenceManager().save();
+
super.tearDown();
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/persistence/impl/PersistenceManagerTest.java Thu Oct 20 12:04:56 2005
@@ -60,13 +60,6 @@
return new TestSuite(PersistenceManagerTest.class);
}
- /**
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception
- {
- super.setUp();
- }
/**
* @see junit.framework.TestCase#tearDown()
@@ -74,6 +67,7 @@
public void tearDown() throws Exception
{
getPersistenceManager().remove("/test");
+ getPersistenceManager().save();
super.tearDown();
}
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/query/impl/QueryManagerTest.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/query/impl/QueryManagerTest.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/query/impl/QueryManagerTest.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/query/impl/QueryManagerTest.java Thu Oct 20 12:04:56 2005
@@ -16,21 +16,16 @@
*/
package org.apache.portals.graffito.jcr.query.impl;
-import java.util.ArrayList;
-
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.portals.graffito.jcr.TestBase;
-import org.apache.portals.graffito.jcr.exception.JcrMappingException;
import org.apache.portals.graffito.jcr.query.Filter;
import org.apache.portals.graffito.jcr.query.Query;
import org.apache.portals.graffito.jcr.query.QueryManager;
import org.apache.portals.graffito.jcr.testmodel.C;
-import org.apache.portals.graffito.jcr.testmodel.Page;
-import org.apache.portals.graffito.jcr.testmodel.Paragraph;
/**
@@ -49,6 +44,7 @@
public QueryManagerTest(String testName) throws Exception
{
super(testName);
+ initPersistenceManager();
}
public static Test suite()
Modified: incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Page.java
URL: http://svn.apache.org/viewcvs/incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Page.java?rev=326977&r1=326976&r2=326977&view=diff
==============================================================================
--- incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Page.java (original)
+++ incubator/graffito/trunk/jcr-mapping/src/test/org/apache/portals/graffito/jcr/testmodel/Page.java Thu Oct 20 12:04:56 2005
@@ -16,6 +16,7 @@
package org.apache.portals.graffito.jcr.testmodel;
+import java.util.ArrayList;
import java.util.Collection;
/**
@@ -56,6 +57,17 @@
{
this.title = title;
}
+
+ public void addParagraph(Paragraph paragraph)
+ {
+ if (paragraphs == null)
+ {
+ paragraphs = new ArrayList();
+ }
+
+ paragraphs.add(paragraph);
+ }
+
}