Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2011, Red Hat, Inc., and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 
 package org.jboss.as.security.service;
 
 
 
A service for JACC policies

Author(s):
Marcus Moyses
 
 public abstract class JaccService<T> implements Service<PolicyConfiguration> {
 
     protected static final SecurityLogger log = .;
 
     public static final ServiceName SERVICE_NAME = ..append("jacc");
 
     private final String contextId;
 
     private final T metaData;
 
     private final Boolean standalone;
 
     private volatile PolicyConfiguration policyConfiguration;
 
 
     public JaccService(final String contextId, T metaDataBoolean standalone) {
         if (contextId == null)
             throw ..nullArgument("JACC Context Id");
         this. = contextId;
         this. = metaData;
         this. = standalone;
     }

    
 
     @Override
         return ;
     }

    
 
     @Override
     public void start(StartContext contextthrows StartException {
         try {
             PolicyConfigurationFactory pcf = PolicyConfigurationFactory.getPolicyConfigurationFactory();
             synchronized (pcf) { // synchronize on the factory
                  = pcf.getPolicyConfiguration(false);
                 if ( != null) {
                     createPermissions();
                 } else {
                     .debugf("Cannot create permissions with 'null' metaData for id=" + );
                 }
                 if (!) {
                     PolicyConfiguration parent = .getValue();
                     if (parent != null) {
                         parent = pcf.getPolicyConfiguration(parent.getContextID(), false);
                         parent.linkConfiguration();
                         .commit();
                         parent.commit();
                     } else {
                         .debugf("Could not retrieve parent policy for policy " + );
                     }
                 } else {
                    .commit();
                }
                // Allow the policy to incorporate the policy configs
                Policy.getPolicy().refresh();
            }
        } catch (Exception e) {
            throw ..unableToStartException("JaccService"e);
        }
    }

    
    @Override
    public void stop(StopContext context) {
        try {
            PolicyConfigurationFactory pcf = PolicyConfigurationFactory.getPolicyConfigurationFactory();
            synchronized (pcf) { // synchronize on the factory
                 = pcf.getPolicyConfiguration(false);
                .delete();
            }
        } catch (Exception e) {
        }
         = null;
    }

    
Target Injector

Returns:
target
        return ;
    }

    
Create JACC permissions for the deployment

Parameters:
metaData
policyConfiguration
Throws:
javax.security.jacc.PolicyContextException
    public abstract void createPermissions(T metaDataPolicyConfiguration policyConfigurationthrows PolicyContextException;
New to GrepCode? Check out our FAQ X