Safe state.
Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/fd0a6b34 Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/fd0a6b34 Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/fd0a6b34 Branch: refs/heads/MNG-6056-feature-toggle Commit: fd0a6b34bd529e0b1df0d211b7fb964b7cae4427 Parents: c4e94a2 Author: Karl Heinz Marbaise <[email protected]> Authored: Sat Aug 13 20:41:22 2016 +0200 Committer: Karl Heinz Marbaise <[email protected]> Committed: Sat Aug 13 20:41:22 2016 +0200 ---------------------------------------------------------------------- maven-feature/pom.xml | 6 +++ .../maven/feature/DefaultFeatureToggles.java | 2 +- .../org/apache/maven/feature/FeatureKnob.java | 45 ++++++++++++++++++++ .../apache/maven/feature/FeatureKnobTest.java | 33 ++++++++++++++ 4 files changed, 85 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/fd0a6b34/maven-feature/pom.xml ---------------------------------------------------------------------- diff --git a/maven-feature/pom.xml b/maven-feature/pom.xml index 0ddd5fc..f631bb9 100644 --- a/maven-feature/pom.xml +++ b/maven-feature/pom.xml @@ -49,6 +49,12 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>1.7.1</version> + <scope>test</scope> + </dependency> </dependencies> <build> <plugins> http://git-wip-us.apache.org/repos/asf/maven/blob/fd0a6b34/maven-feature/src/main/java/org/apache/maven/feature/DefaultFeatureToggles.java ---------------------------------------------------------------------- diff --git a/maven-feature/src/main/java/org/apache/maven/feature/DefaultFeatureToggles.java b/maven-feature/src/main/java/org/apache/maven/feature/DefaultFeatureToggles.java index a47dc8c..c969449 100644 --- a/maven-feature/src/main/java/org/apache/maven/feature/DefaultFeatureToggles.java +++ b/maven-feature/src/main/java/org/apache/maven/feature/DefaultFeatureToggles.java @@ -52,7 +52,7 @@ public class DefaultFeatureToggles { this.activatedFeatureToggles = new ArrayList<>(); List<ActivatedFeatureToggles> asList = Arrays.asList( ActivatedFeatureToggles.getActivatedFeatureToggles()); - this.activatedFeatureToggles.addAll( asList ); +// this.activatedFeatureToggles.addAll( asList ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/fd0a6b34/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnob.java ---------------------------------------------------------------------- diff --git a/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnob.java b/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnob.java new file mode 100644 index 0000000..39a76bf --- /dev/null +++ b/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnob.java @@ -0,0 +1,45 @@ +package org.apache.maven.feature; + +import org.apache.commons.lang3.StringUtils; + +public class FeatureKnob +{ + + public enum FeatureKnobNames + { + FIRST, + SECOND + } + + public static class FeatureNobFirst { + public enum FeatureNobValues { + First, + Second, + Third + } + } + + boolean doesFeatureKnobExist( FeatureKnobNames name ) + { + String property = System.getProperty( name.toString() ); + if ( StringUtils.isEmpty( property ) ) + { + return false; + } + else + { + return true; + } + } + + public String getFeatureKnob( FeatureKnobNames first ) + { + if (doesFeatureKnobExist( first )) { + return StringUtils.EMPTY; + } else + { + //Good Idea? + return StringUtils.EMPTY; + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven/blob/fd0a6b34/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnobTest.java ---------------------------------------------------------------------- diff --git a/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnobTest.java b/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnobTest.java new file mode 100644 index 0000000..4ad4879 --- /dev/null +++ b/maven-feature/src/test/java/org/apache/maven/feature/FeatureKnobTest.java @@ -0,0 +1,33 @@ +package org.apache.maven.feature; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.apache.maven.feature.FeatureKnob.FeatureKnobNames; +import org.junit.Before; +import org.junit.Test; + +/** + * @author Karl Heinz Marbaise <a href="mailto:[email protected]">[email protected]</a> + * @since 3.4.0 + */ +public class FeatureKnobTest +{ + + private FeatureKnob fn; + + @Before + public void before() + { + fn = new FeatureKnob(); + } + + @Test + public void getActiveFeaturesShouldNotReturnNotNullAndSizeOfListZero() + { + // mvn -DfeatureKnob1=behaviour1 + // mvn .. => featureKnob1=defaultBehaviour + // + assertThat( fn.getFeatureKnob( FeatureKnobNames.FIRST ) ).isEqualTo( "XX" ); + } + +}
