private Set getMethodPermissions(MethodDescriptor methodDescriptor) { Set methodPermissionsForMethod = new HashSet(); for (Iterator e = this.getPermissionedMethodsByPermission().keySet().iterator(); e.hasNext();) { MethodPermission nextPermission = (MethodPermission) e.next(); Set permissionedMethods = (Set) this.getPermissionedMethodsByPermission().get(nextPermission); for (Iterator itr = permissionedMethods.iterator(); itr.hasNext();) { MethodDescriptor md = (MethodDescriptor) itr.next(); if (md.equals(methodDescriptor)) { methodPermissionsForMethod.add(nextPermission); } } } return methodPermissionsForMethod; }
/** * @return remove method info for the given method or null if the * given method is not a remove method for this stateful session bean. */ public EjbRemovalInfo getRemovalInfo(MethodDescriptor method) { // first try to find the exact match for (MethodDescriptor methodDesc : removeMethods.keySet()) { if (methodDesc.equals(method)) { return removeMethods.get(methodDesc); } } // if nothing is found, try to find the loose match for (MethodDescriptor methodDesc : removeMethods.keySet()) { if (methodDesc.implies(method)) { return removeMethods.get(methodDesc); } } return null; }
private Set getMethodPermissions(MethodDescriptor methodDescriptor) { Set methodPermissionsForMethod = new HashSet(); for (Iterator e = this.getPermissionedMethodsByPermission().keySet().iterator(); e.hasNext();) { MethodPermission nextPermission = (MethodPermission) e.next(); Set permissionedMethods = (Set) this.getPermissionedMethodsByPermission().get(nextPermission); for (Iterator itr = permissionedMethods.iterator(); itr.hasNext();) { MethodDescriptor md = (MethodDescriptor) itr.next(); if (md.equals(methodDescriptor)) { methodPermissionsForMethod.add(nextPermission); } } } return methodPermissionsForMethod; }
/** * @return remove method info for the given method or null if the * given method is not a remove method for this stateful session bean. */ public EjbRemovalInfo getRemovalInfo(MethodDescriptor method) { // first try to find the exact match Iterator<Map.Entry<MethodDescriptor, EjbRemovalInfo>> entryIterator = removeMethods.entrySet().iterator(); while (entryIterator.hasNext()) { Map.Entry<MethodDescriptor, EjbRemovalInfo> entry = entryIterator.next(); if (entry.getKey().equals(method)) { return entry.getValue(); } } // if nothing is found, try to find the loose match entryIterator = removeMethods.entrySet().iterator(); while (entryIterator.hasNext()) { Map.Entry<MethodDescriptor, EjbRemovalInfo> entry = entryIterator.next(); if (entry.getKey().implies(method)) { return entry.getValue(); } } return null; }
protected String getSecurityAttribute(EjbDescriptor dd, Method m) { // The SEC_* strings returned MUST match the SEC_* constants in // com.sun.ejb.Container. MethodDescriptor thisMethodDesc = new MethodDescriptor(m, ejbClassSymbol); Set unchecked = dd.getUncheckedMethodDescriptors(); if ( unchecked != null ) { Iterator i = unchecked.iterator(); while ( i.hasNext() ) { MethodDescriptor md = (MethodDescriptor)i.next(); if ( thisMethodDesc.equals(md) ) return "SEC_UNCHECKED"; } } Set excluded = dd.getExcludedMethodDescriptors(); if ( excluded != null ) { Iterator i = excluded.iterator(); while ( i.hasNext() ) { MethodDescriptor md = (MethodDescriptor)i.next(); if ( thisMethodDesc.equals(md) ) return "SEC_EXCLUDED"; } } return "SEC_CHECKED"; }
protected String getSecurityAttribute(EjbDescriptor dd, Method m) { // The SEC_* strings returned MUST match the SEC_* constants in // com.sun.ejb.Container. MethodDescriptor thisMethodDesc = new MethodDescriptor(m, ejbClassSymbol); Set unchecked = dd.getUncheckedMethodDescriptors(); if ( unchecked != null ) { Iterator i = unchecked.iterator(); while ( i.hasNext() ) { MethodDescriptor md = (MethodDescriptor)i.next(); if ( thisMethodDesc.equals(md) ) return "SEC_UNCHECKED"; } } Set excluded = dd.getExcludedMethodDescriptors(); if ( excluded != null ) { Iterator i = excluded.iterator(); while ( i.hasNext() ) { MethodDescriptor md = (MethodDescriptor)i.next(); if ( thisMethodDesc.equals(md) ) return "SEC_EXCLUDED"; } } return "SEC_CHECKED"; }
/** * @return the MethodDescriptor for the given Method object */ public MethodDescriptor getBusinessMethodDescriptorFor(Method m, String methodIntf) { Set businessMethodDescriptors = getBusinessMethodDescriptors(); MethodDescriptor methodDesc = new MethodDescriptor(m, methodIntf); MethodDescriptor match = null; for(Object next : businessMethodDescriptors) { MethodDescriptor nextMethodDesc = (MethodDescriptor) next; if( nextMethodDesc.equals(methodDesc)) { match = nextMethodDesc; break; } } return match; }
/** * @return the MethodDescriptor for the given Method object */ public MethodDescriptor getBusinessMethodDescriptorFor(Method m, String methodIntf) { Set businessMethodDescriptors = getBusinessMethodDescriptors(); MethodDescriptor methodDesc = new MethodDescriptor(m, methodIntf); MethodDescriptor match = null; for(Object next : businessMethodDescriptors) { MethodDescriptor nextMethodDesc = (MethodDescriptor) next; if( nextMethodDesc.equals(methodDesc)) { match = nextMethodDesc; break; } } return match; }
/** * @param methodDesc * @param ejbDesc * @return whether the given methodDesc has permission defined in ejbDesc */ private boolean hasMethodPermissionsFromDD(MethodDescriptor methodDesc, EjbDescriptor ejbDesc) { Map methodPermissionsFromDD = ejbDesc.getMethodPermissionsFromDD(); if (methodPermissionsFromDD != null) { Set allMethods = ejbDesc.getMethodDescriptors(); for (Object mdObjsObj : methodPermissionsFromDD.values()) { List mdObjs = (List)mdObjsObj; for (Object mdObj : mdObjs) { MethodDescriptor md = (MethodDescriptor)mdObj; for (Object style3MdObj : md.doStyleConversion(ejbDesc, allMethods)) { MethodDescriptor style3Md = (MethodDescriptor)style3MdObj; if (methodDesc.equals(style3Md)) { return true; } } } } } return false; }
/** * @param methodDesc * @param ejbDesc * @return whether the given methodDesc has permission defined in ejbDesc */ private boolean hasMethodPermissionsFromDD(MethodDescriptor methodDesc, EjbDescriptor ejbDesc) { HashMap methodPermissionsFromDD = ejbDesc.getMethodPermissionsFromDD(); if (methodPermissionsFromDD != null) { Set allMethods = ejbDesc.getMethodDescriptors(); String ejbClassSymbol = methodDesc.getEjbClassSymbol(); for (Object mdObjsObj : methodPermissionsFromDD.values()) { List mdObjs = (List)mdObjsObj; for (Object mdObj : mdObjs) { MethodDescriptor md = (MethodDescriptor)mdObj; for (Object style3MdObj : md.doStyleConversion(ejbDesc, allMethods)) { MethodDescriptor style3Md = (MethodDescriptor)style3MdObj; if (methodDesc.equals(style3Md)) { return true; } } } } } return false; }