Java 类org.apache.catalina.comet.CometFilter 实例源码

项目:lazycat    文件:SecurityUtil.java   
/**
 * Perform work as a particular <code>Subject</code>. Here the work will be
 * granted to a <code>null</code> subject.
 *
 * @param methodName
 *            the method to apply the security restriction
 * @param targetObject
 *            the <code>Filter</code> on which the method will be called.
 * @param targetParameterTypes
 *            <code>Class</code> array used to instantiate a
 *            <code>Method</code> object.
 * @param targetParameterValues
 *            <code>Object</code> array contains the runtime parameters
 *            instance.
 * @param principal
 *            the <code>Principal</code> to which the security privilege
 *            apply
 */
public static void doAsPrivilege(final String methodName, final Filter targetObject,
        final Class<?>[] targetParameterTypes, final Object[] targetParameterValues, Principal principal)
        throws java.lang.Exception {

    // CometFilter instances must not be cached as Filter or
    // NoSuchMethodException will be thrown.
    Class<? extends Filter> targetType = targetObject instanceof CometFilter ? CometFilter.class : Filter.class;

    Method method = null;
    Method[] methodsCache = classCache.get(Filter.class);
    if (methodsCache == null) {
        method = createMethodAndCacheIt(methodsCache, targetType, methodName, targetParameterTypes);
    } else {
        method = findMethod(methodsCache, methodName);
        if (method == null) {
            method = createMethodAndCacheIt(methodsCache, targetType, methodName, targetParameterTypes);
        }
    }

    execute(method, targetObject, targetParameterValues, principal);
}
项目:tomcat7    文件:SecurityUtil.java   
/**
 * Perform work as a particular <code>Subject</code>. Here the work
 * will be granted to a <code>null</code> subject.
 *
 * @param methodName the method to apply the security restriction
 * @param targetObject the <code>Filter</code> on which the method will
 * be called.
 * @param targetParameterTypes <code>Class</code> array used to instantiate a
 * <code>Method</code> object.
 * @param targetParameterValues <code>Object</code> array contains the
 * runtime parameters instance.
 * @param principal the <code>Principal</code> to which the security
 * privilege apply
 */
public static void doAsPrivilege(final String methodName,
                                 final Filter targetObject,
                                 final Class<?>[] targetParameterTypes,
                                 final Object[] targetParameterValues,
                                 Principal principal)
    throws java.lang.Exception{

    // CometFilter instances must not be cached as Filter or
    // NoSuchMethodException will be thrown.
    Class<? extends Filter> targetType =
            targetObject instanceof CometFilter ? CometFilter.class : Filter.class;

    Method method = null;
    Method[] methodsCache = classCache.get(Filter.class);
    if(methodsCache == null) {
        method = createMethodAndCacheIt(methodsCache,
                                        targetType,
                                        methodName,
                                        targetParameterTypes);
    } else {
        method = findMethod(methodsCache, methodName);
        if (method == null) {
            method = createMethodAndCacheIt(methodsCache,
                                            targetType,
                                            methodName,
                                            targetParameterTypes);
        }
    }

    execute(method, targetObject, targetParameterValues, principal);
}
项目:apache-tomcat-7.0.73-with-comment    文件:SecurityUtil.java   
/**
 * Perform work as a particular <code>Subject</code>. Here the work
 * will be granted to a <code>null</code> subject.
 *
 * @param methodName the method to apply the security restriction
 * @param targetObject the <code>Filter</code> on which the method will
 * be called.
 * @param targetParameterTypes <code>Class</code> array used to instantiate a
 * <code>Method</code> object.
 * @param targetParameterValues <code>Object</code> array contains the
 * runtime parameters instance.
 * @param principal the <code>Principal</code> to which the security
 * privilege apply
 */
public static void doAsPrivilege(final String methodName,
                                 final Filter targetObject,
                                 final Class<?>[] targetParameterTypes,
                                 final Object[] targetParameterValues,
                                 Principal principal)
    throws java.lang.Exception{

    // CometFilter instances must not be cached as Filter or
    // NoSuchMethodException will be thrown.
    Class<? extends Filter> targetType =
            targetObject instanceof CometFilter ? CometFilter.class : Filter.class;

    Method method = null;
    Method[] methodsCache = classCache.get(Filter.class);
    if(methodsCache == null) {
        method = createMethodAndCacheIt(methodsCache,
                                        targetType,
                                        methodName,
                                        targetParameterTypes);
    } else {
        method = findMethod(methodsCache, methodName);
        if (method == null) {
            method = createMethodAndCacheIt(methodsCache,
                                            targetType,
                                            methodName,
                                            targetParameterTypes);
        }
    }

    execute(method, targetObject, targetParameterValues, principal);
}