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/13 18:32:33 UTC
svn commit: r774420 - in /jackrabbit/trunk:
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/
jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/compact/
jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/com...
Author: stefan
Date: Wed May 13 16:32:30 2009
New Revision: 774420
URL: http://svn.apache.org/viewvc?rev=774420&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/PropDefImpl.java
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-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/nodetype/PropertyDefinitionTemplateImpl.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/PropDefImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/PropDefImpl.java?rev=774420&r1=774419&r2=774420&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/PropDefImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/PropDefImpl.java Wed May 13 16:32:30 2009
@@ -18,6 +18,7 @@
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.spi.Name;
+import org.apache.jackrabbit.spi.commons.query.qom.Operator;
import javax.jcr.PropertyType;
import javax.jcr.query.qom.QueryObjectModelConstants;
@@ -69,15 +70,7 @@
/*
* The 'query operators.
*/
- private String[] queryOperators = new String[]{
- QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LIKE,
- QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO
- };
+ private String[] queryOperators = Operator.getAllQueryOperators();
/**
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=774420&r1=774419&r2=774420&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 Wed May 13 16:32:30 2009
@@ -35,6 +35,7 @@
import org.apache.jackrabbit.spi.commons.namespace.NamespaceMapping;
import org.apache.jackrabbit.spi.commons.nodetype.compact.Lexer;
import org.apache.jackrabbit.spi.commons.nodetype.compact.ParseException;
+import org.apache.jackrabbit.spi.commons.query.qom.Operator;
import org.apache.jackrabbit.util.ISO9075;
import org.apache.jackrabbit.value.ValueHelper;
import org.apache.jackrabbit.value.ValueFactoryImpl;
@@ -372,15 +373,7 @@
pdi.setFullTextSearchable(true);
pdi.setQueryOrderable(true);
- pdi.setAvailableQueryOperators(new String[]{
- QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LIKE,
- QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO
- });
+ pdi.setAvailableQueryOperators(Operator.getAllQueryOperators());
nextToken();
doPropertyDefinition(pdi, ntd);
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=774420&r1=774419&r2=774420&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 Wed May 13 16:32:30 2009
@@ -19,13 +19,12 @@
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import javax.jcr.NamespaceException;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.query.qom.QueryObjectModelConstants;
import javax.jcr.version.OnParentVersionAction;
import org.apache.jackrabbit.core.nodetype.NodeDef;
@@ -35,9 +34,11 @@
import org.apache.jackrabbit.core.nodetype.ItemDef;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.spi.commons.namespace.NamespaceResolver;
+import org.apache.jackrabbit.spi.commons.nodetype.compact.Lexer;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.util.ISO9075;
import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver;
+import org.apache.jackrabbit.spi.commons.query.qom.Operator;
/**
* Prints node type defs in a compact notation
@@ -194,15 +195,26 @@
* write options
*/
private void writeOptions(NodeTypeDef ntd) throws IOException {
+ List<String> options = new ArrayList<String>();
+ if (ntd.isAbstract()) {
+ options.add(Lexer.ABSTRACT[0]);
+ }
if (ntd.hasOrderableChildNodes()) {
- out.write("\n" + INDENT);
- out.write("orderable");
- if (ntd.isMixin()) {
- out.write(" mixin");
+ options.add(Lexer.ORDERABLE[0]);
+ }
+ if (ntd.isMixin()) {
+ options.add(Lexer.MIXIN[0]);
+ }
+ if (!ntd.isQueryable()) {
+ options.add(Lexer.NOQUERY[0]);
+ }
+ for (int i = 0; i < options.size(); i++) {
+ if (i == 0) {
+ out.write("\n" + INDENT);
+ } else {
+ out.write(" ");
}
- } else if (ntd.isMixin()) {
- out.write("\n" + INDENT);
- out.write("mixin");
+ out.write(options.get(i));
}
}
@@ -263,6 +275,43 @@
out.write(" ");
out.write(OnParentVersionAction.nameFromValue(pd.getOnParentVersion()).toLowerCase());
}
+
+ if (!pd.isFullTextSearchable()) {
+ out.write(" nofulltext");
+ }
+ if (!pd.isQueryOrderable()) {
+ out.write(" noqueryorder");
+ }
+ String[] qops = pd.getAvailableQueryOperators();
+ if (qops != null && qops.length > 0) {
+ List ops = Arrays.asList(qops);
+ List defaultOps = Arrays.asList(Operator.getAllQueryOperators());
+ if (!ops.containsAll(defaultOps)) {
+ out.write(" queryops '");
+ for (int i = 0; i < qops.length; i++) {
+ if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO)) {
+ out.write(Lexer.QUEROPS_EQUAL);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO)) {
+ out.write(Lexer.QUEROPS_NOTEQUAL);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN)) {
+ out.write(Lexer.QUEROPS_GREATERTHAN);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO)) {
+ out.write(Lexer.QUEROPS_GREATERTHANOREQUAL);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN)) {
+ out.write(Lexer.QUEROPS_LESSTHAN);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO)) {
+ out.write(Lexer.QUEROPS_LESSTHANOREQUAL);
+ } else if (qops[i].equals(QueryObjectModelConstants.JCR_OPERATOR_LIKE)) {
+ out.write(Lexer.QUEROPS_LIKE);
+ }
+ if (i < qops.length - 1) {
+ out.write("' ");
+ }
+ }
+ out.write("'");
+ }
+ }
+
writeValueConstraints(pd.getValueConstraints());
}
Modified: jackrabbit/trunk/jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/nodetype/PropertyDefinitionTemplateImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/nodetype/PropertyDefinitionTemplateImpl.java?rev=774420&r1=774419&r2=774420&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/nodetype/PropertyDefinitionTemplateImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/nodetype/PropertyDefinitionTemplateImpl.java Wed May 13 16:32:30 2009
@@ -16,9 +16,10 @@
*/
package org.apache.jackrabbit.spi.commons.nodetype;
+import org.apache.jackrabbit.spi.commons.query.qom.Operator;
+
import javax.jcr.PropertyType;
import javax.jcr.Value;
-import javax.jcr.query.qom.QueryObjectModelConstants;
import javax.jcr.nodetype.PropertyDefinition;
import javax.jcr.nodetype.PropertyDefinitionTemplate;
@@ -44,15 +45,7 @@
type = PropertyType.STRING;
fullTextSearchable = true;
queryOrderable = true;
- queryOperators = new String[]{
- QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN,
- QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO,
- QueryObjectModelConstants.JCR_OPERATOR_LIKE,
- QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO
- };
+ queryOperators = Operator.getAllQueryOperators();
}
/**