Search in sources :

Example 1 with EjbBundleValidator

use of org.glassfish.ejb.deployment.util.EjbBundleValidator in project Payara by payara.

the class EjbArchivist method validate.

/**
 * validates the DOL Objects associated with this archivist, usually
 * it requires that a class loader being set on this archivist or passed
 * as a parameter
 */
@Override
public void validate(ClassLoader aClassLoader) {
    ClassLoader cl = aClassLoader;
    if (cl == null) {
        cl = classLoader;
    }
    if (cl == null) {
        return;
    }
    descriptor.setClassLoader(cl);
    descriptor.visit(new EjbBundleValidator());
}
Also used : EjbBundleValidator(org.glassfish.ejb.deployment.util.EjbBundleValidator)

Example 2 with EjbBundleValidator

use of org.glassfish.ejb.deployment.util.EjbBundleValidator in project Payara by payara.

the class EjbCheckMgrImpl method check.

/**
 * Check Ejb for spec. conformance
 *
 * @param descriptor Ejb descriptor
 */
public void check(Descriptor descriptor) throws Exception {
    // run persistence tests first.
    checkPersistenceUnits(EjbBundleDescriptorImpl.class.cast(descriptor));
    // an EjbBundleDescriptor can have an WebServicesDescriptor
    checkWebServices(descriptor);
    // an EjbBundleDescriptor can have  WebService References
    checkWebServicesClient(descriptor);
    if (verifierFrameworkContext.isPartition() && !verifierFrameworkContext.isEjb())
        return;
    EjbBundleDescriptorImpl bundleDescriptor = (EjbBundleDescriptorImpl) descriptor;
    setDescClassLoader(bundleDescriptor);
    // an ejb-ref is unresolved etc.
    try {
        EjbBundleValidator validator = new EjbBundleValidator();
        validator.accept(bundleDescriptor);
    } catch (Exception e) {
    }
    // initialize JDOC if bundle has CMP's
    if (bundleDescriptor.containsCMPEntity()) {
        try {
            // See bug #6274161. We now pass an additional boolean
            // to indicate whether we are in portable or AS mode.
            jdc.init(bundleDescriptor, context.getClassLoader(), getAbstractArchiveUri(bundleDescriptor), verifierFrameworkContext.isPortabilityMode());
        } catch (Throwable ex) {
            context.setJDOException(ex);
        }
    }
    // set the JDO Codegenerator into the context
    context.setJDOCodeGenerator(jdc);
    // run the ParseDD test
    if (bundleDescriptor.getSpecVersion().compareTo("2.1") < 0) {
        // NOI18N
        EjbDeploymentDescriptorFile ddf = new EjbDeploymentDescriptorFile();
        File file = new File(getAbstractArchiveUri(bundleDescriptor), ddf.getDeploymentDescriptorPath());
        FileInputStream is = new FileInputStream(file);
        try {
            if (is != null) {
                Result result = new ParseDD().validateEJBDescriptor(is);
                result.setComponentName(new File(bundleDescriptor.getModuleDescriptor().getArchiveUri()).getName());
                setModuleName(result);
                verifierFrameworkContext.getResultManager().add(result);
            }
        } finally {
            try {
                if (is != null) {
                    is.close();
                }
            } catch (Exception e) {
            }
        }
    }
    for (Iterator itr = bundleDescriptor.getEjbs().iterator(); itr.hasNext(); ) {
        EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
        super.check(ejbDescriptor);
    }
    if (bundleDescriptor.containsCMPEntity() && context.getJDOException() == null) {
        jdc.cleanup();
        context.setJDOCodeGenerator(null);
    }
}
Also used : EjbDeploymentDescriptorFile(org.glassfish.ejb.deployment.io.EjbDeploymentDescriptorFile) ParseDD(com.sun.enterprise.tools.verifier.tests.dd.ParseDD) Iterator(java.util.Iterator) EjbBundleValidator(org.glassfish.ejb.deployment.util.EjbBundleValidator) EjbDeploymentDescriptorFile(org.glassfish.ejb.deployment.io.EjbDeploymentDescriptorFile) File(java.io.File) FileInputStream(java.io.FileInputStream) EjbDescriptor(org.glassfish.ejb.deployment.descriptor.EjbDescriptor) EjbBundleDescriptorImpl(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl) Result(com.sun.enterprise.tools.verifier.Result)

Aggregations

EjbBundleValidator (org.glassfish.ejb.deployment.util.EjbBundleValidator)2 Result (com.sun.enterprise.tools.verifier.Result)1 ParseDD (com.sun.enterprise.tools.verifier.tests.dd.ParseDD)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 Iterator (java.util.Iterator)1 EjbBundleDescriptorImpl (org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)1 EjbDescriptor (org.glassfish.ejb.deployment.descriptor.EjbDescriptor)1 EjbDeploymentDescriptorFile (org.glassfish.ejb.deployment.io.EjbDeploymentDescriptorFile)1