Return-Path: X-Original-To: apmail-jackrabbit-oak-commits-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0D59AC15B for ; Fri, 27 Apr 2012 14:55:48 +0000 (UTC) Received: (qmail 8996 invoked by uid 500); 27 Apr 2012 14:55:48 -0000 Delivered-To: apmail-jackrabbit-oak-commits-archive@jackrabbit.apache.org Received: (qmail 8974 invoked by uid 500); 27 Apr 2012 14:55:48 -0000 Mailing-List: contact oak-commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-commits@jackrabbit.apache.org Delivered-To: mailing list oak-commits@jackrabbit.apache.org Received: (qmail 8966 invoked by uid 99); 27 Apr 2012 14:55:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 14:55:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 14:55:43 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 758212388A3D; Fri, 27 Apr 2012 14:55:23 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1331450 [2/2] - in /jackrabbit/oak/trunk: ./ oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/ oak-core/ oak-core/src/main/java/org/apache/jackrabbit/mk/ oak-core/src/main/java/org/apache/jackrabbit/mk/fs/ oak-core/src/main/java... Date: Fri, 27 Apr 2012 14:55:22 -0000 To: oak-commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120427145523.758212388A3D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Propchange: jackrabbit/oak/trunk/oak-it/osgi/test-bundles.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: 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=1331450&r1=1331449&r2=1331450&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java Fri Apr 27 14:55:14 2012 @@ -1,25 +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(); -} +/* + * 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(); +} Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemDelegate.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/ItemImpl.java ------------------------------------------------------------------------------ svn:eol-style = native 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=1331450&r1=1331449&r2=1331450&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 Fri Apr 27 14:55:14 2012 @@ -1,190 +1,190 @@ -/* - * 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; - -import org.apache.jackrabbit.oak.api.CoreValue; -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.commons.PathUtils; -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 extends ItemDelegate { - - private final SessionContext sessionContext; - private Tree tree; - - NodeDelegate(SessionContext sessionContext, Tree tree) { - this.sessionContext = sessionContext; - this.tree = tree; - } - - NodeDelegate addNode(String relPath) throws RepositoryException { - Tree parentState = getTree(PathUtils.getParentPath(relPath)); - if (parentState == null) { - throw new PathNotFoundException(relPath); - } - - String name = PathUtils.getName(relPath); - parentState.addChild(name); - return new NodeDelegate(sessionContext, parentState.getChild(name)); - } - - NodeDelegate getAncestor(int depth) throws RepositoryException { - int current = getDepth(); - if (depth < 0 || depth > current) { - throw new ItemNotFoundException("ancestor at depth " + depth - + " does not exist"); - } - Tree ancestor = getTree(); - while (depth < current) { - ancestor = ancestor.getParent(); - current -= 1; - } - return new NodeDelegate(sessionContext, ancestor); - } - - Iterator getChildren() throws RepositoryException { - return nodeDelegateIterator(getTree().getChildren().iterator()); - } - - long getChildrenCount() throws RepositoryException { - return getTree().getChildrenCount(); - } - - int getDepth() throws RepositoryException { - return PathUtils.getDepth(getPath()); - } - - @Override - String getName() { - return getTree().getName(); - } - - Status getNodeStatus() { - return getTree().getParent().getChildStatus(getName()); - } - - NodeDelegate getNodeOrNull(String relOakPath) { - Tree tree = getTree(relOakPath); - return tree == null ? null : new NodeDelegate(sessionContext, tree); - } - - NodeDelegate getParent() throws RepositoryException { - if (getTree().getParent() == null) { - throw new ItemNotFoundException("Root has no parent"); - } - - return new NodeDelegate(sessionContext, getTree().getParent()); - } - - @Override - String getPath() { - return '/' + getTree().getPath(); - } - - Iterator getProperties() throws RepositoryException { - return propertyDelegateIterator(getTree().getProperties().iterator()); - } - - long getPropertyCount() throws RepositoryException { - return getTree().getPropertyCount(); - } - - PropertyDelegate getPropertyOrNull(String relOakPath) - throws RepositoryException { - - Tree parent = getTree(PathUtils.getParentPath(relOakPath)); - if (parent == null) { - return null; - } - - String name = PathUtils.getName(relOakPath); - PropertyState propertyState = parent.getProperty(name); - return propertyState == null ? null : new PropertyDelegate( - sessionContext, parent, propertyState); - } - - SessionContext getSessionContext() { - return sessionContext; - } - - void remove() throws RepositoryException { - getTree().getParent().removeChild(getName()); - } - - PropertyDelegate setProperty(String oakName, CoreValue value) - throws RepositoryException { - - getTree().setProperty(oakName, value); - return getPropertyOrNull(oakName); - } - - PropertyDelegate setProperty(String oakName, List value) - throws RepositoryException { - - getTree().setProperty(oakName, value); - return getPropertyOrNull(oakName); - } - - // -----------------------------------------------------------< private >--- - - private Tree getTree(String relPath) { - Tree tree = getTree(); - for (String name : PathUtils.elements(relPath)) { - if (tree == null) { - return null; - } - tree = tree.getChild(name); - } - return tree; - } - - private synchronized Tree getTree() { - return tree = sessionContext.getTree(tree.getPath()); - } - - private Iterator nodeDelegateIterator( - Iterator childNodeStates) { - return Iterators.map(childNodeStates, - new Function1() { - @Override - public NodeDelegate apply(Tree state) { - return new NodeDelegate(sessionContext, state); - } - }); - } - - private Iterator propertyDelegateIterator( - Iterator properties) { - return Iterators.map(properties, - new Function1() { - @Override - public PropertyDelegate apply(PropertyState propertyState) { - return new PropertyDelegate(sessionContext, tree, - propertyState); - } - }); - } -} +/* + * 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; + +import org.apache.jackrabbit.oak.api.CoreValue; +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.commons.PathUtils; +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 extends ItemDelegate { + + private final SessionContext sessionContext; + private Tree tree; + + NodeDelegate(SessionContext sessionContext, Tree tree) { + this.sessionContext = sessionContext; + this.tree = tree; + } + + NodeDelegate addNode(String relPath) throws RepositoryException { + Tree parentState = getTree(PathUtils.getParentPath(relPath)); + if (parentState == null) { + throw new PathNotFoundException(relPath); + } + + String name = PathUtils.getName(relPath); + parentState.addChild(name); + return new NodeDelegate(sessionContext, parentState.getChild(name)); + } + + NodeDelegate getAncestor(int depth) throws RepositoryException { + int current = getDepth(); + if (depth < 0 || depth > current) { + throw new ItemNotFoundException("ancestor at depth " + depth + + " does not exist"); + } + Tree ancestor = getTree(); + while (depth < current) { + ancestor = ancestor.getParent(); + current -= 1; + } + return new NodeDelegate(sessionContext, ancestor); + } + + Iterator getChildren() throws RepositoryException { + return nodeDelegateIterator(getTree().getChildren().iterator()); + } + + long getChildrenCount() throws RepositoryException { + return getTree().getChildrenCount(); + } + + int getDepth() throws RepositoryException { + return PathUtils.getDepth(getPath()); + } + + @Override + String getName() { + return getTree().getName(); + } + + Status getNodeStatus() { + return getTree().getParent().getChildStatus(getName()); + } + + NodeDelegate getNodeOrNull(String relOakPath) { + Tree tree = getTree(relOakPath); + return tree == null ? null : new NodeDelegate(sessionContext, tree); + } + + NodeDelegate getParent() throws RepositoryException { + if (getTree().getParent() == null) { + throw new ItemNotFoundException("Root has no parent"); + } + + return new NodeDelegate(sessionContext, getTree().getParent()); + } + + @Override + String getPath() { + return '/' + getTree().getPath(); + } + + Iterator getProperties() throws RepositoryException { + return propertyDelegateIterator(getTree().getProperties().iterator()); + } + + long getPropertyCount() throws RepositoryException { + return getTree().getPropertyCount(); + } + + PropertyDelegate getPropertyOrNull(String relOakPath) + throws RepositoryException { + + Tree parent = getTree(PathUtils.getParentPath(relOakPath)); + if (parent == null) { + return null; + } + + String name = PathUtils.getName(relOakPath); + PropertyState propertyState = parent.getProperty(name); + return propertyState == null ? null : new PropertyDelegate( + sessionContext, parent, propertyState); + } + + SessionContext getSessionContext() { + return sessionContext; + } + + void remove() throws RepositoryException { + getTree().getParent().removeChild(getName()); + } + + PropertyDelegate setProperty(String oakName, CoreValue value) + throws RepositoryException { + + getTree().setProperty(oakName, value); + return getPropertyOrNull(oakName); + } + + PropertyDelegate setProperty(String oakName, List value) + throws RepositoryException { + + getTree().setProperty(oakName, value); + return getPropertyOrNull(oakName); + } + + // -----------------------------------------------------------< private >--- + + private Tree getTree(String relPath) { + Tree tree = getTree(); + for (String name : PathUtils.elements(relPath)) { + if (tree == null) { + return null; + } + tree = tree.getChild(name); + } + return tree; + } + + private synchronized Tree getTree() { + return tree = sessionContext.getTree(tree.getPath()); + } + + private Iterator nodeDelegateIterator( + Iterator childNodeStates) { + return Iterators.map(childNodeStates, + new Function1() { + @Override + public NodeDelegate apply(Tree state) { + return new NodeDelegate(sessionContext, state); + } + }); + } + + private Iterator propertyDelegateIterator( + Iterator properties) { + return Iterators.map(properties, + new Function1() { + @Override + public PropertyDelegate apply(PropertyState propertyState) { + return new PropertyDelegate(sessionContext, tree, + propertyState); + } + }); + } +} Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java ------------------------------------------------------------------------------ svn:eol-style = native 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=1331450&r1=1331449&r2=1331450&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 Fri Apr 27 14:55:14 2012 @@ -1,179 +1,179 @@ -/* - * 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; - -import org.apache.jackrabbit.oak.api.CoreValue; -import org.apache.jackrabbit.oak.api.PropertyState; -import org.apache.jackrabbit.oak.api.Tree; -import org.apache.jackrabbit.oak.commons.PathUtils; -import org.apache.jackrabbit.oak.namepath.Paths; - -import javax.jcr.RepositoryException; -import javax.jcr.Value; -import javax.jcr.nodetype.NodeType; -import javax.jcr.nodetype.PropertyDefinition; -import java.util.List; - -public class PropertyDelegate extends ItemDelegate { - - private final SessionContext sessionContext; - private Tree parent; - private PropertyState propertyState; - - PropertyDelegate(SessionContext sessionContext, Tree parent, - PropertyState propertyState) { - this.sessionContext = sessionContext; - this.parent = parent; - this.propertyState = propertyState; - } - - PropertyDefinition getDefinition() throws RepositoryException { - // TODO - return new PropertyDefinition() { - - @Override - public int getRequiredType() { - return 0; - } - - @Override - public String[] getValueConstraints() { - // TODO - return new String[0]; - } - - @Override - public Value[] getDefaultValues() { - // TODO - return new Value[0]; - } - - @Override - public boolean isMultiple() { - // TODO - return propertyState.isArray(); - } - - @Override - public String[] getAvailableQueryOperators() { - // TODO - return new String[0]; - } - - @Override - public boolean isFullTextSearchable() { - // TODO - return false; - } - - @Override - public boolean isQueryOrderable() { - // TODO - return false; - } - - @Override - public NodeType getDeclaringNodeType() { - // TODO - return null; - } - - @Override - public String getName() { - // TODO - return propertyState.getName(); - } - - @Override - public boolean isAutoCreated() { - // TODO - return false; - } - - @Override - public boolean isMandatory() { - // TODO - return false; - } - - @Override - public int getOnParentVersion() { - // TODO - return 0; - } - - @Override - public boolean isProtected() { - // TODO - return false; - } - }; - } - - void remove() throws RepositoryException { - getParentContentTree().removeProperty(getName()); - } - - void setValue(CoreValue value) throws RepositoryException { - getParentContentTree().setProperty(getName(), value); - } - - void setValues(List values) throws RepositoryException { - getParentContentTree().setProperty(getName(), values); - } - - Tree getParentContentTree() { - resolve(); - return parent; - } - - PropertyState getPropertyState() { - resolve(); - return propertyState; - } - - Tree.Status getPropertyStatus() { - return getParentContentTree().getPropertyStatus(getName()); - } - - @Override - String getName() { - return getPropertyState().getName(); - } - - @Override - String getPath() { - return '/' + getParentContentTree().getPath() + '/' + getName(); - } - - SessionContext getSessionContext() { - return sessionContext; - } - - //------------------------------------------------------------< private >--- - - private synchronized void resolve() { - parent = sessionContext.getTree(parent.getPath()); - String path = PathUtils.concat(parent.getPath(), propertyState.getName()); - - if (parent == null) { - propertyState = null; - } else { - propertyState = parent.getProperty(PathUtils.getName(path)); - } - } -} +/* + * 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; + +import org.apache.jackrabbit.oak.api.CoreValue; +import org.apache.jackrabbit.oak.api.PropertyState; +import org.apache.jackrabbit.oak.api.Tree; +import org.apache.jackrabbit.oak.commons.PathUtils; +import org.apache.jackrabbit.oak.namepath.Paths; + +import javax.jcr.RepositoryException; +import javax.jcr.Value; +import javax.jcr.nodetype.NodeType; +import javax.jcr.nodetype.PropertyDefinition; +import java.util.List; + +public class PropertyDelegate extends ItemDelegate { + + private final SessionContext sessionContext; + private Tree parent; + private PropertyState propertyState; + + PropertyDelegate(SessionContext sessionContext, Tree parent, + PropertyState propertyState) { + this.sessionContext = sessionContext; + this.parent = parent; + this.propertyState = propertyState; + } + + PropertyDefinition getDefinition() throws RepositoryException { + // TODO + return new PropertyDefinition() { + + @Override + public int getRequiredType() { + return 0; + } + + @Override + public String[] getValueConstraints() { + // TODO + return new String[0]; + } + + @Override + public Value[] getDefaultValues() { + // TODO + return new Value[0]; + } + + @Override + public boolean isMultiple() { + // TODO + return propertyState.isArray(); + } + + @Override + public String[] getAvailableQueryOperators() { + // TODO + return new String[0]; + } + + @Override + public boolean isFullTextSearchable() { + // TODO + return false; + } + + @Override + public boolean isQueryOrderable() { + // TODO + return false; + } + + @Override + public NodeType getDeclaringNodeType() { + // TODO + return null; + } + + @Override + public String getName() { + // TODO + return propertyState.getName(); + } + + @Override + public boolean isAutoCreated() { + // TODO + return false; + } + + @Override + public boolean isMandatory() { + // TODO + return false; + } + + @Override + public int getOnParentVersion() { + // TODO + return 0; + } + + @Override + public boolean isProtected() { + // TODO + return false; + } + }; + } + + void remove() throws RepositoryException { + getParentContentTree().removeProperty(getName()); + } + + void setValue(CoreValue value) throws RepositoryException { + getParentContentTree().setProperty(getName(), value); + } + + void setValues(List values) throws RepositoryException { + getParentContentTree().setProperty(getName(), values); + } + + Tree getParentContentTree() { + resolve(); + return parent; + } + + PropertyState getPropertyState() { + resolve(); + return propertyState; + } + + Tree.Status getPropertyStatus() { + return getParentContentTree().getPropertyStatus(getName()); + } + + @Override + String getName() { + return getPropertyState().getName(); + } + + @Override + String getPath() { + return '/' + getParentContentTree().getPath() + '/' + getName(); + } + + SessionContext getSessionContext() { + return sessionContext; + } + + //------------------------------------------------------------< private >--- + + private synchronized void resolve() { + parent = sessionContext.getTree(parent.getPath()); + String path = PathUtils.concat(parent.getPath(), propertyState.getName()); + + if (parent == null) { + propertyState = null; + } else { + propertyState = parent.getProperty(PathUtils.getName(path)); + } + } +} Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyDelegate.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/PropertyImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/RepositoryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/WorkspaceImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/namespace/NamespaceRegistryImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/namespace/NamespaceRegistryImpl.java?rev=1331450&r1=1331449&r2=1331450&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/namespace/NamespaceRegistryImpl.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/namespace/NamespaceRegistryImpl.java Fri Apr 27 14:55:14 2012 @@ -1,113 +1,113 @@ -/* - * 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.namespace; - -import javax.jcr.NamespaceException; -import javax.jcr.NamespaceRegistry; -import javax.jcr.RepositoryException; - -import org.apache.jackrabbit.oak.api.CommitFailedException; -import org.apache.jackrabbit.oak.api.ContentSession; -import org.apache.jackrabbit.oak.plugins.name.NamespaceMappings; - -/** - * Implementation of {@link NamespaceRegistry} based on {@link NamespaceMappings}. - */ -public class NamespaceRegistryImpl implements NamespaceRegistry { - - private final NamespaceMappings nsMappings; - - public NamespaceRegistryImpl(ContentSession session) { - this.nsMappings = new NamespaceMappings(session); - } - - //--------------------------------------------------< NamespaceRegistry >--- - @Override - public void registerNamespace(String prefix, String uri) - throws RepositoryException { - try { - nsMappings.registerNamespace(prefix, uri); - } catch (CommitFailedException e) { - throw new RepositoryException( - "Failed to register namespace mapping from " - + prefix + " to " + uri, e); - } - } - - @Override - public void unregisterNamespace(String prefix) throws RepositoryException { - try { - nsMappings.unregisterNamespace(prefix); - } catch (CommitFailedException e) { - throw new RepositoryException( - "Failed to unregister a namespace mapping with prefix " - + prefix, e); - } - } - - @Override - public String[] getPrefixes() throws RepositoryException { - try { - return nsMappings.getPrefixes(); - } catch (RuntimeException e) { - throw new RepositoryException( - "Failed to retrieve registered namespace prefixes", e); - } - } - - @Override - public String[] getURIs() throws RepositoryException { - try { - return nsMappings.getURIs(); - } catch (RuntimeException e) { - throw new RepositoryException( - "Failed to retrieve registered namespace URIs", e); - } - } - - @Override - public String getURI(String prefix) throws RepositoryException { - try { - String uri = nsMappings.getURI(prefix); - if (uri == null) { - throw new NamespaceException( - "No namespace registered for prefix " + prefix); - } - return uri; - } catch (RuntimeException e) { - throw new RepositoryException( - "Failed to retrieve the namespace URI for prefix " - + prefix, e); - } - } - - @Override - public String getPrefix(String uri) throws RepositoryException { - try { - String prefix = nsMappings.getPrefix(uri); - if (prefix == null) { - throw new NamespaceException( - "No namespace registered for prefix " + prefix); - } - return prefix; - } catch (RuntimeException e) { - throw new RepositoryException( - "Failed to retrieve the namespace prefix for URI " - + uri, e); - } - } -} +/* + * 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.namespace; + +import javax.jcr.NamespaceException; +import javax.jcr.NamespaceRegistry; +import javax.jcr.RepositoryException; + +import org.apache.jackrabbit.oak.api.CommitFailedException; +import org.apache.jackrabbit.oak.api.ContentSession; +import org.apache.jackrabbit.oak.plugins.name.NamespaceMappings; + +/** + * Implementation of {@link NamespaceRegistry} based on {@link NamespaceMappings}. + */ +public class NamespaceRegistryImpl implements NamespaceRegistry { + + private final NamespaceMappings nsMappings; + + public NamespaceRegistryImpl(ContentSession session) { + this.nsMappings = new NamespaceMappings(session); + } + + //--------------------------------------------------< NamespaceRegistry >--- + @Override + public void registerNamespace(String prefix, String uri) + throws RepositoryException { + try { + nsMappings.registerNamespace(prefix, uri); + } catch (CommitFailedException e) { + throw new RepositoryException( + "Failed to register namespace mapping from " + + prefix + " to " + uri, e); + } + } + + @Override + public void unregisterNamespace(String prefix) throws RepositoryException { + try { + nsMappings.unregisterNamespace(prefix); + } catch (CommitFailedException e) { + throw new RepositoryException( + "Failed to unregister a namespace mapping with prefix " + + prefix, e); + } + } + + @Override + public String[] getPrefixes() throws RepositoryException { + try { + return nsMappings.getPrefixes(); + } catch (RuntimeException e) { + throw new RepositoryException( + "Failed to retrieve registered namespace prefixes", e); + } + } + + @Override + public String[] getURIs() throws RepositoryException { + try { + return nsMappings.getURIs(); + } catch (RuntimeException e) { + throw new RepositoryException( + "Failed to retrieve registered namespace URIs", e); + } + } + + @Override + public String getURI(String prefix) throws RepositoryException { + try { + String uri = nsMappings.getURI(prefix); + if (uri == null) { + throw new NamespaceException( + "No namespace registered for prefix " + prefix); + } + return uri; + } catch (RuntimeException e) { + throw new RepositoryException( + "Failed to retrieve the namespace URI for prefix " + + prefix, e); + } + } + + @Override + public String getPrefix(String uri) throws RepositoryException { + try { + String prefix = nsMappings.getPrefix(uri); + if (prefix == null) { + throw new NamespaceException( + "No namespace registered for prefix " + prefix); + } + return prefix; + } catch (RuntimeException e) { + throw new RepositoryException( + "Failed to retrieve the namespace prefix for URI " + + uri, e); + } + } +} Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/namespace/NamespaceRegistryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/ItemDefinitionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeDefinitionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/NodeTypeManagerImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/nodetype/PropertyDefinitionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryManagerImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/QueryResultImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/RowImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/AndImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/BindVariableValueImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/ChildNodeImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/ChildNodeJoinConditionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/ColumnImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/ComparisonImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/ConstraintImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/DescendantNodeImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/DescendantNodeJoinConditionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/DynamicOperandImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/EquiJoinConditionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/FullTextSearchImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/FullTextSearchScoreImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/JoinConditionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/JoinImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/JoinType.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/LengthImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/LiteralImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/LowerCaseImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/NodeLocalNameImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/NodeNameImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/NotImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Operator.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Operator.java?rev=1331450&r1=1331449&r2=1331450&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Operator.java (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Operator.java Fri Apr 27 14:55:14 2012 @@ -1,160 +1,160 @@ -/* - * 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.query.qom; - -import javax.jcr.RepositoryException; -import javax.jcr.query.qom.Comparison; -import javax.jcr.query.qom.DynamicOperand; -import javax.jcr.query.qom.QueryObjectModelConstants; -import javax.jcr.query.qom.QueryObjectModelFactory; -import javax.jcr.query.qom.StaticOperand; - -/** - * Enumeration of the JCR 2.0 query operators. - * - * @since Apache Jackrabbit 2.0 - */ -public enum Operator { - - EQ(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, "="), - - NE(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO, "!=", "<>"), - - GT(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN, ">"), - - GE(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO, ">="), - - LT(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN, "<"), - - LE(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO, "<="), - - LIKE(QueryObjectModelConstants.JCR_OPERATOR_LIKE, null, "like"); - - /** - * JCR name of this operator. - */ - private final String name; - - /** - * This operator in XPath syntax. - */ - private final String xpath; - - /** - * This operator in SQL syntax. - */ - private final String sql; - - Operator(String name, String op) { - this(name, op, op); - } - - Operator(String name, String xpath, String sql) { - this.name = name; - this.xpath = xpath; - this.sql = sql; - } - - /** - * Returns a comparison between the given operands using this operator. - * - * @param factory factory for creating the comparison - * @param left operand on the left hand side - * @param right operand on the right hand side - * @return comparison - * @throws RepositoryException if the comparison can not be created - */ - public Comparison comparison( - QueryObjectModelFactory factory, - DynamicOperand left, StaticOperand right) - throws RepositoryException { - return factory.comparison(left, name, right); - } - - /** - * Formats an XPath constraint with this operator and the given operands. - * The operands are simply used as-is, without any quoting or escaping. - * - * @param a first operand - * @param b second operand - * @return XPath constraint, {@code a op b} or - * {@code jcr:like(a, b)} for {@link #LIKE} - */ - public String formatXpath(String a, String b) { - if (this == LIKE) { - return "jcr:like(" + a + ", " + b + ')'; - } else { - return a + ' ' + xpath + ' ' + b; - } - } - - /** - * Formats an SQL constraint with this operator and the given operands. - * The operands are simply used as-is, without any quoting or escaping. - * - * @param a first operand - * @param b second operand - * @return SQL constraint, {@code a op b} - */ - public String formatSql(String a, String b) { - return a + ' ' + sql + ' ' + b; - } - - /** - * Returns the JCR 2.0 name of this query operator. - * - * @see QueryObjectModelConstants - * @return JCR name of this operator - */ - @Override - public String toString() { - return name; - } - - /** - * Returns an array of the names of all the JCR 2.0 query operators. - * - * @return names of all query operators - */ - public static String[] getAllQueryOperators() { - return new String[] { - EQ.toString(), - NE.toString(), - GT.toString(), - GE.toString(), - LT.toString(), - LE.toString(), - LIKE.toString() - }; - } - - /** - * Returns the operator with the given JCR name. - * - * @param name JCR name of an operator - * @return operator with the given name - */ - public static Operator getOperatorByName(String name) { - for (Operator operator : Operator.values()) { - if (operator.name.equals(name)) { - return operator; - } - } - throw new IllegalArgumentException("Unknown operator name: " + name); - } - -} +/* + * 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.query.qom; + +import javax.jcr.RepositoryException; +import javax.jcr.query.qom.Comparison; +import javax.jcr.query.qom.DynamicOperand; +import javax.jcr.query.qom.QueryObjectModelConstants; +import javax.jcr.query.qom.QueryObjectModelFactory; +import javax.jcr.query.qom.StaticOperand; + +/** + * Enumeration of the JCR 2.0 query operators. + * + * @since Apache Jackrabbit 2.0 + */ +public enum Operator { + + EQ(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, "="), + + NE(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO, "!=", "<>"), + + GT(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN, ">"), + + GE(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO, ">="), + + LT(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN, "<"), + + LE(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO, "<="), + + LIKE(QueryObjectModelConstants.JCR_OPERATOR_LIKE, null, "like"); + + /** + * JCR name of this operator. + */ + private final String name; + + /** + * This operator in XPath syntax. + */ + private final String xpath; + + /** + * This operator in SQL syntax. + */ + private final String sql; + + Operator(String name, String op) { + this(name, op, op); + } + + Operator(String name, String xpath, String sql) { + this.name = name; + this.xpath = xpath; + this.sql = sql; + } + + /** + * Returns a comparison between the given operands using this operator. + * + * @param factory factory for creating the comparison + * @param left operand on the left hand side + * @param right operand on the right hand side + * @return comparison + * @throws RepositoryException if the comparison can not be created + */ + public Comparison comparison( + QueryObjectModelFactory factory, + DynamicOperand left, StaticOperand right) + throws RepositoryException { + return factory.comparison(left, name, right); + } + + /** + * Formats an XPath constraint with this operator and the given operands. + * The operands are simply used as-is, without any quoting or escaping. + * + * @param a first operand + * @param b second operand + * @return XPath constraint, {@code a op b} or + * {@code jcr:like(a, b)} for {@link #LIKE} + */ + public String formatXpath(String a, String b) { + if (this == LIKE) { + return "jcr:like(" + a + ", " + b + ')'; + } else { + return a + ' ' + xpath + ' ' + b; + } + } + + /** + * Formats an SQL constraint with this operator and the given operands. + * The operands are simply used as-is, without any quoting or escaping. + * + * @param a first operand + * @param b second operand + * @return SQL constraint, {@code a op b} + */ + public String formatSql(String a, String b) { + return a + ' ' + sql + ' ' + b; + } + + /** + * Returns the JCR 2.0 name of this query operator. + * + * @see QueryObjectModelConstants + * @return JCR name of this operator + */ + @Override + public String toString() { + return name; + } + + /** + * Returns an array of the names of all the JCR 2.0 query operators. + * + * @return names of all query operators + */ + public static String[] getAllQueryOperators() { + return new String[] { + EQ.toString(), + NE.toString(), + GT.toString(), + GE.toString(), + LT.toString(), + LE.toString(), + LIKE.toString() + }; + } + + /** + * Returns the operator with the given JCR name. + * + * @param name JCR name of an operator + * @return operator with the given name + */ + public static Operator getOperatorByName(String name) { + for (Operator operator : Operator.values()) { + if (operator.name.equals(name)) { + return operator; + } + } + throw new IllegalArgumentException("Unknown operator name: " + name); + } + +} Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Operator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/OrImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/Order.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/OrderingImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/PropertyExistenceImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/PropertyValueImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/QOMNode.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/QOMVisitor.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/QueryObjectModelFactoryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/QueryObjectModelImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/SameNodeImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/SameNodeJoinConditionImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/SelectorImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/SourceImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/StaticOperandImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/query/qom/UpperCaseImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/GroupImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ItemBasedPrincipalImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/action/AuthorizableAction.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/diff.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/util/LogUtil.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/value/BinaryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/value/ValueFactoryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/value/ValueImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: jackrabbit/oak/trunk/oak-jcr/src/main/resources/META-INF/services/javax.jcr.RepositoryFactory URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/resources/META-INF/services/javax.jcr.RepositoryFactory?rev=1331450&r1=1331449&r2=1331450&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-jcr/src/main/resources/META-INF/services/javax.jcr.RepositoryFactory (original) +++ jackrabbit/oak/trunk/oak-jcr/src/main/resources/META-INF/services/javax.jcr.RepositoryFactory Fri Apr 27 14:55:14 2012 @@ -1,16 +1,16 @@ -# 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. - -org.apache.jackrabbit.oak.jcr.OakRepositoryFactory +# 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. + +org.apache.jackrabbit.oak.jcr.OakRepositoryFactory Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/resources/META-INF/services/javax.jcr.RepositoryFactory ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/main/resources/org/apache/jackrabbit/oak/jcr/nodetype/builtin_nodetypes.cnd ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/CompatibilityIssuesTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/QueryTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/query/qom/QomTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-jcr/src/test/java/util/NumberStream.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/api/package-info.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/blobs/BlobStore.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/json/package-info.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/model/DiffBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/model/Node.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/model/NodeDiffHandler.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/AbstractRevisionStore.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/store/NotFoundException.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/util/package-info.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/test/java/org/apache/jackrabbit/mk/util/MicroKernelInputStreamTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-mk/src/test/resources/org/apache/jackrabbit/mk/json/test.json ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-run/src/main/resources/logback.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/BasicServerTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/BasicServerTest.java?rev=1331450&r1=1331449&r2=1331450&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/BasicServerTest.java (original) +++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/BasicServerTest.java Fri Apr 27 14:55:14 2012 @@ -1,54 +1,54 @@ -/* - * 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.run; - -import java.net.HttpURLConnection; -import java.net.URL; - -import org.apache.jackrabbit.util.Base64; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import static org.junit.Assert.assertEquals; - -public class BasicServerTest { - - private Main.HttpServer server; - - @Before - public void startServer() throws Exception { - server = new Main.HttpServer(Main.URI, new String[0]); - server.start(); - } - - @After - public void stopServer() throws Exception { - server.stop(); - } - - @Test - public void testServerOk() throws Exception { - - URL server = new URL(Main.URI); - HttpURLConnection conn = (HttpURLConnection) server.openConnection(); - conn.setRequestProperty("Authorization", - "Basic " + Base64.encode("a:a")); - assertEquals(200, conn.getResponseCode()); - } -} +/* + * 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.run; + +import java.net.HttpURLConnection; +import java.net.URL; + +import org.apache.jackrabbit.util.Base64; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +public class BasicServerTest { + + private Main.HttpServer server; + + @Before + public void startServer() throws Exception { + server = new Main.HttpServer(Main.URI, new String[0]); + server.start(); + } + + @After + public void stopServer() throws Exception { + server.stop(); + } + + @Test + public void testServerOk() throws Exception { + + URL server = new URL(Main.URI); + HttpURLConnection conn = (HttpURLConnection) server.openConnection(); + conn.setRequestProperty("Authorization", + "Basic " + Base64.encode("a:a")); + assertEquals(200, conn.getResponseCode()); + } +} Propchange: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/BasicServerTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-sling/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-sling/src/main/java/org/apache/jackrabbit/oak/sling/Activator.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/oak/trunk/oak-sling/src/main/java/org/apache/jackrabbit/oak/sling/SlingRepositoryImpl.java ------------------------------------------------------------------------------ svn:eol-style = native