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"));