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 md...@apache.org on 2012/09/14 16:23:55 UTC

svn commit: r1384797 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint: Constraints.java ReferenceConstraint.java

Author: mduerig
Date: Fri Sep 14 14:23:54 2012
New Revision: 1384797

URL: http://svn.apache.org/viewvc?rev=1384797&view=rev
Log:
OAK-66: JCR Node Type Management
reference constraints

Added:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java   (with props)
Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java?rev=1384797&r1=1384796&r2=1384797&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/Constraints.java Fri Sep 14 14:23:54 2012
@@ -17,12 +17,9 @@
 package org.apache.jackrabbit.oak.plugins.type.constraint;
 
 import javax.jcr.PropertyType;
-import javax.jcr.UnsupportedRepositoryOperationException;
 import javax.jcr.Value;
 
 import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import org.apache.jackrabbit.oak.util.TODO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -35,29 +32,29 @@ public class Constraints {
     public static Predicate<Value> valueConstraint(int type, String constraint) {
         switch (type) {
             case PropertyType.STRING:
-                return stringConstraint(constraint);
+                return new StringConstraint(constraint);
             case PropertyType.BINARY:
-                return binaryConstraint(constraint);
+                return new BinaryConstraint(constraint);
             case PropertyType.LONG:
-                return longConstraint(constraint);
+                return new LongConstraint(constraint);
             case PropertyType.DOUBLE:
-                return doubleConstraint(constraint);
+                return new DoubleConstraint(constraint);
             case PropertyType.DATE:
-                return dateConstraint(constraint);
+                return new DateConstraint(constraint);
             case PropertyType.BOOLEAN:
-                return booleanConstraint(constraint);
+                return new BooleanConstraint(constraint);
             case PropertyType.NAME:
-                return nameConstraint(constraint);
+                return new NameConstraint(constraint);
             case PropertyType.PATH:
-                return pathConstraint(constraint);
+                return new PathConstraint(constraint);
             case PropertyType.REFERENCE:
-                return referenceConstraint(constraint);
+                return new ReferenceConstraint(constraint);
             case PropertyType.WEAKREFERENCE:
-                return weakRefConstraint(constraint);
+                return new ReferenceConstraint(constraint);
             case PropertyType.URI:
-                return uriConstraint(constraint);
+                return new StringConstraint(constraint);
             case PropertyType.DECIMAL:
-                return decimalConstraint(constraint);
+                return new DecimalConstraint(constraint);
             default:
                 String msg = "Invalid property type: " + type;
                 log.warn(msg);
@@ -65,65 +62,4 @@ public class Constraints {
         }
     }
 
-    private static Predicate<Value> stringConstraint(String constraint) {
-        return new StringConstraint(constraint);
-    }
-
-    private static Predicate<Value> binaryConstraint(String constraint) {
-        return new BinaryConstraint(constraint);
-    }
-
-    private static Predicate<Value> longConstraint(String constraint) {
-        return new LongConstraint(constraint);
-    }
-
-    private static Predicate<Value> doubleConstraint(String constraint) {
-        return new DoubleConstraint(constraint);
-    }
-
-    private static Predicate<Value> dateConstraint(String constraint) {
-        return new DateConstraint(constraint);
-    }
-
-    private static BooleanConstraint booleanConstraint(String constraint) {
-        return new BooleanConstraint(constraint);
-    }
-
-    private static Predicate<Value> nameConstraint(String constraint) {
-        return new NameConstraint(constraint);
-    }
-
-    private static Predicate<Value> pathConstraint(String constraint) {
-        return new PathConstraint(constraint);
-    }
-
-    private static Predicate<Value> referenceConstraint(String constraint) {
-        try {
-            // todo implement referenceConstraint
-            Predicate<Value> truePredicate = Predicates.alwaysTrue();
-            return TODO.dummyImplementation().returnValue(truePredicate);
-        }
-        catch (UnsupportedRepositoryOperationException e) {
-            throw new UnsupportedOperationException(e);
-        }
-    }
-
-    private static Predicate<Value> weakRefConstraint(String constraint) {
-        try {
-            // todo implement referenceConstraint
-            Predicate<Value> truePredicate = Predicates.alwaysTrue();
-            return TODO.dummyImplementation().returnValue(truePredicate);
-        }
-        catch (UnsupportedRepositoryOperationException e) {
-            throw new UnsupportedOperationException(e);
-        }
-    }
-
-    private static Predicate<Value> uriConstraint(String constraint) {
-        return new StringConstraint(constraint);
-    }
-
-    private static Predicate<Value> decimalConstraint(String constraint) {
-        return new DecimalConstraint(constraint);
-    }
 }

Added: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java?rev=1384797&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java (added)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java Fri Sep 14 14:23:54 2012
@@ -0,0 +1,44 @@
+/*
+ * 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.plugins.type.constraint;
+
+import javax.jcr.Value;
+
+import com.google.common.base.Predicate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ReferenceConstraint implements Predicate<Value> {
+    private static final Logger log = LoggerFactory.getLogger(ReferenceConstraint.class);
+
+    private final String requiredTargetType;
+
+    public ReferenceConstraint(String definition)  {
+        requiredTargetType = definition;
+    }
+
+    @Override
+    public boolean apply(Value value) {
+        // TODO implement ReferenceConstraint
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return '\'' + requiredTargetType + '\'';
+    }
+}

Propchange: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/constraint/ReferenceConstraint.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision Rev URL