Package org.glassfish.ejb.deployment.descriptor

Examples of org.glassfish.ejb.deployment.descriptor.EjbDescriptor


//                            if (Verifier.getEarFile() != null){
//                                archivist.extractEntry(ejbBundle.getModuleDescriptor().getArchiveUri(), tmpFile);
//                            }
          for (Iterator itr2 = ejbBundle.getEjbs().iterator(); itr2.hasNext();) {

        EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
        if (ejbDescriptor.getName().equals(ejb_link)) {
            resolved = true;
            logger.log(Level.FINE, getClass().getName() + ".passed",
                            new Object[] {ejb_link,ejbDescriptor.getName()});
            addGoodDetails(result, compName);
            result.addGoodDetails
          (smh.getLocalString
           (getClass().getName() + ".passed",
            "Valid referenced bean [ {0} ].",
View Full Code Here


                    + nextEjbReference.getName() + "\"]/" +
                    prefix + ":" + "ejb-ref-type";
                }
          
    String ejbRefTypeStr = getXPathValueForNonRuntime(xpathQuery);
                EjbDescriptor rdesc = (EjbDescriptor) nextEjbReference.getEjbDescriptor();

                /*if (rdesc == null) {
                   logger.log(Level.SEVERE, getClass().getName() + ".Warn",
                   new Object[] {nextEjbReference.getBeanClassName()});
                }*/

                // XPath queries seem to fail for XSD Descriptors
                if (ejbRefTypeStr == null) {
                   ejbRefTypeStr = nextEjbReference.getType();
                }

          if (!((ejbRefTypeStr.equals(EjbSessionDescriptor.TYPE)) ||
            (ejbRefTypeStr.equals(EjbEntityDescriptor.TYPE)))) {
          result.addErrorDetails(smh.getLocalString
             ("tests.componentNameConstructor",
              "For [ {0} ]",
              new Object[] {compName.toString()}));
          result.failed(smh.getLocalString
          (getClass().getName() + ".failed",
           "Error: ejb-ref-type [ {0} ] within \n bean [ {1} ] is not valid.  \n Must be [ {2} ] or [ {3} ]",
           new Object[] {ejbRefTypeStr,descriptor.getName(),EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE}));
          failed = true;
      }
                  else if (rdesc != null ) {
                    String actualRefType = rdesc.getType();
                    if (!ejbRefTypeStr.equals(actualRefType)) {
                       result.addErrorDetails(smh.getLocalString
                                           ("tests.componentNameConstructor",
                                            "For [ {0} ]",
                                            new Object[] {compName.toString()}));
View Full Code Here

        // i.e. need to loop through all ejb's within this jar and get their
        // respective ejbName's, then do a string compare and make sure their are
        // no duplicates.
        for (Iterator itr =descriptor.getEjbBundleDescriptor().getEjbs().iterator();
             itr.hasNext();) {
            EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
            if (ejbDescriptor.getName().equals(ejbName)) {
                found++;
                if (found > 1) {
                    addErrorDetails(result, compName);
                    result.failed(smh.getLocalString
                            (getClass().getName() + ".failed",
View Full Code Here

  boolean found = false;
  for (Iterator itr2 =
     descriptor.getEjbBundleDescriptor().getEjbs().iterator();
       itr2.hasNext();) {
      EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
        logger.log(Level.FINE, getClass().getName() + ".debug1",
                new Object[] {ejbDescriptor.getName()});
     
      // now iterate over all methods to ensure that ejb-name exist
      //if (methodDescriptor.getName().equals(ejbDescriptor.getName())) {

      // for now, do this test, which should always pass, since DOL lacks
      // raw XML data representation
            // <ejb-name> within <method> element is the name of the ejb
            // descriptor where you got the method descriptor from
      if (descriptor.getName().equals(ejbDescriptor.getName())) {
    found = true;
    if (result.getStatus() != Result.FAILED){
        result.setStatus(Result.PASSED);
        // for now, pass in details string via addGoodDetails
        // until DOL raw data issue gets resolved
View Full Code Here

  ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();

  EjbBundleDescriptorImpl bundleDescriptor = descriptor.getEjbBundleDescriptor();
  Set ejbs = bundleDescriptor.getEjbs();
  Iterator ejbIterator = ejbs.iterator();
  EjbDescriptor ejb = null;
  Set roleReferences = null;
  Iterator roleRefsIterator = null;
  Set roles = bundleDescriptor.getRoles();
  Iterator rolesIterator = roles.iterator();
  RoleReference roleReference = null;
  Role role = null;
  boolean oneFailed = false;
       
  // check to see if there are any undefined roles being referenced
  while (ejbIterator.hasNext()) {
      ejb = (EjbDescriptor)ejbIterator.next();
      roleReferences = ejb.getRoleReferences();
      roleRefsIterator = roleReferences.iterator();
      if (roleRefsIterator.hasNext()) {
    while (roleRefsIterator.hasNext()) {
        roleReference = (RoleReference)roleRefsIterator.next();
        role = roleReference.getRole();
        if (!role.getName().equals("")
      && !bundleDescriptor.getRoles().contains(role) ) {
      // print the undefine role
      result.addErrorDetails(smh.getLocalString
                 ("tests.componentNameConstructor",
            "For [ {0} ]",
            new Object[] {compName.toString()}));
      result.addErrorDetails(smh.getLocalString
                 (getClass().getName() + ".failed",
            "Error: The role [ {0} ] for bean [ {1} ] is undefined.",
            new Object[] {role.getName(),ejb.getName()}));
      if (!oneFailed) {
          oneFailed = true;
      }
        } else {
      result.addGoodDetails(smh.getLocalString
                ("tests.componentNameConstructor",
                 "For [ {0} ]",
                 new Object[] {compName.toString()}));
      result.passed(smh.getLocalString
              (getClass().getName() + ".passed",
               "The role [ {0} ] for bean [ {1} ] is defined.",
               new Object[] {role.getName(),ejb.getName()}));
        }
    }
      } else {
    result.addNaDetails(smh.getLocalString
            ("tests.componentNameConstructor",
             "For [ {0} ]",
             new Object[] {compName.toString()}));
    result.notApplicable(smh.getLocalString
             (getClass().getName() + ".notApplicable",
              "There are no role references which need to be bound to other security roles within this bean [ {0} ]",
              new Object[] {ejb.getName()}));
      }
  }

  if (oneFailed) {
      result.setStatus(Result.FAILED);  
View Full Code Here

       
        EjbBundleDescriptorImpl bundle = descriptor.getEjbBundleDescriptor();
        Iterator<EjbDescriptor> iterator = (bundle.getEjbs()).iterator();
        Set<String> localInterfaces = new HashSet<String>();
        while(iterator.hasNext()) {
            EjbDescriptor entity = iterator.next();
            if (entity.getLocalClassName() != null)
                localInterfaces.add(entity.getLocalClassName());
            localInterfaces.addAll(entity.getLocalBusinessClassNames());
        }
        ClassLoader jcl = getVerifierContext().getClassLoader();
        try {
            Set<String> remoteInterfaces = new HashSet<String>();
            if(descriptor.getRemoteClassName()!=null)
View Full Code Here

        }
        AnnotatedElementHandler aeHandler =
                ainfo.getProcessingContext().getHandler();
        if (aeHandler != null && aeHandler instanceof EjbContext) {
            EjbContext context = (EjbContext)aeHandler;
            EjbDescriptor desc = (EjbDescriptor) context.getDescriptor();
            if (isValidEjbDescriptor(desc, annotation)) {
                return getDefaultProcessedResult();
            } else {
                log(Level.SEVERE, ainfo,
                    localStrings.getLocalString(
                    "enterprise.deployment.annotation.handlers.notcompsuperclass",
                    "The annotation symbol defined in super-class is not compatible with {0} ejb {1}.",
                    new Object[] { desc.getType(), desc.getName() }));
                return getDefaultFailedResult();
            }
        } else if (aeHandler == null || !(aeHandler instanceof EjbBundleContext)) {
            return getInvalidAnnotatedElementHandlerResult(
                ainfo.getProcessingContext().getHandler(), ainfo);
        }

        EjbBundleContext ctx = (EjbBundleContext)aeHandler;

        if (logger.isLoggable(Level.FINE)) {
            logger.fine("My context is " + ctx);      
        }
       
        String elementName = getAnnotatedName(annotation);
        if (elementName.length() == 0) {
            elementName = ejbClass.getSimpleName();           
        }

        EjbBundleDescriptorImpl currentBundle = (EjbBundleDescriptorImpl) ctx.getDescriptor();
        EjbDescriptor ejbDesc = null;
        try {
            ejbDesc = currentBundle.getEjbByName(elementName);
        } catch(IllegalArgumentException ex) {
            //getEjbByName throws IllegalArgumentException when no ejb is found
        }

        if (ejbDesc != null && !(ejbDesc instanceof DummyEjbDescriptor) ) {
            // element has already been defined in the standard DDs,
            // overriding rules applies
            if (logger.isLoggable(Level.FINE)) {           
                logger.fine("Overriding rules apply for " + ejbClass.getName());
            }

            // don't allow ejb-jar.xml overwrite ejb type
            if (!isValidEjbDescriptor(ejbDesc, annotation)) {
                // this is an error
                log(Level.SEVERE, ainfo,    
                    localStrings.getLocalString(
                    "enterprise.deployment.annotation.handlers.wrongejbtype",
                    "Wrong annotation symbol for ejb {0}",
                    new Object[] { ejbDesc }));
                return getDefaultFailedResult();
            }

            // <ejb-class> is optional if a component-defining
            // annotation is used.  If present, <ejb-class> element
            // must match the class on which the component defining annotation
            // appears.
            String descriptorEjbClass = ejbDesc.getEjbClassName();
            if( descriptorEjbClass == null ) {
                ejbDesc.setEjbClassName(ejbClass.getName());
                ejbDesc.applyDefaultClassToLifecycleMethods();
            } else if( !descriptorEjbClass.equals(ejbClass.getName()) ) {
                log(Level.SEVERE, ainfo,    
                    localStrings.getLocalString(
                    "enterprise.deployment.annotation.handlers.ejbclsmismatch",
                    "",
                    new Object[] { descriptorEjbClass, elementName,
                                   ejbClass.getName() }));
                return getDefaultFailedResult();
            }


        } else {
            if (logger.isLoggable(Level.FINE)) {
                logger.fine("Creating a new descriptor for "
                    + ejbClass.getName());
            }

            EjbDescriptor dummyEjbDesc = ejbDesc;

            ejbDesc = createEjbDescriptor(elementName, ainfo);

            // create the actual ejb descriptor using annotation info and
            // the information from dummy ejb descriptor if applicable
View Full Code Here

             ((EjbDescriptor)ejbContexts[0].getDescriptor()).
                 getEjbBundleDescriptor();
       
         for(EjbContext next : ejbContexts) {

            EjbDescriptor ejbDescriptor = (EjbDescriptor) next.getDescriptor();

            // Create binding information. 
            InterceptorBindingDescriptor binding =
                new InterceptorBindingDescriptor();

            binding.setEjbName(ejbDescriptor.getName());
            binding.setExcludeClassInterceptors(true);

            // Annotation can be defined at a method level or constructor level.
            MethodDescriptor md = null;
            if(ElementType.METHOD.equals(ainfo.getElementType())) {
View Full Code Here

        InterceptorBindingTranslator bindingTranslator =
            new InterceptorBindingTranslator(bundleDescriptor);

        for(Iterator<EjbDescriptor> iter = bundleDescriptor.getEjbs().iterator(); iter.hasNext();) {
            EjbDescriptor ejb0 = iter.next();
            if(ejb0.isRemoteInterfacesSupported() &&
                (ejb0.getRemoteClassName() == null || ejb0.getRemoteClassName().trim().isEmpty())) {
                throw new IllegalArgumentException(localStrings.getLocalString(
                        "enterprise.deployment.util.componentInterfaceMissing",
                        "{0} Component interface is missing in EJB [{1}]", "Remote", ejb0.getName()));
            }
            if(ejb0.isLocalInterfacesSupported() &&
                (ejb0.getLocalClassName() == null || ejb0.getLocalClassName().trim().isEmpty())) {
                throw new IllegalArgumentException(localStrings.getLocalString(
                        "enterprise.deployment.util.componentInterfaceMissing",
                        "{0} Component interface is missing in EJB [{1}]", "Local", ejb0.getName()));
            }
           
            if(!EjbEntityDescriptor.TYPE.equals(ejb0.getType())) {
                ejb0.applyInterceptors(bindingTranslator);
            }
        }
    }
View Full Code Here

                    next.getBusinessMethod();
                String methodName = overloadedMethodDesc.getName();
                // For method-specific interceptors, there must be an ejb-name.
                String ejbName = next.getEjbName();

                EjbDescriptor ejbDesc = bundleDesc.getEjbByName(ejbName);
                Class ejbClass = null;
          
                try {
                    ejbClass = cl.loadClass(ejbDesc.getEjbClassName());
                } catch(Exception e) {
                    RuntimeException re = new RuntimeException
                        ("Error loading ejb class "+ejbDesc.getEjbClassName());
                    re.initCause(e);
                    throw re;
                }

                boolean isMethod = false;
View Full Code Here

TOP

Related Classes of org.glassfish.ejb.deployment.descriptor.EjbDescriptor

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.