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 2021/04/12 11:09:28 UTC
[sling-org-apache-sling-feature-analyser] branch master updated:
SLING-10285 fix classifier matching
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git
The following commit(s) were added to refs/heads/master by this push:
new 16834bb SLING-10285 fix classifier matching
16834bb is described below
commit 16834bb6ef213708f794dd87713e13c1f8dfc8bc
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Apr 12 13:08:39 2021 +0200
SLING-10285 fix classifier matching
---
.../feature/analyser/task/impl/CheckFeatureId.java | 3 +-
.../analyser/task/impl/CheckFeatureIdTest.java | 34 +++++++++++++---------
2 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureId.java b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureId.java
index 88bf364..638f524 100644
--- a/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureId.java
+++ b/src/main/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureId.java
@@ -84,7 +84,8 @@ public class CheckFeatureId implements AnalyserTask {
return false;
}
// classifier is optional
- if (expectedArtifactId.getClassifier() != null && !expectedArtifactId.getClassifier().equals(artifactId.getClassifier()) && !expectedArtifactId.getClassifier().equals("*")) {
+ if ( (expectedArtifactId.getClassifier() == null && artifactId.getClassifier() != null) ||
+ (expectedArtifactId.getClassifier() != null && !expectedArtifactId.getClassifier().equals(artifactId.getClassifier()) && !expectedArtifactId.getClassifier().equals("*"))) {
return false;
}
return true;
diff --git a/src/test/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureIdTest.java b/src/test/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureIdTest.java
index 6045c3e..38a946c 100644
--- a/src/test/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureIdTest.java
+++ b/src/test/java/org/apache/sling/feature/analyser/task/impl/CheckFeatureIdTest.java
@@ -65,19 +65,27 @@ public class CheckFeatureIdTest {
@Test
public void checkMatches() {
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("*:myArtifactId:1.0.0")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:*:1.0.0")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*:1.0.0")));
- assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*:1.0.0")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("*:myArtifactId:1.0.0")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:*:1.0.0")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*:1.0.0")));
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*:1.0.0")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("*:myOtherArtifactId:1.0.0")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myOtherGroupId:*:1.0.0")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myOtherArtifactId:*")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:someothertype:*")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*:1.1.0")));
- assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:myClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*:*:1.1.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("*:myOtherArtifactId:1.0.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myOtherGroupId:*:1.0.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myOtherArtifactId:*")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:someothertype:*")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar:*:1.1.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:*:*:1.1.0")));
+
+ // enforce no classifier
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar::1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar::1.0.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:jar:invalidClassifier:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:jar::1.0.0")));
+
+ // enforce default type
+ assertTrue(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:1.0.0")));
+ assertFalse(CheckFeatureId.matches(ArtifactId.parse("myGroupId:myArtifactId:othertype:1.0.0"), ArtifactId.parse("myGroupId:myArtifactId:1.0.0")));
}
}