Exemplo n.º 1
0
 @Override
 public void unregisterDescriptor(SecurityPolicyDescriptor descriptor) {
   String id = descriptor.getName();
   if (policyDescriptors.containsKey(id)) {
     policyDescriptors.remove(id);
     resetPolicies();
   }
 }
Exemplo n.º 2
0
 private void computePolicies() {
   policies = new ArrayList<SecurityPolicy>();
   List<SecurityPolicyDescriptor> orderedDescriptors = new ArrayList<SecurityPolicyDescriptor>();
   for (SecurityPolicyDescriptor descriptor : policyDescriptors.values()) {
     if (descriptor.isEnabled()) {
       orderedDescriptors.add(descriptor);
     }
   }
   Collections.sort(orderedDescriptors);
   List<String> policyNames = new ArrayList<String>();
   for (SecurityPolicyDescriptor descriptor : orderedDescriptors) {
     if (descriptor.isEnabled()) {
       try {
         Object policy = descriptor.getPolicy().newInstance();
         if (policy instanceof SecurityPolicy) {
           policies.add((SecurityPolicy) policy);
           policyNames.add(descriptor.getName());
         } else {
           log.error(
               String.format(
                   "Invalid contribution to security policy service %s:"
                       + " must implement SecurityPolicy interface",
                   descriptor.getName()));
         }
       } catch (Exception e) {
         log.error(e);
       }
     }
   }
   log.debug("Ordered security policies: " + policyNames.toString());
 }
Exemplo n.º 3
0
 @Override
 public void registerDescriptor(SecurityPolicyDescriptor descriptor) {
   String id = descriptor.getName();
   if (policyDescriptors.containsKey(id)) {
     log.info("Overriding security policy " + id);
   }
   policyDescriptors.put(id, descriptor);
   resetPolicies();
 }