You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/05/15 18:47:56 UTC
svn commit: r1338791 -
/karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
Author: jbonofre
Date: Tue May 15 16:47:56 2012
New Revision: 1338791
URL: http://svn.apache.org/viewvc?rev=1338791&view=rev
Log:
Avoid to override definition when adding a feature repository
Modified:
karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
Modified: karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java?rev=1338791&r1=1338790&r2=1338791&view=diff
==============================================================================
--- karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java (original)
+++ karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java Tue May 15 16:47:56 2012
@@ -119,14 +119,24 @@ public class LocalFeaturesListener exten
Map<FeatureInfo, Boolean> distributedFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + group.getName());
try {
for (Feature feature : event.getRepository().getFeatures()) {
- FeatureInfo info = new FeatureInfo(feature.getName(), feature.getVersion());
- distributedFeatures.put(info, false);
+ // check the feature in the distributed map
+ FeatureInfo featureInfo = null;
+ for (FeatureInfo distributedFeature : distributedFeatures.keySet()) {
+ if (distributedFeature.getName().equals(feature.getName()) && distributedFeature.getVersion().equals(feature.getVersion())) {
+ featureInfo = distributedFeature;
+ break;
+ }
+ }
+ if (featureInfo == null) {
+ featureInfo = new FeatureInfo(feature.getName(), feature.getVersion());
+ distributedFeatures.put(featureInfo, false);
+ }
}
} catch (Exception e) {
LOGGER.warn("CELLAR FEATURES: can't update the distributed features map", e);
}
} else {
- removeRepository(event.getRepository(),group);
+ removeRepository(event.getRepository(), group);
// update the feature map
Map<FeatureInfo, Boolean> distributedFeatures = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + group.getName());
try {