You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/06/30 14:33:30 UTC
svn commit: r959285 -
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java
Author: mir
Date: Wed Jun 30 12:33:30 2010
New Revision: 959285
URL: http://svn.apache.org/viewvc?rev=959285&view=rev
Log:
CLEREZZA-250: fixed bugs in PermissionGatherer
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java?rev=959285&r1=959284&r2=959285&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.permissiondescriptions/src/main/java/org/apache/clerezza/permissiondescriptions/PermissionGatherer.java Wed Jun 30 12:33:30 2010
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
*
* @author mir
*/
-@Component()
+@Component(immediate=true)
@Service(PermissionGatherer.class)
@Reference(name="permissionProvider", policy=ReferencePolicy.DYNAMIC,
referenceInterface=PermissionDescriptionsProvider.class, cardinality=ReferenceCardinality.OPTIONAL_MULTIPLE)
@@ -130,11 +130,12 @@ public class PermissionGatherer implemen
Bundle bundle = serviceReference.getBundle();
Collection<PermissionDescripton> permissionDescriptiors =
- bundle2PermissionDescriptorsMap.get(bundle);
-
- permissionDescriptiors.removeAll(permissionProvider.getPermissionDescriptors());
- if (permissionDescriptiors.isEmpty()) {
- bundle2PermissionDescriptorsMap.remove(bundle);
+ bundle2PermissionDescriptorsMap.get(bundle);
+ if (permissionDescriptiors != null) {
+ permissionDescriptiors.removeAll(permissionProvider.getPermissionDescriptors());
+ if (permissionDescriptiors.isEmpty()) {
+ bundle2PermissionDescriptorsMap.remove(bundle);
+ }
}
}
@@ -146,12 +147,14 @@ public class PermissionGatherer implemen
if (permissionProvider == null) {
return;
}
+ Bundle bundle = serviceReference.getBundle();
Collection<PermissionDescripton> permissionDescriptiors =
- bundle2PermissionDescriptorsMap.get(serviceReference.getBundle());
+ bundle2PermissionDescriptorsMap.get(bundle);
if (permissionDescriptiors == null) {
permissionDescriptiors = new HashSet<PermissionDescripton>();
}
permissionDescriptiors.addAll(permissionProvider.getPermissionDescriptors());
+ bundle2PermissionDescriptorsMap.put(bundle, permissionDescriptiors);
}