FileDocCategorySizeDatePackage
ASEntBeanCmpResource.javaAPI DocGlassfish v2 API8226Fri May 04 22:35:14 BST 2007com.sun.enterprise.tools.verifier.tests.ejb.ias

ASEntBeanCmpResource

public class ASEntBeanCmpResource extends com.sun.enterprise.tools.verifier.tests.ejb.EjbTest implements com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck
enterprise-bean cmp-resource ? jndi-name [String] default-resource-principal ? name [String] password [String] The cmp-resource contains the database to be used for storing the cmp beans in the ejb-jar.xml The jndi-name should not be null and should start with jdbc/
author
Irfan Ahmed

Fields Summary
Constructors Summary
Methods Summary
public Resultcheck(com.sun.enterprise.deployment.EjbDescriptor descriptor)


	Result result = getInitializedResult();
	ComponentNameConstructor compName = new ComponentNameConstructor(descriptor);
        //4698046
        boolean oneFailed=false;
        boolean oneWarning=false;

        SunEjbJar ejbJar = descriptor.getEjbBundleDescriptor().getIasEjbObject();
        String ejbName = null;
        
        if(descriptor.getEjbBundleDescriptor().getTestsDone().contains(getClass().getName()))
        {
            result.setStatus(Result.NOT_RUN);
            result.addGoodDetails(smh.getLocalString(getClass().getName() + ".notRun",
                "NOT RUN [AS-EJB enterprise-beans] name test is a JAR Level Test. This test has already been run once"));
            return result;
        }
        descriptor.getEjbBundleDescriptor().setTestsDone(getClass().getName());
        
        if(ejbJar!=null)
        {
            EnterpriseBeans entBean = ejbJar.getEnterpriseBeans();
            CmpResource cmpResource = entBean.getCmpResource();
            if(cmpResource!=null)
            {
                String jndiName = cmpResource.getJndiName();
                if(jndiName.length()==0)
                {
                    result.failed(smh.getLocalString(getClass().getName()+".failed",
                        "FAILED [AS-EJB cmp-resource] : jndi-name cannot be an empty string"));
                    oneFailed=true;//4698046
                }
                else
                {
                    if(jndiName.startsWith("jdbc/")|| jndiName.startsWith("jdo/"))
                        result.passed(smh.getLocalString(getClass().getName()+".passed",
                            "PASSED [AS-EJB cmp-resource] : jndi-name is {0}",new Object[]{jndiName}));
                    else{
                        result.warning(smh.getLocalString(getClass().getName()+".warning",
                            "WARNING [AS-EJB cmp-resource] : The jndi-name  is {0}, the preferred jndi-name should start with  jdbc/ or jdo/" 
                            , new Object[]{jndiName}));
                            oneWarning=true;//4698046
                    }    
                }
                
                DefaultResourcePrincipal defPrincipal = cmpResource.getDefaultResourcePrincipal();
                if(defPrincipal!=null)
                {
                    String name = defPrincipal.getName();
                    if(name.length()==0)
                    {
                        result.failed(smh.getLocalString(getClass().getName()+".failed2",
                            "FAILED [AS-EJB default-resource-principal] :  name cannot be an empty string"));
                        oneFailed=true; //4698046   
                    }
                    else
                    {
                        result.passed(smh.getLocalString(getClass().getName()+".passed1",
                            "PASSED [AS-EJB default-resource-principal] : name is {0}",new Object[]{name}));
                    }

                    String password = defPrincipal.getPassword();
                    if(password.length()==0)
                    {
                        // <addition> srini@sun.com
                        //result.failed(smh.getLocalString(getClass().getName()+".failed3",
                          //  "FAILED [AS-EJB default-resource-principal] : password cannot be an empty string"));
                        result.warning(smh.getLocalString(getClass().getName()+".warning1",
                            "WARNING [AS-EJB default-resource-principal] : password is an empty string"));
                        // </addition>
                        oneWarning=true;//4698046
                    }
                    else
                    {
                        result.passed(smh.getLocalString(getClass().getName()+".passed2",
                            "PASSED [AS-EJB default-resource-principal] : password is  {0}",new Object[]{password}));
                    }
                }
                else
                    result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
                        "NOT APPLICABLE [AS-EJB cmp-resource] : default-resource-principal Element not defined"));
            
                if(oneFailed)//4698046
                    result.setStatus(Result.FAILED);
                else if(oneWarning)
                    result.setStatus(Result.WARNING);
            
            }
            else
                result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
                    "NOT APPLICABLE [AS-EJB enterprise-beans] : cmp-resource element is not defined"));
        }
        else
        {
            result.addErrorDetails(smh.getLocalString
                                   ("tests.componentNameConstructor",
                                    "For [ {0} ]",
                                    new Object[] {compName.toString()}));
            result.addErrorDetails(smh.getLocalString
                 (getClass().getName() + ".notRun1",
                  "NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
        }
        return result;