Package org.jboss.metadata.ejb.spec

Examples of org.jboss.metadata.ejb.spec.MethodParametersMetaData


/* 108 */     return methodMetaData;
/*     */   }
/*     */
/*     */   public static MethodParametersMetaData getMethodParameters(Method method)
/*     */   {
/* 113 */     MethodParametersMetaData metaData = new MethodParametersMetaData();
/* 114 */     for (Class parameterType : method.getParameterTypes())
/*     */     {
/* 116 */       metaData.add(parameterType.getName());
/*     */     }
/* 118 */     return metaData;
/*     */   }
View Full Code Here


/*      */         {
/* 1277 */           matches = true;
/*      */         }
/*      */         else {
/* 1280 */           methodParams = method.getParameterTypes();
/* 1281 */           MethodParametersMetaData bindingParams = binding.getMethod().getMethodParams();
/*      */
/* 1283 */           if (methodParams.length == bindingParams.size())
/*      */           {
/* 1285 */             matches = true;
/* 1286 */             i = 0;
/* 1287 */             for (String paramName : bindingParams)
/*      */             {
View Full Code Here

/* 1091 */       buf.append(binding.getEjbName());
/* 1092 */       NamedMethodMetaData method = binding.getMethod();
/* 1093 */       if (method != null)
/*      */       {
/* 1095 */         buf.append("." + method.getMethodName());
/* 1096 */         MethodParametersMetaData methodParams = method.getMethodParams();
/* 1097 */         if (methodParams != null)
/*      */         {
/* 1099 */           buf.append("(");
/* 1100 */           for (int i = 0; i < methodParams.size(); )
/*      */           {
/* 1102 */             if (i == 0) buf.append(",");
/* 1103 */             buf.append((String)methodParams.get(i));
/*      */           }
/* 1105 */           buf.append(")");
/*      */         }
/*      */       }
/*      */
View Full Code Here

/* 102 */     return ((org.jboss.metadata.ejb.spec.QueryMetaData)getDelegate()).getQueryMethod().getMethodName();
/*     */   }
/*     */
/*     */   public Iterator<String> getMethodParams()
/*     */   {
/* 112 */     MethodParametersMetaData result = ((org.jboss.metadata.ejb.spec.QueryMetaData)getDelegate()).getQueryMethod().getMethodParams();
/* 113 */     if (result != null)
/* 114 */       return result.iterator();
/* 115 */     List list = Collections.emptyList();
/* 116 */     return list.iterator();
/*     */   }
View Full Code Here

                        ejbComponentDescription.setRolesAllowedForAllMethodsOfAllViews(securityRoles);
                    } else {
                        ejbComponentDescription.setRolesAllowedForAllMethodsOnViewType(methodIntf, securityRoles);
                    }
                } else {
                    final MethodParametersMetaData methodParams = method.getMethodParams();
                    // style 2
                    //            <method>
                    //                <ejb-name>EJBNAME</ejb-name>
                    //                <method-name>METHOD</method-name>
                    //              </method>
                    if (methodParams == null || methodParams.isEmpty()) {
                        final Collection<Method> applicableMethods = ClassReflectionIndexUtil.findAllMethodsByName(deploymentReflectionIndex, classReflectionIndex, methodName);
                        // just log a WARN message and proceed, in case there was no method by that name
                        if (applicableMethods.isEmpty()) {
                            logger.warn("No method named: " + methodName + " found on EJB: " + ejbName + " while processing method-permission element in ejb-jar.xml");
                            continue;
                        }
                        // apply the @RolesAllowed/method-permission
                        this.setRolesAllowed(ejbComponentDescription, methodIntf, applicableMethods, securityRoles);

                    } else {
                        // style 3
                        //            <method>
                        //                <ejb-name>EJBNAME</ejb-name>
                        //                <method-name>METHOD</method-name>
                        //                <method-params>
                        //                <method-param>PARAMETER_1</method-param>
                        //                ...
                        //                <method-param>PARAMETER_N</method-param>
                        //                </method-params>
                        //
                        //              </method>
                        final String[] paramTypes = methodParams.toArray(new String[methodParams.size()]);
                        final Collection<Method> applicableMethods = ClassReflectionIndexUtil.findMethods(deploymentReflectionIndex, classReflectionIndex, methodName, paramTypes);
                        // just log a WARN message and proceed, in case there was no method by that name and param types
                        if (applicableMethods.isEmpty()) {
                            logger.warn("No method named: " + methodName + " with param types: " + paramTypes + " found on EJB: " + ejbName + " while processing method-permission element in ejb-jar.xml");
                            continue;
View Full Code Here

                    ejbComponentDescription.applyDenyAllOnAllMethodsOfAllViews();
                } else {
                    ejbComponentDescription.applyDenyAllOnAllMethodsOfViewType(methodIntf);
                }
            } else {
                final MethodParametersMetaData methodParams = denyAllMethod.getMethodParams();
                // style 2
                //            <method>
                //                <ejb-name>EJBNAME</ejb-name>
                //                <method-name>METHOD</method-name>
                //              </method>
                if (methodParams == null || methodParams.isEmpty()) {
                    final Collection<Method> denyAllApplicableMethods = ClassReflectionIndexUtil.findAllMethodsByName(deploymentReflectionIndex, classReflectionIndex, methodName);
                    // just log a WARN message and proceed, in case there was no method by that name
                    if (denyAllApplicableMethods.isEmpty()) {
                        logger.warn("No method named: " + methodName + " found on EJB: " + ejbName + " while processing exclude-list element in ejb-jar.xml");
                        continue;
                    }
                    // apply the @DenyAll/exclude-list
                    this.applyDenyAll(ejbComponentDescription, methodIntf, denyAllApplicableMethods);

                } else {
                    // style 3
                    //            <method>
                    //                <ejb-name>EJBNAME</ejb-name>
                    //                <method-name>METHOD</method-name>
                    //                <method-params>
                    //                <method-param>PARAMETER_1</method-param>
                    //                ...
                    //                <method-param>PARAMETER_N</method-param>
                    //                </method-params>
                    //
                    //              </method>
                    final String[] paramTypes = methodParams.toArray(new String[methodParams.size()]);
                    final Collection<Method> denyAllApplicableMethods = ClassReflectionIndexUtil.findMethods(deploymentReflectionIndex, classReflectionIndex, methodName, paramTypes);
                    // just log a WARN message and proceed, in case there was no method by that name and param types
                    if (denyAllApplicableMethods.isEmpty()) {
                        logger.warn("No method named: " + methodName + " with param types: " + paramTypes + " found on EJB: " + ejbName + " while processing exclude-list element in ejb-jar.xml");
                        continue;
View Full Code Here

                        MethodIntf methodIntf = this.getMethodIntf(method.getMethodIntf());
                        if (methodName.equals("*")) {
                            sessionBeanDescription.setTransactionAttribute(methodIntf, className, txAttr);
                        } else {

                            MethodParametersMetaData methodParams = method.getMethodParams();
                            // update the session bean description with the tx attribute info
                            sessionBeanDescription.setTransactionAttribute(methodIntf, txAttr, className, methodName, this.getMethodParams(methodParams));
                        }
                    }
                }
View Full Code Here

            {
               log.trace("Async method names match: " + invokedMethodName);
            }

            // Params match?
            MethodParametersMetaData asyncParams = asyncMethod.getMethodParams();
            if (asyncParams == null)
            {
               asyncParams = new MethodParametersMetaData();
            }
            final Class<?>[] invokedParams = invokedMethod.getParameterTypes();
            final int invokedParamsSize = invokedParams.length;
            if (asyncParams.size() != invokedParams.length)
            {
               if (log.isTraceEnabled())
               {
                  log.trace("Different async params size, no match");
               }
               return false;
            }
            for (int i = 0; i < invokedParamsSize; i++)
            {
               final String invokedParamTypeName = invokedParams[i].getName();
               final String declaredName = asyncParams.get(i);
               if (!invokedParamTypeName.equals(declaredName))
               {
                  return false;
               }
            }
View Full Code Here

         if(timeoutMethodMetaData != null)
         {
            // timeout method name
            methodName = timeoutMethodMetaData.getMethodName();
            // timeout method params
            MethodParametersMetaData methodParams = timeoutMethodMetaData.getMethodParams();
            String[] paramTypes = methodParams == null ? null : methodParams.toArray(new String[methodParams.size()]);
            timeoutMethodParams = this.loadTimeoutMethodParamTypes(beanClass.getClassLoader(), paramTypes);
         }
      }
     
      Method timeoutMethod = timeoutMethodCallbackRequirements.getTimeoutMethod(beanClass, methodName, timeoutMethodParams);
View Full Code Here

                        final MethodIntf methodIntf = this.getMethodIntf(method.getMethodIntf());
                        if (methodName.equals("*")) {
                            componentConfiguration.getMethodPermissions().setAttribute(methodIntf, null, EJBMethodSecurityAttribute.denyAll());
                        } else {

                            final MethodParametersMetaData methodParams = method.getMethodParams();
                            // update the session bean description with the tx attribute info
                            if (methodParams == null) {
                                componentConfiguration.getMethodPermissions().setAttribute(methodIntf, EJBMethodSecurityAttribute.denyAll(), methodName);
                            } else {

                                componentConfiguration.getMethodPermissions().setAttribute(methodIntf, EJBMethodSecurityAttribute.denyAll(), null, methodName, this.getMethodParams(methodParams));
                            }
                        }
                    }
                }

                //now handle method permissions
                final MethodPermissionsMetaData methodPermissions = assemblyDescriptor.getMethodPermissionsByEjbName(componentConfiguration.getEJBName());
                if (methodPermissions != null) {
                    for (final MethodPermissionMetaData methodPermissionMetaData : methodPermissions) {

                        final MethodsMetaData methods = methodPermissionMetaData.getMethods();
                        for (final MethodMetaData method : methods) {
                            EJBMethodSecurityAttribute ejbMethodSecurityMetaData;
                            // EJB 3.1 FR 17.3.2.2 The unchecked element is used instead of a role name in the method-permission element to indicate that all roles are permitted.
                            if (methodPermissionMetaData.isNotChecked()) {
                                ejbMethodSecurityMetaData = EJBMethodSecurityAttribute.permitAll();
                            } else {
                                ejbMethodSecurityMetaData = EJBMethodSecurityAttribute.rolesAllowed(methodPermissionMetaData.getRoles());
                            }
                            final String methodName = method.getMethodName();
                            final MethodIntf methodIntf = this.getMethodIntf(method.getMethodIntf());
                            if (methodName.equals("*")) {
                                final EJBMethodSecurityAttribute existingRoles = componentConfiguration.getMethodPermissions().getAttributeStyle1(methodIntf, null);
                                ejbMethodSecurityMetaData = mergeExistingRoles(ejbMethodSecurityMetaData, existingRoles);
                                componentConfiguration.getMethodPermissions().setAttribute(methodIntf, null, ejbMethodSecurityMetaData);
                            } else {

                                final MethodParametersMetaData methodParams = method.getMethodParams();
                                // update the session bean description with the tx attribute info
                                if (methodParams == null) {

                                    final EJBMethodSecurityAttribute existingRoles = componentConfiguration.getMethodPermissions().getAttributeStyle2(methodIntf, methodName);
                                    ejbMethodSecurityMetaData = mergeExistingRoles(ejbMethodSecurityMetaData, existingRoles);
View Full Code Here

TOP

Related Classes of org.jboss.metadata.ejb.spec.MethodParametersMetaData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.