You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/04/30 20:04:58 UTC
[6/7] git commit: [KARAF-2888] Make sure Feature#getId() is
normalized correctly
[KARAF-2888] Make sure Feature#getId() is normalized correctly
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/57b609d8
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/57b609d8
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/57b609d8
Branch: refs/heads/master
Commit: 57b609d8e425eed55ec29082fdb09f788066f682
Parents: 9e2ada3
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Apr 30 16:46:38 2014 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed Apr 30 20:04:27 2014 +0200
----------------------------------------------------------------------
.../apache/karaf/features/internal/model/Feature.java | 11 ++++++++---
.../features/internal/service/FeaturesServiceImpl.java | 5 +++--
.../test/java/org/apache/karaf/features/FeatureTest.java | 4 ++--
.../internal/service/FeaturesServiceImplTest.java | 2 +-
.../internal/service/FeaturesValidationTest.java | 2 ++
.../org/apache/karaf/features/internal/service/f07.xml | 2 +-
6 files changed, 17 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java b/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
index 154e89a..6cf3820 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/model/Feature.java
@@ -26,8 +26,12 @@ import java.util.regex.Pattern;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
+import org.apache.felix.utils.version.VersionCleaner;
+import org.apache.felix.utils.version.VersionTable;
+
/**
* Definition of the Feature.
@@ -81,7 +85,7 @@ public class Feature extends Content implements org.apache.karaf.features.Featur
protected String details;
@XmlAttribute(required = true)
protected String name;
- @XmlAttribute
+ @XmlTransient
protected String version;
@XmlAttribute
protected String description;
@@ -105,7 +109,7 @@ public class Feature extends Content implements org.apache.karaf.features.Featur
public Feature(String name, String version) {
this.name = name;
- this.version = version;
+ this.version = VersionCleaner.clean(version);
}
@@ -167,8 +171,9 @@ public class Feature extends Content implements org.apache.karaf.features.Featur
* @param value allowed object is
* {@link String }
*/
+ @XmlAttribute
public void setVersion(String value) {
- this.version = value;
+ this.version = VersionCleaner.clean(value);
}
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
----------------------------------------------------------------------
diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
index 099d175..589b719 100644
--- a/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
+++ b/features/core/src/main/java/org/apache/karaf/features/internal/service/FeaturesServiceImpl.java
@@ -39,6 +39,7 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import org.apache.felix.utils.version.VersionCleaner;
import org.apache.felix.utils.version.VersionRange;
import org.apache.felix.utils.version.VersionTable;
import org.apache.karaf.features.Feature;
@@ -799,7 +800,7 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall
int idx = feature.indexOf("/");
String name = feature.substring(0, idx);
String version = feature.substring(idx + 1);
- return name + "/" + VersionTable.getVersion(version).toString();
+ return name + "/" + VersionCleaner.clean(version);
}
/**
@@ -856,7 +857,7 @@ public class FeaturesServiceImpl implements FeaturesService, Deployer.DeployCall
dstate.features = new HashMap<>();
for (Map<String, Feature> m : getFeatures().values()) {
for (Feature feature : m.values()) {
- String id = feature.getName() + "/" + VersionTable.getVersion(feature.getVersion());
+ String id = feature.getId();
dstate.features.put(id, feature);
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/test/java/org/apache/karaf/features/FeatureTest.java
----------------------------------------------------------------------
diff --git a/features/core/src/test/java/org/apache/karaf/features/FeatureTest.java b/features/core/src/test/java/org/apache/karaf/features/FeatureTest.java
index b7d4c27..33debdf 100644
--- a/features/core/src/test/java/org/apache/karaf/features/FeatureTest.java
+++ b/features/core/src/test/java/org/apache/karaf/features/FeatureTest.java
@@ -21,9 +21,9 @@ import junit.framework.TestCase;
public class FeatureTest extends TestCase {
public void testValueOf() {
- Feature feature = org.apache.karaf.features.internal.model.Feature.valueOf("name" + org.apache.karaf.features.internal.model.Feature.SPLIT_FOR_NAME_AND_VERSION + "version");
+ Feature feature = org.apache.karaf.features.internal.model.Feature.valueOf("name/1.0.0");
assertEquals(feature.getName(), "name");
- assertEquals(feature.getVersion(), "version");
+ assertEquals(feature.getVersion(), "1.0.0");
feature = org.apache.karaf.features.internal.model.Feature.valueOf("name");
assertEquals(feature.getName(), "name");
assertEquals(feature.getVersion(), org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION);
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesServiceImplTest.java
----------------------------------------------------------------------
diff --git a/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesServiceImplTest.java b/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesServiceImplTest.java
index 7f1f358..405a7e9 100644
--- a/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesServiceImplTest.java
+++ b/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesServiceImplTest.java
@@ -92,7 +92,7 @@ public class FeaturesServiceImplTest extends TestBase {
}
};
assertNotNull(impl.getFeature("transaction", org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION));
- assertSame("2.0.0", impl.getFeature("transaction", org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION).getVersion());
+ assertEquals("2.0.0", impl.getFeature("transaction", org.apache.karaf.features.internal.model.Feature.DEFAULT_VERSION).getVersion());
}
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesValidationTest.java
----------------------------------------------------------------------
diff --git a/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesValidationTest.java b/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesValidationTest.java
index 9e33ee3..8a0fbca 100644
--- a/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesValidationTest.java
+++ b/features/core/src/test/java/org/apache/karaf/features/internal/service/FeaturesValidationTest.java
@@ -24,6 +24,7 @@ import org.apache.karaf.features.internal.model.Features;
import org.apache.karaf.features.internal.model.JaxbUtil;
import org.junit.Test;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
@@ -97,6 +98,7 @@ public class FeaturesValidationTest {
URL url = getClass().getResource("f07.xml");
Features features = JaxbUtil.unmarshal(url.toExternalForm(), true);
assertNotNull(features);
+ assertEquals("2.5.6.SEC02", features.getFeature().get(0).getVersion());
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/57b609d8/features/core/src/test/resources/org/apache/karaf/features/internal/service/f07.xml
----------------------------------------------------------------------
diff --git a/features/core/src/test/resources/org/apache/karaf/features/internal/service/f07.xml b/features/core/src/test/resources/org/apache/karaf/features/internal/service/f07.xml
index 354ba86..d1a5745 100644
--- a/features/core/src/test/resources/org/apache/karaf/features/internal/service/f07.xml
+++ b/features/core/src/test/resources/org/apache/karaf/features/internal/service/f07.xml
@@ -16,7 +16,7 @@
limitations under the License.
-->
<features name="karaf" xmlns="http://karaf.apache.org/xmlns/features/v1.3.0">
- <feature name="spring" version="2.5.6.SEC02">
+ <feature name="spring" version="2.5.6-SEC02">
<bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_4</bundle>
<bundle>mvn:org.springframework/spring-core/2.5.6.SEC02</bundle>
<bundle>mvn:org.springframework/spring-beans/2.5.6.SEC02</bundle>