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 <[email protected]> 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"));
