[jboss-cvs] JBossAS SVN: r98525 - projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Dec 22 12:26:57 EST 2009
Author: jaikiran
Date: 2009-12-22 12:26:57 -0500 (Tue, 22 Dec 2009)
New Revision: 98525
Removed:
projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc/PolicyConfigurationFactory.java
Log:
Autoversioning commit: a non-deltaV client made a change to
/projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc/PolicyConfigurationFactory.java
Deleted: projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc/PolicyConfigurationFactory.java
===================================================================
--- projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc/PolicyConfigurationFactory.java 2009-12-22 17:26:19 UTC (rev 98524)
+++ projects/javaee/tags/jboss-javaee-parent-6.0.0-alpha-1/jboss-jacc-api/src/main/javax/security/jacc/PolicyConfigurationFactory.java 2009-12-22 17:26:57 UTC (rev 98525)
@@ -1,200 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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 javax.security.jacc;
-
-import java.security.SecurityPermission;
-import java.security.AccessController;
-import java.security.PrivilegedExceptionAction;
-import java.security.PrivilegedActionException;
-
-/**
- * @author Scott.Stark at jboss.org
- * @author Ron Monzillo, Gary Ellison (javadoc)
- * @version $Revision$
- */
-public abstract class PolicyConfigurationFactory
-{
- /** The standard name of the system property specifying the JACC
- PolicyConfigurationFactory implementation class name.
- */
- private static final String FACTORY_PROP =
- "javax.security.jacc.PolicyConfigurationFactory.provider";
- /** The default PolicyConfigurationFactory implementation */
- private static final String DEFAULT_FACTORY_NAME =
- "org.jboss.security.jacc.JBossPolicyConfigurationFactory";
- /** The loaded PolicyConfigurationFactory provider */
- private static PolicyConfigurationFactory factory;
-
- /** This static method uses the javax.security.jacc.PolicyConfigurationFactory.provider
- * system property to create a provider factory implementation. The provider
- * class must provide a public no-arg ctor.
- *
- * @return the PolicyConfigurationFactory singleton
- * @throws SecurityException - when the caller does not have a
- * SecurityPermission(setPolicy) permission.
- * @throws ClassNotFoundException - when the class named by the system
- * property could not be found or because the value of the system
- * property is null.
- * @throws PolicyContextException - if the PolicyConfigurationFactory ctor
- * throws an exception other than those in the getPolicyConfigurationFactory
- * method signature. The exception will be encapsulated in a
- * PolicyContextException as its cause.
- */
- public static PolicyConfigurationFactory getPolicyConfigurationFactory()
- throws ClassNotFoundException, PolicyContextException
- {
- // Validate the caller permission
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(new SecurityPermission("setPolicy"));
-
- if (factory == null)
- {
- String factoryName = null;
- Class clazz = null;
- try
- {
- LoadAction action = new LoadAction();
- try
- {
- clazz = (Class) AccessController.doPrivileged(action);
- factoryName = action.getName();
- }
- catch (PrivilegedActionException ex)
- {
- factoryName = action.getName();
- Exception e = ex.getException();
- if (e instanceof ClassNotFoundException)
- throw (ClassNotFoundException) e;
- else
- throw new PolicyContextException("Failure during load of class: "+action.getName(), e);
- }
- factory = (PolicyConfigurationFactory) clazz.newInstance();
- }
- catch (ClassNotFoundException e)
- {
- String msg = "Failed to find PolicyConfigurationFactory : " + factoryName;
- throw new ClassNotFoundException(msg, e);
- }
- catch (IllegalAccessException e)
- {
- String msg = "Unable to access class : " + factoryName;
- throw new PolicyContextException(msg, e);
- }
- catch (InstantiationException e)
- {
- String msg = "Failed to create instance of: " + factoryName;
- throw new PolicyContextException(msg, e);
- }
- catch (ClassCastException e)
- {
- StringBuffer msg = new StringBuffer(factoryName + " Is not a PolicyConfigurationFactory, ");
- msg.append("PCF.class.CL: "+PolicyConfigurationFactory.class.getClassLoader());
- msg.append("\nPCF.class.CS: "+PolicyConfigurationFactory.class.getProtectionDomain().getCodeSource());
- msg.append("\nPCF.class.hash: "+System.identityHashCode(PolicyConfigurationFactory.class));
- msg.append("\nclazz.CL: "+clazz.getClassLoader());
- msg.append("\nclazz.CS: "+clazz.getProtectionDomain().getCodeSource());
- msg.append("\nclazz.super.CL: "+clazz.getSuperclass().getClassLoader());
- msg.append("\nclazz.super.CS: "+clazz.getSuperclass().getProtectionDomain().getCodeSource());
- msg.append("\nclazz.super.hash: "+System.identityHashCode(clazz.getSuperclass()));
- ClassCastException cce = new ClassCastException(msg.toString());
- cce.initCause(e);
- throw cce;
- }
- }
- return factory;
- }
-
- /** This method is used to obtain an instance of the provider specific class
- * that implements the PolicyConfiguration interface that corresponds to the
- * identified policy context within the provider. The methods of the
- * PolicyConfiguration interface are used to define the policy statements of
- * the identified policy context.
- *
- * If at the time of the call, the identified policy context does not exist
- * in the provider, then the policy context will be created in the provider
- * and the Object that implements the context's PolicyConfiguration Interface
- * will be returned. If the state of the identified context is "deleted" or
- * "inService" it will be transitioned to the "open" state as a result of the
- * call. The states in the lifecycle of a policy context are defined by the
- * PolicyConfiguration interface.
- *
- * For a given value of policy context identifier, this method must always
- * return the same instance of PolicyConfiguration and there must be at most
- * one actual instance of a PolicyConfiguration with a given policy context
- * identifier (during a process context).
- *
- * To preserve the invariant that there be at most one PolicyConfiguration
- * object for a given policy context, it may be necessary for this method to
- * be thread safe.
- *
- * @param contextID - the policy context ID indicates which
- * PolicyConfiguration to return. This must not be null.
- * @param remove - A boolean flag that establishes whether or not the policy
- * statements of an existing policy context are to be removed before its
- * PolicyConfiguration object is returned. If the value passed to this
- * parameter is true, the policy statements of an existing policy context
- * will be removed. If the value is false, they will not be removed.
- * @return a PolicyConfiguration instance
- * @throws PolicyContextException
- */
- public abstract PolicyConfiguration getPolicyConfiguration(String contextID,
- boolean remove)
- throws PolicyContextException;
-
- /** This method determines if the identified policy context exists with state
- * "inService" in the Policy provider associated with the factory.
- *
- * @param contextID - the context ID for selecting the policy
- * @return true if the identified policy context exists within the provider
- * and its state is "inService", false otherwise.
- * @throws PolicyContextException
- */
- public abstract boolean inService(String contextID)
- throws PolicyContextException;
-
- /** A PrivilegedExceptionAction that looks up the class name identified
- * by the javax.security.jacc.PolicyConfigurationFactory.provider system
- * property and loads the class using the thread context class loader.
- */
- private static class LoadAction implements PrivilegedExceptionAction
- {
- private String name;
- public String getName()
- {
- return name;
- }
- public Object run()
- throws Exception
- {
- name = System.getProperty(FACTORY_PROP);
- if( name == null )
- {
- // Use the default factory impl
- name = DEFAULT_FACTORY_NAME;
- }
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- Class factoryClass = loader.loadClass(name);
- return factoryClass;
- }
- }
-}
More information about the jboss-cvs-commits
mailing list