You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2017/03/03 10:22:41 UTC

svn commit: r1785256 - in /sling/trunk/bundles/extensions/validation: api/src/main/java/org/apache/sling/validation/spi/ core/src/main/java/org/apache/sling/validation/impl/

Author: kwin
Date: Fri Mar  3 10:22:41 2017
New Revision: 1785256

URL: http://svn.apache.org/viewvc?rev=1785256&view=rev
Log:
make validation result serializable (helps e.g. with teleporter tests)

Added:
    sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/CompositeValidationResult.java
      - copied, changed from r1785229, sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/CompositeValidationResult.java
Removed:
    sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/CompositeValidationResult.java
Modified:
    sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationFailure.java
    sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationResult.java
    sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationResourceVisitor.java
    sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java

Copied: sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/CompositeValidationResult.java (from r1785229, sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/CompositeValidationResult.java)
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/CompositeValidationResult.java?p2=sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/CompositeValidationResult.java&p1=sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/CompositeValidationResult.java&r1=1785229&r2=1785256&rev=1785256&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/CompositeValidationResult.java (original)
+++ sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/CompositeValidationResult.java Fri Mar  3 10:22:41 2017
@@ -16,8 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.validation.impl;
+package org.apache.sling.validation.spi;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
@@ -27,13 +28,16 @@ import javax.annotation.Nonnull;
 
 import org.apache.sling.validation.ValidationFailure;
 import org.apache.sling.validation.ValidationResult;
-import org.apache.sling.validation.spi.DefaultValidationResult;
 
 /**
  * Aggregates multiple {@link ValidationResult}s.
  */
-public class CompositeValidationResult implements ValidationResult {
+public class CompositeValidationResult implements ValidationResult, Serializable {
 
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -1019113908128276733L;
     private final @Nonnull List<ValidationResult> results;
 
     public CompositeValidationResult() {

Modified: sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationFailure.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationFailure.java?rev=1785256&r1=1785255&r2=1785256&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationFailure.java (original)
+++ sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationFailure.java Fri Mar  3 10:22:41 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.validation.spi;
 
+import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.ResourceBundle;
@@ -30,12 +31,16 @@ import org.apache.sling.validation.Valid
  * Wraps a message key (being looked up in a {@link ResourceBundle}), messageArguments (being used with {@link MessageFormat#format(String, Object...)}
  * and the location where the validation failure occurred.
  */
-public class DefaultValidationFailure implements ValidationFailure {
+public class DefaultValidationFailure implements ValidationFailure, Serializable {
 
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -1748031688917555982L;
     private final @Nonnull String location;
     private final @Nonnull String messageKey;
     private final Object[] messageArguments;
-    private final @Nonnull ResourceBundle defaultResourceBundle;
+    private final transient @Nonnull ResourceBundle defaultResourceBundle;
     private final int severity;
 
     public final static int DEFAULT_SEVERITY = 0;
@@ -62,12 +67,16 @@ public class DefaultValidationFailure im
         this.defaultResourceBundle = defaultResourceBundle;
     }
 
-    @SuppressWarnings("null")
+    @SuppressWarnings({ "null", "unused" })
     @Override
     public @Nonnull String getMessage(ResourceBundle resourceBundle) {
         if (resourceBundle == null) {
             resourceBundle = defaultResourceBundle;
         }
+        if (resourceBundle == null) {
+            // this should only happen if this class was deserialized because there the default resource bundle is missing
+            return "No defaultResourceBundle found to resolve, messageKey = " + messageKey + ", messageArguments: " + Arrays.toString(messageArguments);
+        }
         return MessageFormat.format(resourceBundle.getString(messageKey), messageArguments);
     }
 

Modified: sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationResult.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationResult.java?rev=1785256&r1=1785255&r2=1785256&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationResult.java (original)
+++ sling/trunk/bundles/extensions/validation/api/src/main/java/org/apache/sling/validation/spi/DefaultValidationResult.java Fri Mar  3 10:22:41 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.validation.spi;
 
+import java.io.Serializable;
 import java.text.MessageFormat;
 import java.util.Arrays;
 import java.util.Collections;
@@ -33,8 +34,12 @@ import org.apache.sling.validation.Valid
  * Default implementation of {@link ValidationResult} wrapping a list of {@link ValidationFailure}s.
  *
  */
-public class DefaultValidationResult implements ValidationResult {
+public class DefaultValidationResult implements ValidationResult, Serializable {
 
+    /**
+     * 
+     */
+    private static final long serialVersionUID = -3370520716090956033L;
     private final boolean isValid;
     private final @Nonnull List<ValidationFailure> failures;
 

Modified: sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationResourceVisitor.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationResourceVisitor.java?rev=1785256&r1=1785255&r2=1785256&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationResourceVisitor.java (original)
+++ sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationResourceVisitor.java Fri Mar  3 10:22:41 2017
@@ -27,6 +27,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.validation.ValidationResult;
 import org.apache.sling.validation.model.ValidationModel;
+import org.apache.sling.validation.spi.CompositeValidationResult;
 
 public class ValidationResourceVisitor extends AbstractResourceVisitor {
 

Modified: sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java?rev=1785256&r1=1785255&r2=1785256&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java (original)
+++ sling/trunk/bundles/extensions/validation/core/src/main/java/org/apache/sling/validation/impl/ValidationServiceImpl.java Fri Mar  3 10:22:41 2017
@@ -47,6 +47,7 @@ import org.apache.sling.validation.model
 import org.apache.sling.validation.model.ParameterizedValidator;
 import org.apache.sling.validation.model.ResourceProperty;
 import org.apache.sling.validation.model.ValidationModel;
+import org.apache.sling.validation.spi.CompositeValidationResult;
 import org.apache.sling.validation.spi.ValidationContext;
 import org.apache.sling.validation.spi.Validator;
 import org.osgi.framework.ServiceReference;