You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2009/05/14 14:00:14 UTC
svn commit: r774736 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/nodetype/compact/
test/java/org/apache/jackrabbit/core/nodetype/compact/ test/resources/
Author: stefan
Date: Thu May 14 12:00:14 2009
New Revision: 774736
URL: http://svn.apache.org/viewvc?rev=774736&view=rev
Log:
JCR-1591: JSR 283: NodeType Management (WIP...)
JCR-2091: Searchability settings in PropertyDefinition (WIP...)
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefWriter.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java
jackrabbit/trunk/jackrabbit-core/src/test/resources/cnd-reader-test-input.cnd
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.java?rev=774736&r1=774735&r2=774736&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefReader.java Thu May 14 12:00:14 2009
@@ -536,34 +536,29 @@
return;
}
nextToken();
- if (!currentTokenEquals(Lexer.SINGLE_QUOTE)) {
- lexer.fail("Missing \' delimiter for beginning of query operators list");
- }
+
+ String[] ops = currentToken.split(",");
List queryOps = new ArrayList();
- do {
- nextToken();
- if (currentTokenEquals(Lexer.QUEROPS_EQUAL)) {
+ for (int i = 0; i < ops.length; i++) {
+ String s = ops[i].trim();
+ if (s.equals(Lexer.QUEROPS_EQUAL)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO);
- } else if (currentTokenEquals(Lexer.QUEROPS_NOTEQUAL)) {
+ } else if (s.equals(Lexer.QUEROPS_NOTEQUAL)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO);
- } else if (currentTokenEquals(Lexer.QUEROPS_LESSTHAN)) {
+ } else if (s.equals(Lexer.QUEROPS_LESSTHAN)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN);
- } else if (currentTokenEquals(Lexer.QUEROPS_LESSTHANOREQUAL)) {
+ } else if (s.equals(Lexer.QUEROPS_LESSTHANOREQUAL)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO);
- } else if (currentTokenEquals(Lexer.QUEROPS_GREATERTHAN)) {
+ } else if (s.equals(Lexer.QUEROPS_GREATERTHAN)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN);
- } else if (currentTokenEquals(Lexer.QUEROPS_GREATERTHANOREQUAL)) {
+ } else if (s.equals(Lexer.QUEROPS_GREATERTHANOREQUAL)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO);
- } else if (currentTokenEquals(Lexer.QUEROPS_LIKE)) {
+ } else if (s.equals(Lexer.QUEROPS_LIKE)) {
queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LIKE);
- } else if (currentTokenEquals(Lexer.SINGLE_QUOTE)) {
- nextToken();
- break;
} else {
- lexer.fail("'" + currentToken + "' is not a valid query operator");
+ lexer.fail("'" + s + "' is not a valid query operator");
}
- nextToken();
- } while (currentTokenEquals(Lexer.LIST_DELIMITER));
+ }
pdi.setAvailableQueryOperators((String[]) queryOps.toArray(new String[queryOps.size()]));
}
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefWriter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefWriter.java?rev=774736&r1=774735&r2=774736&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefWriter.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefWriter.java Thu May 14 12:00:14 2009
@@ -305,7 +305,7 @@
out.write(Lexer.QUEROPS_LIKE);
}
if (i < qops.length - 1) {
- out.write("' ");
+ out.write(", ");
}
}
out.write("'");
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java?rev=774736&r1=774735&r2=774736&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/nodetype/compact/CompactNodeTypeDefTest.java Thu May 14 12:00:14 2009
@@ -31,8 +31,10 @@
import org.apache.jackrabbit.spi.NameFactory;
import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver;
import org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver;
+import org.apache.jackrabbit.spi.commons.query.qom.Operator;
import javax.jcr.PropertyType;
+import javax.jcr.query.qom.QueryObjectModelConstants;
import javax.jcr.version.OnParentVersionAction;
import java.io.InputStreamReader;
import java.io.Reader;
@@ -82,6 +84,9 @@
pd.setProtected(true);
pd.setMultiple(true);
pd.setOnParentVersion(OnParentVersionAction.VERSION);
+ pd.setFullTextSearchable(false);
+ pd.setQueryOrderable(false);
+ pd.setAvailableQueryOperators(new String[]{QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO});
pd.setDefaultValues(defaultValues);
pd.setValueConstraints(valueConstraints);
pd.setDeclaringNodeType(NODE_TYPE_NAME);
@@ -102,6 +107,8 @@
modelNodeTypeDef.setSupertypes(SUPERTYPES);
modelNodeTypeDef.setOrderableChildNodes(true);
modelNodeTypeDef.setMixin(true);
+ modelNodeTypeDef.setAbstract(true);
+ modelNodeTypeDef.setQueryable(false);
modelNodeTypeDef.setPrimaryItemName(PROPERTY_NAME);
modelNodeTypeDef.setPropertyDefs(new PropDef[]{pd});
modelNodeTypeDef.setChildNodeDefs(new NodeDef[]{nd});
Modified: jackrabbit/trunk/jackrabbit-core/src/test/resources/cnd-reader-test-input.cnd
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/resources/cnd-reader-test-input.cnd?rev=774736&r1=774735&r2=774736&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/resources/cnd-reader-test-input.cnd (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/resources/cnd-reader-test-input.cnd Thu May 14 12:00:14 2009
@@ -18,8 +18,8 @@
<nt = "http://www.jcp.org/jcr/nt/1.0">
[ex:NodeType] > ex:ParentNodeType1, ex:ParentNodeType2
- orderable mixin
- - ex:property (long) = '1', '2' primary mandatory autocreated protected multiple version < '[1,10]'
+ orderable mixin abstract noquery
+ - ex:property (long) = '1', '2' primary mandatory autocreated protected multiple queryops '=, <>' nofulltext noqueryorder version < '[1,10]'
+ ex:node (ex:RequiredNodeType1, ex:RequiredNodeType2) = ex:RequiredNodeType1 mandatory autocreated protected multiple version
[ex:AnotherNodeType] > ex:NodeType