You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/06/19 14:53:57 UTC

[sling-whiteboard] 02/06: [feature-diff] diff request API simplification

This is an automated email from the ASF dual-hosted git repository.

simonetripodi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 8e4934b64f364f163a66155511b26bcb1c21e690
Author: Simo Tripodi <st...@adobe.com>
AuthorDate: Wed Jun 19 14:48:39 2019 +0200

    [feature-diff] diff request API simplification
---
 .../sling/feature/diff/DefaultDiffRequest.java     | 94 ----------------------
 .../org/apache/sling/feature/diff/DiffRequest.java | 65 +++++++++++++--
 .../apache/sling/feature/diff/FeatureDiffTest.java |  6 +-
 3 files changed, 62 insertions(+), 103 deletions(-)

diff --git a/feature-diff/src/main/java/org/apache/sling/feature/diff/DefaultDiffRequest.java b/feature-diff/src/main/java/org/apache/sling/feature/diff/DefaultDiffRequest.java
deleted file mode 100644
index d88cbae..0000000
--- a/feature-diff/src/main/java/org/apache/sling/feature/diff/DefaultDiffRequest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.sling.feature.diff;
-
-import static java.util.Objects.requireNonNull;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.Feature;
-
-public final class DefaultDiffRequest implements DiffRequest {
-
-    private final Set<String> includeComparators = new HashSet<>();
-
-    private final Set<String> excludeComparators = new HashSet<>();
-
-    private Feature previous;
-
-    private Feature current;
-
-    private ArtifactId resultId;
-
-    @Override
-    public Feature getPrevious() {
-        return previous;
-    }
-
-    public DefaultDiffRequest setPrevious(Feature previous) {
-        this.previous = requireNonNull(previous, "Impossible to compare null previous feature.");
-        return this;
-    }
-
-    @Override
-    public Feature getCurrent() {
-        return current;
-    }
-
-    public DefaultDiffRequest setCurrent(Feature current) {
-        this.current = requireNonNull(current, "Impossible to compare null current feature.");
-        return this;
-    }
-
-    @Override
-    public ArtifactId getResultId() {
-        return resultId;
-    }
-
-    public DefaultDiffRequest setResultId(String resultId) {
-        resultId = requireNonNull(resultId, "Impossible to create the Feature diff with a null id");
-        return setResultId(ArtifactId.parse(resultId));
-    }
-
-    public DefaultDiffRequest setResultId(ArtifactId resultId) {
-        this.resultId = requireNonNull(resultId, "Impossible to create the Feature diff with a null id");
-        return this;
-    }
-
-    public DefaultDiffRequest addIncludeComparator(String includeComparator) {
-        includeComparators.add(requireNonNull(includeComparator, "A null include comparator id is not valid"));
-        return this;
-    }
-
-    @Override
-    public Set<String> getIncludeComparators() {
-        return includeComparators;
-    }
-
-    public DefaultDiffRequest addExcludeComparator(String excludeComparator) {
-        excludeComparators.add(requireNonNull(excludeComparator, "A null exclude comparator id is not valid"));
-        return this;
-    }
-
-    @Override
-    public Set<String> getExcludeComparators() {
-        return excludeComparators;
-    }
-
-}
diff --git a/feature-diff/src/main/java/org/apache/sling/feature/diff/DiffRequest.java b/feature-diff/src/main/java/org/apache/sling/feature/diff/DiffRequest.java
index b5f4e39..75cd24e 100644
--- a/feature-diff/src/main/java/org/apache/sling/feature/diff/DiffRequest.java
+++ b/feature-diff/src/main/java/org/apache/sling/feature/diff/DiffRequest.java
@@ -16,21 +16,74 @@
  */
 package org.apache.sling.feature.diff;
 
+import static java.util.Objects.requireNonNull;
+
+import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.sling.feature.ArtifactId;
 import org.apache.sling.feature.Feature;
 
-public interface DiffRequest {
+public final class DiffRequest {
+
+    private final Set<String> includeComparators = new HashSet<>();
+
+    private final Set<String> excludeComparators = new HashSet<>();
+
+    private Feature previous;
+
+    private Feature current;
+
+    private ArtifactId resultId;
+
+    public Feature getPrevious() {
+        return previous;
+    }
+
+    public DiffRequest setPrevious(Feature previous) {
+        this.previous = requireNonNull(previous, "Impossible to compare null previous feature.");
+        return this;
+    }
+
+    public Feature getCurrent() {
+        return current;
+    }
+
+    public DiffRequest setCurrent(Feature current) {
+        this.current = requireNonNull(current, "Impossible to compare null current feature.");
+        return this;
+    }
+
+    public ArtifactId getResultId() {
+        return resultId;
+    }
+
+    public DiffRequest setResultId(String resultId) {
+        resultId = requireNonNull(resultId, "Impossible to create the Feature diff with a null id");
+        return setResultId(ArtifactId.parse(resultId));
+    }
 
-    Feature getPrevious();
+    public DiffRequest setResultId(ArtifactId resultId) {
+        this.resultId = requireNonNull(resultId, "Impossible to create the Feature diff with a null id");
+        return this;
+    }
 
-    Feature getCurrent();
+    public DiffRequest addIncludeComparator(String includeComparator) {
+        includeComparators.add(requireNonNull(includeComparator, "A null include comparator id is not valid"));
+        return this;
+    }
 
-    ArtifactId getResultId();
+    public Set<String> getIncludeComparators() {
+        return includeComparators;
+    }
 
-    Set<String> getIncludeComparators();
+    public DiffRequest addExcludeComparator(String excludeComparator) {
+        excludeComparators.add(requireNonNull(excludeComparator, "A null exclude comparator id is not valid"));
+        return this;
+    }
 
-    Set<String> getExcludeComparators();
+    public Set<String> getExcludeComparators() {
+        return excludeComparators;
+    }
 
 }
diff --git a/feature-diff/src/test/java/org/apache/sling/feature/diff/FeatureDiffTest.java b/feature-diff/src/test/java/org/apache/sling/feature/diff/FeatureDiffTest.java
index 853cd18..87f4c67 100644
--- a/feature-diff/src/test/java/org/apache/sling/feature/diff/FeatureDiffTest.java
+++ b/feature-diff/src/test/java/org/apache/sling/feature/diff/FeatureDiffTest.java
@@ -30,14 +30,14 @@ public final class FeatureDiffTest {
 
     @Test
     public void loadAllComparators() {
-        Set<String> comparators = filterComparators(new DefaultDiffRequest());
+        Set<String> comparators = filterComparators(new DiffRequest());
 
         assertTrue(comparators.isEmpty());
     }
 
     @Test
     public void loadIncludedComparators() {
-        Set<String> comparators = filterComparators(new DefaultDiffRequest()
+        Set<String> comparators = filterComparators(new DiffRequest()
                                                     .addIncludeComparator("bundles")
                                                     .addIncludeComparator("configurations"));
 
@@ -50,7 +50,7 @@ public final class FeatureDiffTest {
 
     @Test
     public void loadExcludedComparators() {
-        Set<String> comparators = filterComparators(new DefaultDiffRequest()
+        Set<String> comparators = filterComparators(new DiffRequest()
                                                     .addExcludeComparator("bundles")
                                                     .addExcludeComparator("configurations"));