1 23 package com.sun.enterprise.tools.verifier.tests.appclient.elements; 24 25 import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest; 26 import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck; 27 import java.util.*; 28 import java.util.logging.Level ; 29 import com.sun.enterprise.deployment.*; 30 import com.sun.enterprise.tools.verifier.*; 31 import com.sun.enterprise.tools.verifier.tests.*; 32 33 34 38 public class AppClientResourceType extends AppClientTest implements AppClientCheck { 39 40 48 public Result check(ApplicationClientDescriptor descriptor) { 49 50 Result result = getInitializedResult(); 51 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 52 53 if (!descriptor.getResourceReferenceDescriptors().isEmpty()) { 54 boolean oneFailed = false; 55 boolean foundIt = false; 56 Set resources = descriptor.getResourceReferenceDescriptors(); 57 Iterator itr = resources.iterator(); 58 while(itr.hasNext()) { 60 foundIt = false; 61 ResourceReferenceDescriptor next = (ResourceReferenceDescriptor) itr.next(); 62 String resType = next.getType(); 63 logger.log(Level.FINE, "servlet resType: " + resType); 64 if ((resType.equals("javax.sql.DataSource")) || 65 (resType.equals("javax.jms.QueueConnectionFactory")) || 66 (resType.equals("javax.jms.TopicConnectionFactory")) || 67 (resType.equals("javax.jms.ConnectionFactory")) || 68 (resType.equals("javax.mail.Session")) || 69 (resType.equals("java.net.URL"))) { 70 foundIt = true; 71 } else { 72 foundIt = false; 73 String specVerStr = descriptor.getSpecVersion(); 74 double specVer = 0; 75 specVer = (Double.valueOf(specVerStr)).doubleValue(); 76 if (Double.compare(specVer, 1.4) >= 0) { 77 foundIt = true; 79 } 80 } 81 82 if (foundIt) { 83 result.addGoodDetails(smh.getLocalString 84 ("tests.componentNameConstructor", 85 "For [ {0} ]", 86 new Object [] {compName.toString()})); 87 result.addGoodDetails(smh.getLocalString 88 (getClass().getName() + ".passed", 89 "The resource-type [ {0} ] element specifies the Java class type of the data source within application client [ {1} ]", 90 new Object [] {resType, descriptor.getName()})); 91 } else { 92 if (!oneFailed) { 93 oneFailed = true; 94 } 95 result.addErrorDetails(smh.getLocalString 96 ("tests.componentNameConstructor", 97 "For [ {0} ]", 98 new Object [] {compName.toString()})); 99 result.addErrorDetails(smh.getLocalString 100 (getClass().getName() + ".failed", 101 "Error: The resource-type [ {0} ] element does not specify valid Java class type of the data source within application client [ {1} ]", 102 new Object [] {resType, descriptor.getName()})); 103 } 104 } 105 if (oneFailed) { 106 result.setStatus(Result.FAILED); 107 } else { 108 result.setStatus(Result.PASSED); 109 } 110 } else { 111 result.addNaDetails(smh.getLocalString 112 ("tests.componentNameConstructor", 113 "For [ {0} ]", 114 new Object [] {compName.toString()})); 115 result.notApplicable(smh.getLocalString 116 (getClass().getName() + ".notApplicable", 117 "There are no resource-type elements within the application client [ {0} ]", 118 new Object [] {descriptor.getName()})); 119 } 120 121 return result; 122 } 123 } 124 | Popular Tags |