You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by io...@apache.org on 2011/10/11 01:00:15 UTC
svn commit: r1181287 - in
/karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features:
FeaturesSupport.java LocalFeaturesListener.java
Author: iocanel
Date: Mon Oct 10 23:00:15 2011
New Revision: 1181287
URL: http://svn.apache.org/viewvc?rev=1181287&view=rev
Log:
[KARAF-859] Added support for feature repository removal from cellar.
Modified:
karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java
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/FeaturesSupport.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java?rev=1181287&r1=1181286&r2=1181287&view=diff
==============================================================================
--- karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java (original)
+++ karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/FeaturesSupport.java Mon Oct 10 23:00:15 2011
@@ -125,6 +125,20 @@ public class FeaturesSupport extends Cel
}
}
+ /**
+ * Removes a {@code Repository} to the distributed list of repositories.
+ *
+ * @param repository
+ */
+ public void removeRepository(Repository repository, Group group) {
+ String groupName = group.getName();
+ List<String> repositories = clusterManager.getList(Constants.REPOSITORIES + Configurations.SEPARATOR + groupName);
+
+ if (featuresService != null && repositories != null) {
+ URI uri = repository.getURI();
+ repositories.remove(uri.toString());
+ }
+ }
public FeaturesService getFeaturesService() {
return featuresService;
}
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=1181287&r1=1181286&r2=1181287&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 Mon Oct 10 23:00:15 2011
@@ -98,7 +98,13 @@ public class LocalFeaturesListener exten
for (Group group : groups) {
RemoteRepositoryEvent repositoryEvent = new RemoteRepositoryEvent(event.getRepository().getURI().toString(), event.getType());
repositoryEvent.setSourceGroup(group);
- pushRepository(event.getRepository(), group);
+ RepositoryEvent.EventType type = event.getType();
+
+ if(RepositoryEvent.EventType.RepositoryAdded.equals(type)){
+ pushRepository(event.getRepository(), group);
+ } else {
+ removeRepository(event.getRepository(),group);
+ }
if (producerList != null && !producerList.isEmpty()) {
for (EventProducer producer : producerList) {
producer.produce(repositoryEvent);