You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2012/04/26 12:40:20 UTC
svn commit: r1330766 - in
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr:
ItemDelegate.java ItemImpl.java NodeDelegate.java NodeImpl.java
PropertyDelegate.java PropertyImpl.java SessionImpl.java
Author: reschke
Date: Thu Apr 26 10:40:19 2012
New Revision: 1330766
URL: http://svn.apache.org/viewvc?rev=1330766&view=rev
Log:
Start moving code from *Delegate to ItemDelegate
Added:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
Added: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java?rev=1330766&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java (added)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java Thu Apr 26 10:40:19 2012
@@ -0,0 +1,25 @@
+/*
+ * 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.apache.jackrabbit.oak.jcr;
+
+public abstract class ItemDelegate {
+
+ abstract String getName();
+
+ abstract String getPath();
+}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java Thu Apr 26 10:40:19 2012
@@ -34,17 +34,47 @@ import javax.jcr.ValueFactory;
abstract class ItemImpl implements Item {
protected final SessionContext<SessionImpl> sessionContext;
+ protected final ItemDelegate dlg;
/**
* logger instance
*/
private static final Logger log = LoggerFactory.getLogger(ItemImpl.class);
- protected ItemImpl(SessionContext<SessionImpl> sessionContext) {
+ protected ItemImpl(SessionContext<SessionImpl> sessionContext, ItemDelegate itemDelegate) {
this.sessionContext = sessionContext;
+ this.dlg = itemDelegate;
}
//---------------------------------------------------------------< Item >---
+
+ /**
+ * @see javax.jcr.Item#getDepth()
+ */
+ @Override
+ public int getDepth() throws RepositoryException {
+ return Paths.getDepth(dlg.getPath());
+ }
+
+ /**
+ * @see javax.jcr.Item#getName()
+ */
+ @Override
+ public String getName() throws RepositoryException {
+ String oakName = dlg.getName();
+ // special case name of root node
+ return oakName.isEmpty() ? "" : toJcrPath(dlg.getName());
+ }
+
+ /**
+ * @see javax.jcr.Property#getPath()
+ */
+ @Override
+ public String getPath() throws RepositoryException {
+ return toJcrPath(dlg.getPath());
+ }
+
+
@Override
public Session getSession() throws RepositoryException {
return sessionContext.getSession();
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java Thu Apr 26 10:40:19 2012
@@ -16,6 +16,13 @@
*/
package org.apache.jackrabbit.oak.jcr;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jcr.ItemNotFoundException;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.RepositoryException;
+
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Root;
@@ -25,13 +32,7 @@ import org.apache.jackrabbit.oak.namepat
import org.apache.jackrabbit.oak.util.Function1;
import org.apache.jackrabbit.oak.util.Iterators;
-import javax.jcr.ItemNotFoundException;
-import javax.jcr.PathNotFoundException;
-import javax.jcr.RepositoryException;
-import java.util.Iterator;
-import java.util.List;
-
-public class NodeDelegate {
+public class NodeDelegate extends ItemDelegate {
private final SessionContext<SessionImpl> sessionContext;
private Tree tree;
@@ -109,7 +110,7 @@ public class NodeDelegate {
Iterator<PropertyDelegate> getProperties() throws RepositoryException {
return propertyDelegateIterator(getTree().getProperties().iterator());
}
-
+
long getPropertyCount() throws RepositoryException {
return getTree().getPropertyCount();
}
@@ -133,24 +134,27 @@ public class NodeDelegate {
SessionContext<SessionImpl> getSessionContext() {
return sessionContext;
}
-
+
void remove() throws RepositoryException {
getTree().getParent().removeChild(getName());
}
- PropertyDelegate setProperty(String oakName, CoreValue value) throws RepositoryException {
+ PropertyDelegate setProperty(String oakName, CoreValue value)
+ throws RepositoryException {
getState().setProperty(oakName, value);
return getPropertyOrNull(oakName);
}
- PropertyDelegate setProperty(String oakName, List<CoreValue> value) throws RepositoryException {
+ PropertyDelegate setProperty(String oakName, List<CoreValue> value)
+ throws RepositoryException {
getState().setProperty(oakName, value);
return getPropertyOrNull(oakName);
}
- // ------------------------------------------------------------< private >---
+ // ------------------------------------------------------------< private
+ // >---
private Root getBranch() {
return sessionContext.getBranch();
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Thu Apr 26 10:40:19 2012
@@ -16,24 +16,13 @@
*/
package org.apache.jackrabbit.oak.jcr;
-import org.apache.jackrabbit.JcrConstants;
-import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter;
-import org.apache.jackrabbit.commons.iterator.PropertyIteratorAdapter;
-import org.apache.jackrabbit.oak.api.Root;
-import org.apache.jackrabbit.oak.api.CoreValue;
-import org.apache.jackrabbit.oak.api.Tree;
-import org.apache.jackrabbit.oak.api.Tree.Status;
-import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.jcr.util.ItemNameMatcher;
-import org.apache.jackrabbit.oak.jcr.util.LogUtil;
-import org.apache.jackrabbit.oak.jcr.util.ValueConverter;
-import org.apache.jackrabbit.oak.namepath.Paths;
-import org.apache.jackrabbit.oak.util.Function1;
-import org.apache.jackrabbit.oak.util.Iterators;
-import org.apache.jackrabbit.oak.util.Predicate;
-import org.apache.jackrabbit.value.ValueHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static org.apache.jackrabbit.oak.util.Iterators.filter;
+
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
import javax.jcr.Binary;
import javax.jcr.Item;
@@ -54,13 +43,21 @@ import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.NodeTypeManager;
import javax.jcr.version.Version;
import javax.jcr.version.VersionHistory;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.util.Calendar;
-import java.util.Iterator;
-import java.util.List;
-import static org.apache.jackrabbit.oak.util.Iterators.filter;
+import org.apache.jackrabbit.JcrConstants;
+import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter;
+import org.apache.jackrabbit.commons.iterator.PropertyIteratorAdapter;
+import org.apache.jackrabbit.oak.api.CoreValue;
+import org.apache.jackrabbit.oak.api.Tree.Status;
+import org.apache.jackrabbit.oak.jcr.util.ItemNameMatcher;
+import org.apache.jackrabbit.oak.jcr.util.LogUtil;
+import org.apache.jackrabbit.oak.jcr.util.ValueConverter;
+import org.apache.jackrabbit.oak.util.Function1;
+import org.apache.jackrabbit.oak.util.Iterators;
+import org.apache.jackrabbit.oak.util.Predicate;
+import org.apache.jackrabbit.value.ValueHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* {@code NodeImpl}...
@@ -72,16 +69,10 @@ public class NodeImpl extends ItemImpl i
*/
private static final Logger log = LoggerFactory.getLogger(NodeImpl.class);
- // private Tree tree;
private final NodeDelegate dlg;
- NodeImpl(SessionContext<SessionImpl> sessionContext, Tree tree) {
- super(sessionContext);
- this.dlg = new NodeDelegate(sessionContext, tree);
- }
-
NodeImpl(NodeDelegate dlg) {
- super(dlg.getSessionContext());
+ super(dlg.getSessionContext(), dlg);
this.dlg = dlg;
}
@@ -100,24 +91,6 @@ public class NodeImpl extends ItemImpl i
}
/**
- * @see javax.jcr.Item#getName()
- */
- @Override
- public String getName() throws RepositoryException {
- String oakName = dlg.getName();
- // special case name of root node
- return oakName.isEmpty() ? "" : toJcrPath(dlg.getName());
- }
-
- /**
- * @see javax.jcr.Property#getPath()
- */
- @Override
- public String getPath() throws RepositoryException {
- return toJcrPath(dlg.getPath());
- }
-
- /**
* @see javax.jcr.Item#getParent()
*/
@Override
@@ -134,14 +107,6 @@ public class NodeImpl extends ItemImpl i
}
/**
- * @see javax.jcr.Item#getDepth()
- */
- @Override
- public int getDepth() throws RepositoryException {
- return dlg.getDepth();
- }
-
- /**
* @see javax.jcr.Item#isNew()
*/
@Override
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java Thu Apr 26 10:40:19 2012
@@ -27,7 +27,7 @@ import org.apache.jackrabbit.oak.api.Roo
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.namepath.Paths;
-public class PropertyDelegate {
+public class PropertyDelegate extends ItemDelegate {
private final SessionContext<SessionImpl> sessionContext;
private Tree parent;
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java Thu Apr 26 10:40:19 2012
@@ -34,11 +34,9 @@ import javax.jcr.ValueFormatException;
import javax.jcr.nodetype.PropertyDefinition;
import org.apache.jackrabbit.oak.api.PropertyState;
-import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Tree.Status;
import org.apache.jackrabbit.oak.jcr.util.LogUtil;
import org.apache.jackrabbit.oak.jcr.util.ValueConverter;
-import org.apache.jackrabbit.oak.namepath.Paths;
import org.apache.jackrabbit.value.ValueHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,16 +53,9 @@ public class PropertyImpl extends ItemIm
private final PropertyDelegate dlg;
- PropertyImpl(SessionContext<SessionImpl> sessionContext, Tree parent,
- PropertyState propertyState) {
-
- super(sessionContext);
- this.dlg = new PropertyDelegate(sessionContext, parent, propertyState);
- }
-
PropertyImpl(PropertyDelegate dlg) {
- super(dlg.getSessionContext());
+ super(dlg.getSessionContext(), dlg);
this.dlg = dlg;
}
@@ -78,27 +69,12 @@ public class PropertyImpl extends ItemIm
}
/**
- * @see javax.jcr.Item#getName()
- */
- @Override
- public String getName() throws RepositoryException {
- return toJcrPath(dlg.getName());
- }
-
- /**
- * @see javax.jcr.Property#getPath()
- */
- @Override
- public String getPath() throws RepositoryException {
- return toJcrPath(dlg.getPath());
- }
-
- /**
* @see javax.jcr.Item#getParent()
*/
@Override
public Node getParent() throws RepositoryException {
- return new NodeImpl(sessionContext, dlg.getParentContentTree());
+ return new NodeImpl(new NodeDelegate(sessionContext,
+ dlg.getParentContentTree()));
}
/**
@@ -114,14 +90,6 @@ public class PropertyImpl extends ItemIm
}
/**
- * @see javax.jcr.Item#getDepth()
- */
- @Override
- public int getDepth() throws RepositoryException {
- return Paths.getDepth(getPath());
- }
-
- /**
* @see javax.jcr.Item#isNew()
*/
@Override
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1330766&r1=1330765&r2=1330766&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Thu Apr 26 10:40:19 2012
@@ -129,7 +129,7 @@ public class SessionImpl extends Abstrac
@Override
public Node getRootNode() throws RepositoryException {
ensureIsAlive();
- return new NodeImpl(sessionContext, root.getTree("/"));
+ return new NodeImpl(new NodeDelegate(sessionContext, root.getTree("/")));
}
@Override