1 23 package com.sun.enterprise.tools.verifier.tests.ejb.entity; 24 25 import com.sun.enterprise.tools.verifier.Result; 26 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 27 import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest; 28 import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck; 29 import com.sun.enterprise.deployment.EjbDescriptor; 30 import com.sun.enterprise.deployment.EjbEntityDescriptor; 31 32 35 public class EjbNameIsValidJavaIdentifier extends EjbTest implements EjbCheck{ 36 37 43 public Result check(EjbDescriptor descriptor) { 44 Result result = getInitializedResult(); 45 String ejbName = descriptor.getName(); 46 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 47 if(descriptor instanceof EjbEntityDescriptor) { 48 if (((EjbEntityDescriptor)descriptor).getPersistenceType().equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) { 49 boolean isJavaIdentifier=true; 50 boolean startChar=Character.isJavaIdentifierStart(ejbName.charAt(0)); 51 if(startChar) { 52 for(int i=1;i<ejbName.length();i++) 53 if(!Character.isJavaIdentifierPart(ejbName.charAt(i))) { 54 isJavaIdentifier=false; 55 break; 56 } 57 } else { 58 isJavaIdentifier=false; 59 } 60 if(isJavaIdentifier) { 63 result.addGoodDetails(smh.getLocalString 64 ("tests.componentNameConstructor", 65 "For [ {0} ]", 66 new Object [] {compName.toString()})); 67 result.passed(smh.getLocalString 68 (getClass().getName() + ".passed", 69 "ejb-name [ {0} ] within bean [ {1} ] is a valid java identifier", 70 new Object [] {ejbName, descriptor.getName()})); 71 return result; 72 } else { 73 result.addErrorDetails(smh.getLocalString 74 ("tests.componentNameConstructor", 75 "For [ {0} ]", 76 new Object [] {compName.toString()})); 77 result.failed(smh.getLocalString 78 (getClass().getName() + ".failed", 79 "ejb-name [ {0} ] within bean [ {1} ] is not a valid java identifier", 80 new Object [] {ejbName, descriptor.getName()})); 81 return result; 82 } 83 } 84 } 85 result.addNaDetails(smh.getLocalString 86 ("tests.componentNameConstructor", 87 "For [ {0} ]", 88 new Object [] {compName.toString()})); 89 result.notApplicable(smh.getLocalString 90 (getClass().getName() + ".notApplicable", 91 "[ {0} ] expected {1} bean, with Container Managed Persistence.", 92 new Object [] {getClass(),"Entity"})); 93 return result; 94 } 95 } 96 97 | Popular Tags |