From: <fg...@us...> - 2010-02-27 10:37:34
|
Revision: 2065 http://openutils.svn.sourceforge.net/openutils/?rev=2065&view=rev Author: fgiust Date: 2010-02-27 10:37:22 +0000 (Sat, 27 Feb 2010) Log Message: ----------- CRIT-7 brand new API for jcr2 features, work in progress Modified Paths: -------------- trunk/openutils-mgnlcriteria/pom.xml Added Paths: ----------- trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/ResultIterator.java trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AdvancedResultItemResultIterator.java Modified: trunk/openutils-mgnlcriteria/pom.xml =================================================================== --- trunk/openutils-mgnlcriteria/pom.xml 2010-02-27 10:11:24 UTC (rev 2064) +++ trunk/openutils-mgnlcriteria/pom.xml 2010-02-27 10:37:22 UTC (rev 2065) @@ -89,11 +89,6 @@ <version>2.4</version> </dependency> <dependency> - <groupId>com.google.collections</groupId> - <artifactId>google-collections</artifactId> - <version>1.0</version> - </dependency> - <dependency> <groupId>javax.jcr</groupId> <artifactId>jcr</artifactId> <version>2.0</version> Added: trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/ResultIterator.java =================================================================== --- trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/ResultIterator.java (rev 0) +++ trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/ResultIterator.java 2010-02-27 10:37:22 UTC (rev 2065) @@ -0,0 +1,80 @@ +package net.sourceforge.openutils.mgnlcriteria.advanced; + +import info.magnolia.cms.core.HierarchyManager; + +import javax.jcr.RangeIterator; +import javax.jcr.query.Row; +import javax.jcr.query.RowIterator; + + +/** + * @author fgiust + * @version $Id$ + */ +public abstract class ResultIterator<T> implements RangeIterator +{ + + protected RowIterator rowIterator; + + protected final HierarchyManager hm; + + /** + * @param rowIterator + */ + public ResultIterator(RowIterator rowIterator, HierarchyManager hm) + { + this.rowIterator = rowIterator; + this.hm = hm; + } + + /** + * {@inheritDoc} + */ + public boolean hasNext() + { + return rowIterator.hasNext(); + } + + /** + * {@inheritDoc} + */ + public void remove() + { + rowIterator.remove(); + } + + /** + * {@inheritDoc} + */ + public void skip(long skipNum) + { + rowIterator.skip(skipNum); + } + + /** + * {@inheritDoc} + */ + public long getSize() + { + return rowIterator.getSize(); + } + + /** + * {@inheritDoc} + */ + public long getPosition() + { + return rowIterator.getPosition(); + } + + /** + * {@inheritDoc} + */ + public T next() + { + return wrap(rowIterator.nextRow()); + } + + protected abstract T wrap(Row row); + +} Property changes on: trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/ResultIterator.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AdvancedResultItemResultIterator.java =================================================================== --- trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AdvancedResultItemResultIterator.java (rev 0) +++ trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AdvancedResultItemResultIterator.java 2010-02-27 10:37:22 UTC (rev 2065) @@ -0,0 +1,50 @@ +package net.sourceforge.openutils.mgnlcriteria.advanced.impl; + +import info.magnolia.cms.core.HierarchyManager; +import info.magnolia.cms.security.AccessDeniedException; + +import javax.jcr.RepositoryException; +import javax.jcr.query.Row; +import javax.jcr.query.RowIterator; + +import net.sourceforge.openutils.mgnlcriteria.advanced.AdvancedResultItem; +import net.sourceforge.openutils.mgnlcriteria.advanced.ResultIterator; + + +/** + * @author fgiust + * @version $Id$ + */ +public class AdvancedResultItemResultIterator extends ResultIterator<AdvancedResultItem> +{ + + /** + * @param rowIterator + * @param hm + */ + public AdvancedResultItemResultIterator(RowIterator rowIterator, HierarchyManager hm) + { + super(rowIterator, hm); + } + + /** + * {@inheritDoc} + */ + @Override + protected AdvancedResultItem wrap(Row row) + { + try + { + return new AdvancedResultItemImpl(row, null); + } + catch (AccessDeniedException e) + { + throw new RuntimeException(e); + } + catch (RepositoryException e) + { + throw new RuntimeException(e); + } + } + +} Property changes on: trunk/openutils-mgnlcriteria/src/main/java/net/sourceforge/openutils/mgnlcriteria/advanced/impl/AdvancedResultItemResultIterator.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |