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:29 UTC
svn commit: r1338790 -
/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
Author: jbonofre
Date: Tue May 15 16:47:28 2012
New Revision: 1338790
URL: http://svn.apache.org/viewvc?rev=1338790&view=rev
Log:
Avoid to override definition when adding a feature repository
Modified:
karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
Modified: karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java?rev=1338790&r1=1338789&r2=1338790&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/features/src/main/java/org/apache/karaf/cellar/features/LocalFeaturesListener.java Tue May 15 16:47:28 2012
@@ -120,14 +120,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 {