You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by cl...@apache.org on 2008/05/21 22:42:52 UTC
svn commit: r658855 - in /jackrabbit/trunk/jackrabbit-ocm/src:
main/java/org/apache/jackrabbit/ocm/query/impl/
test/java/org/apache/jackrabbit/ocm/manager/query/
Author: clombart
Date: Wed May 21 13:42:52 2008
New Revision: 658855
URL: http://svn.apache.org/viewvc?rev=658855&view=rev
Log:
Fix for JCR-1286.
Modified:
jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java
jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/QueryManagerImpl.java
jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/AnnotationAtomicQueryTest.java
jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/DigesterAtomicQueryTest.java
Modified: jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java?rev=658855&r1=658854&r2=658855&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/FilterImpl.java Wed May 21 13:42:52 2008
@@ -26,7 +26,9 @@
import org.apache.commons.logging.LogFactory;
import org.apache.jackrabbit.ocm.manager.atomictypeconverter.AtomicTypeConverter;
import org.apache.jackrabbit.ocm.mapper.model.ClassDescriptor;
+import org.apache.jackrabbit.ocm.mapper.model.FieldDescriptor;
import org.apache.jackrabbit.ocm.query.Filter;
+import org.apache.jackrabbit.ocm.reflection.ReflectionUtils;
/**
* {@link org.apache.jackrabbit.ocm.query.Filter}
@@ -113,9 +115,9 @@
*/
public Filter addBetween(String fieldAttributeName, Object value1, Object value2) {
String jcrExpression = "( @" + this.getJcrFieldName(fieldAttributeName) + " >= "
- + this.getStringValue(value1)
+ + this.getStringValue(fieldAttributeName, value1)
+ " and @" + this.getJcrFieldName(fieldAttributeName) + " <= "
- + this.getStringValue(value2) + ")";
+ + this.getStringValue(fieldAttributeName, value2) + ")";
addExpression(jcrExpression);
@@ -127,7 +129,7 @@
*/
public Filter addEqualTo(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " = "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -138,7 +140,7 @@
*/
public Filter addGreaterOrEqualThan(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " >= "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -149,7 +151,7 @@
*/
public Filter addGreaterThan(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " > "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -160,7 +162,7 @@
*/
public Filter addLessOrEqualThan(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " <= "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -171,7 +173,7 @@
*/
public Filter addLessThan(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " < "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -193,7 +195,7 @@
*/
public Filter addNotEqualTo(String fieldAttributeName, Object value) {
String jcrExpression = "@" + this.getJcrFieldName(fieldAttributeName) + " != "
- + this.getStringValue(value);
+ + this.getStringValue(fieldAttributeName, value);
addExpression(jcrExpression);
return this;
@@ -228,7 +230,7 @@
{
if ( null == jcrExpression || "".equals(jcrExpression) )
{
- jcrExpression = ((FilterImpl) filter).getJcrExpression() ;
+ jcrExpression = ((FilterImpl) filter).getJcrExpression() ;
}
else
{
@@ -247,7 +249,7 @@
{
if ( null == jcrExpression || "".equals(jcrExpression) )
{
- jcrExpression = ((FilterImpl) filter).getJcrExpression() ;
+ jcrExpression = ((FilterImpl) filter).getJcrExpression() ;
}
else
{
@@ -274,10 +276,30 @@
}
- private String getStringValue(Object value) {
- AtomicTypeConverter atomicTypeConverter = (AtomicTypeConverter) atomicTypeConverters.get(
- value.getClass());
-
+ private String getStringValue(String fieldName, Object value) {
+ FieldDescriptor fieldDescriptor = classDescriptor.getFieldDescriptor(fieldName);
+ AtomicTypeConverter atomicTypeConverter = null ;
+ // if the attribute is a simple field (primitive data type or wrapper class)
+ if (fieldDescriptor != null)
+ {
+ String fieldConverterName = fieldDescriptor.getConverter();
+
+ // if a field converter is set in the mapping, use this one
+ if ( fieldConverterName != null )
+ {
+ atomicTypeConverter = (AtomicTypeConverter) ReflectionUtils.newInstance(fieldConverterName);
+ }
+ // else use a default converter in function of the attribute type
+ else
+ {
+ atomicTypeConverter = (AtomicTypeConverter) atomicTypeConverters.get(value.getClass());
+ }
+ }
+ // else it could be a collection (for example, it is a multivalue property)
+ else
+ {
+ atomicTypeConverter = (AtomicTypeConverter) atomicTypeConverters.get(value.getClass());
+ }
return atomicTypeConverter.getXPathQueryValue(valueFactory, value);
}
Modified: jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/QueryManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/QueryManagerImpl.java?rev=658855&r1=658854&r2=658855&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/QueryManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/query/impl/QueryManagerImpl.java Wed May 21 13:42:52 2008
@@ -22,7 +22,10 @@
import javax.jcr.ValueFactory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.jackrabbit.ocm.manager.ManagerConstant;
+import org.apache.jackrabbit.ocm.manager.impl.ObjectContentManagerImpl;
import org.apache.jackrabbit.ocm.mapper.Mapper;
import org.apache.jackrabbit.ocm.mapper.model.ClassDescriptor;
import org.apache.jackrabbit.ocm.query.Filter;
@@ -31,6 +34,8 @@
public class QueryManagerImpl implements QueryManager {
+ private final static Log log = LogFactory.getLog(ObjectContentManagerImpl.class);
+
private Mapper mapper;
private Map atomicTypeConverters;
private ValueFactory valueFactory;
@@ -85,6 +90,7 @@
// Add order by
jcrExp += ((QueryImpl) query).getOrderByExpression();
+ log.debug(jcrExp);
return jcrExp;
@@ -118,11 +124,11 @@
String jcrNodeType = classDescriptor.getJcrType();
if (jcrNodeType == null || jcrNodeType.equals(""))
{
- return ManagerConstant.NT_UNSTRUCTURED;
+ return ManagerConstant.NT_UNSTRUCTURED;
}
else
{
- return jcrNodeType;
+ return jcrNodeType;
}
}
Modified: jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/AnnotationAtomicQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/AnnotationAtomicQueryTest.java?rev=658855&r1=658854&r2=658855&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/AnnotationAtomicQueryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/AnnotationAtomicQueryTest.java Wed May 21 13:42:52 2008
@@ -44,7 +44,7 @@
{
private final static Log log = LogFactory.getLog(AnnotationAtomicQueryTest.class);
private Date date = new Date();
-
+
/**
* <p>Defines the test case name for junit.</p>
* @param testName The test case name.
@@ -52,7 +52,7 @@
public AnnotationAtomicQueryTest(String testName) throws Exception
{
super(testName);
-
+
}
public static Test suite()
@@ -60,28 +60,33 @@
// All methods starting with "test" will be executed in the test suite.
return new RepositoryLifecycleTestSetup(new TestSuite(AnnotationAtomicQueryTest.class));
}
-
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ this.importData(date);
+ }
+
public void testQueryAtomicFields()
{
try
{
-
- this.importData(date);
+
ObjectContentManager ocm = this.getObjectContentManager();
-
+
// Test Boolean value
QueryManager queryManager = this.getQueryManager();
Filter filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("booleanObject", new Boolean(true));
Query query = queryManager.createQuery(filter);
-
+
long start = System.currentTimeMillis();
Collection result = ocm.getObjects(query);
System.out.println("getObjects : " + (System.currentTimeMillis() - start));
-
+
assertTrue("Invalid number of objects - should be = 50", result.size() == 50);
-
+
filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("booleanPrimitive", new Boolean(false));
query = queryManager.createQuery(filter);
@@ -90,32 +95,32 @@
result = ocm.getObjects(query);
System.out.println("getObjects 2 : " + (System.currentTimeMillis() - start));
assertTrue("Invalid number of objects - should be = 0", result.size() == 0);
-
-
+
+
// Test int value
filter = queryManager.createFilter(Atomic.class);
filter.addBetween("integerObject", new Integer(0), new Integer(500));
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 5", result.size() == 5);
-
+
filter = queryManager.createFilter(Atomic.class);
filter.addLessOrEqualThan("intPrimitive", new Integer(236));
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 36", result.size() == 36);
-
+
//Test Date & Calendar
filter = queryManager.createFilter(Atomic.class);
Calendar calendar = Calendar.getInstance();
calendar.set(2012, Calendar.DECEMBER, 01);
filter.addLessThan("calendar", calendar);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
filter = queryManager.createFilter(Atomic.class);
@@ -123,55 +128,55 @@
calendar.set(1975, Calendar.DECEMBER, 01);
filter.addLessThan("calendar", calendar);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("date", date);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addBetween("date", date, new Date());
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addGreaterThan("date", date);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
// Test contains method
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains(".", "JCR");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 50 ", result.size() == 50);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains("string", "JCR");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 50 ", result.size() == 50);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains("string", "ocm");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
-
+
}
catch (Exception e)
{
@@ -181,13 +186,30 @@
}
+ public void testQueryAtomicFieldsWithConverter()
+ {
+ ObjectContentManager ocm = this.getObjectContentManager();
+
+ // Test Boolean value
+ QueryManager queryManager = this.getQueryManager();
+ Filter filter = queryManager.createFilter(Atomic.class);
+ filter.addEqualTo("int2boolean", new Boolean(true));
+ Query query = queryManager.createQuery(filter);
+
+ long start = System.currentTimeMillis();
+ Collection result = ocm.getObjects(query);
+ System.out.println("getObjects : " + (System.currentTimeMillis() - start));
+
+ assertEquals(50, result.size());
+ }
+
private void importData(Date date)
{
try
{
ObjectContentManager ocm = getObjectContentManager();
-
+
for (int i = 1; i <= 100; i++)
{
Atomic a = new Atomic();
@@ -195,7 +217,7 @@
a.setBooleanObject(new Boolean(i%2==0));
a.setBooleanPrimitive(true);
a.setIntegerObject(new Integer(100 * i));
- a.setIntPrimitive(200 + i);
+ a.setIntPrimitive(200 + i);
a.setDate(date);
Calendar calendar = Calendar.getInstance();
calendar.set(1976, 4, 20, 15, 40);
@@ -207,18 +229,20 @@
if ((i % 2) == 0)
{
a.setString("Test String JCR " + i);
- a.setByteArray("This is small object stored in a JCR repository".getBytes());
- a.setInputStream(new ByteArrayInputStream("Test inputstream".getBytes()));
+ a.setByteArray("This is small object stored in a JCR repository".getBytes());
+ a.setInputStream(new ByteArrayInputStream("Test inputstream".getBytes()));
+ a.setInt2boolean(true);
}
else
{
a.setByteArray("This is small object stored in the ocm repository".getBytes());
a.setInputStream(new ByteArrayInputStream("Another Stream".getBytes()));
a.setString("Test String " + i);
+ a.setInt2boolean(false);
}
ocm.insert(a);
-
-
+
+
}
ocm.save();
@@ -230,5 +254,6 @@
}
}
-
+
+
}
\ No newline at end of file
Modified: jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/DigesterAtomicQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/DigesterAtomicQueryTest.java?rev=658855&r1=658854&r2=658855&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/DigesterAtomicQueryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-ocm/src/test/java/org/apache/jackrabbit/ocm/manager/query/DigesterAtomicQueryTest.java Wed May 21 13:42:52 2008
@@ -44,7 +44,7 @@
{
private final static Log log = LogFactory.getLog(DigesterAtomicQueryTest.class);
private Date date = new Date();
-
+
/**
* <p>Defines the test case name for junit.</p>
* @param testName The test case name.
@@ -52,7 +52,7 @@
public DigesterAtomicQueryTest(String testName) throws Exception
{
super(testName);
-
+
}
public static Test suite()
@@ -60,28 +60,33 @@
// All methods starting with "test" will be executed in the test suite.
return new RepositoryLifecycleTestSetup(new TestSuite(DigesterAtomicQueryTest.class));
}
-
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ this.importData(date);
+ }
+
public void testQueryAtomicFields()
{
try
{
-
- this.importData(date);
+
ObjectContentManager ocm = this.getObjectContentManager();
-
+
// Test Boolean value
QueryManager queryManager = this.getQueryManager();
Filter filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("booleanObject", new Boolean(true));
Query query = queryManager.createQuery(filter);
-
+
long start = System.currentTimeMillis();
Collection result = ocm.getObjects(query);
System.out.println("getObjects : " + (System.currentTimeMillis() - start));
-
+
assertTrue("Invalid number of objects - should be = 50", result.size() == 50);
-
+
filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("booleanPrimitive", new Boolean(false));
query = queryManager.createQuery(filter);
@@ -90,32 +95,32 @@
result = ocm.getObjects(query);
System.out.println("getObjects 2 : " + (System.currentTimeMillis() - start));
assertTrue("Invalid number of objects - should be = 0", result.size() == 0);
-
-
+
+
// Test int value
filter = queryManager.createFilter(Atomic.class);
filter.addBetween("integerObject", new Integer(0), new Integer(500));
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 5", result.size() == 5);
-
+
filter = queryManager.createFilter(Atomic.class);
filter.addLessOrEqualThan("intPrimitive", new Integer(236));
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 36", result.size() == 36);
-
+
//Test Date & Calendar
filter = queryManager.createFilter(Atomic.class);
Calendar calendar = Calendar.getInstance();
calendar.set(2012, Calendar.DECEMBER, 01);
filter.addLessThan("calendar", calendar);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
filter = queryManager.createFilter(Atomic.class);
@@ -123,55 +128,55 @@
calendar.set(1975, Calendar.DECEMBER, 01);
filter.addLessThan("calendar", calendar);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addEqualTo("date", date);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addBetween("date", date, new Date());
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 100 ", result.size() == 100);
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addGreaterThan("date", date);
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
// Test contains method
- filter = queryManager.createFilter(Atomic.class);
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains(".", "JCR");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 50 ", result.size() == 50);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains("string", "JCR");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 50 ", result.size() == 50);
-
- filter = queryManager.createFilter(Atomic.class);
+
+ filter = queryManager.createFilter(Atomic.class);
filter.addContains("string", "ocm");
query = queryManager.createQuery(filter);
-
- result = ocm.getObjects(query);
+
+ result = ocm.getObjects(query);
assertTrue("Invalid number of objects - should be = 0 ", result.size() == 0);
-
+
}
catch (Exception e)
{
@@ -181,13 +186,30 @@
}
+ public void testQueryAtomicFieldsWithConverter()
+ {
+ ObjectContentManager ocm = this.getObjectContentManager();
+
+ // Test Boolean value
+ QueryManager queryManager = this.getQueryManager();
+ Filter filter = queryManager.createFilter(Atomic.class);
+ filter.addEqualTo("int2boolean", new Boolean(true));
+ Query query = queryManager.createQuery(filter);
+
+ long start = System.currentTimeMillis();
+ Collection result = ocm.getObjects(query);
+ System.out.println("getObjects : " + (System.currentTimeMillis() - start));
+
+ assertEquals(50, result.size());
+ }
+
private void importData(Date date)
{
try
{
ObjectContentManager ocm = getObjectContentManager();
-
+
for (int i = 1; i <= 100; i++)
{
Atomic a = new Atomic();
@@ -195,7 +217,7 @@
a.setBooleanObject(new Boolean(i%2==0));
a.setBooleanPrimitive(true);
a.setIntegerObject(new Integer(100 * i));
- a.setIntPrimitive(200 + i);
+ a.setIntPrimitive(200 + i);
a.setDate(date);
Calendar calendar = Calendar.getInstance();
calendar.set(1976, 4, 20, 15, 40);
@@ -206,19 +228,21 @@
a.setTimestamp(new Timestamp(now));
if ((i % 2) == 0)
{
- a.setString("Test String JCR " + i);
+ a.setString("Test String JCR " + i);
a.setByteArray("This is small object stored in a JCR repository".getBytes());
a.setInputStream(new ByteArrayInputStream("Test inputstream".getBytes()));
+ a.setInt2boolean(true);
}
else
{
a.setByteArray("This is small object stored in the ocm repository".getBytes());
a.setInputStream(new ByteArrayInputStream("Another Stream".getBytes()));
a.setString("Test String " + i);
+ a.setInt2boolean(false);
}
ocm.insert(a);
-
-
+
+
}
ocm.save();
@@ -230,5 +254,5 @@
}
}
-
+
}
\ No newline at end of file