1 23 28 29 package com.sun.enterprise.tools.verifier.tests.connector.messageinflow; 30 31 import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest; 32 import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck; 33 import com.sun.enterprise.tools.verifier.Result; 34 import com.sun.enterprise.tools.verifier.*; 35 import com.sun.enterprise.deployment.ConnectorDescriptor; 36 import com.sun.enterprise.deployment.InboundResourceAdapter; 37 import com.sun.enterprise.deployment.MessageListener; 38 import com.sun.enterprise.tools.verifier.tests.*; 39 import java.util.Iterator ; 40 import java.util.Set ; 41 42 48 public class CheckActivationSpecSerializable 49 extends ConnectorTest 50 implements ConnectorCheck 51 { 52 53 61 public Result check(ConnectorDescriptor descriptor) { 62 63 Result result = getInitializedResult(); 64 ComponentNameConstructor compName = 65 getVerifierContext().getComponentNameConstructor(); 66 67 if(!descriptor.getInBoundDefined()) 68 { 69 result.addNaDetails(smh.getLocalString 70 ("tests.componentNameConstructor", 71 "For [ {0} ]", 72 new Object [] {compName.toString()})); 73 result.notApplicable(smh.getLocalString 74 ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp", 75 "Resource Adapter does not provide inbound communication")); 76 return result; 77 } 78 InboundResourceAdapter ra = descriptor.getInboundResourceAdapter(); 79 Set msgListeners = ra.getMessageListeners(); 80 boolean oneFailed = false; 81 Iterator iter = msgListeners.iterator(); 82 while(iter.hasNext()) 83 { 84 MessageListener msgListener = (MessageListener) iter.next(); 85 String impl = msgListener.getActivationSpecClass(); 86 Class implClass = null; 87 try 88 { 89 implClass = Class.forName(impl, false, getVerifierContext().getClassLoader()); 90 } 91 catch(ClassNotFoundException e) 92 { 93 result.addErrorDetails(smh.getLocalString 94 ("tests.componentNameConstructor", 95 "For [ {0} ]", 96 new Object [] {compName.toString()})); 97 result.failed(smh.getLocalString 98 ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist", 99 "Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist", 100 new Object [] {impl})); 101 return result; 102 } 103 if(!isImplementorOf(implClass, "java.io.Serializable")) 104 { 105 oneFailed = true; 106 result.addErrorDetails(smh.getLocalString 107 ("tests.componentNameConstructor", 108 "For [ {0} ]", 109 new Object [] {compName.toString()})); 110 result.failed(smh.getLocalString(getClass().getName() + ".failed", 111 "Error: activationspec-class [ {0} ] does not implement java.io.Serializable", 112 new Object [] {impl})); 113 return result; 114 } 115 } 116 if(!oneFailed) 117 { 118 result.addGoodDetails(smh.getLocalString 119 ("tests.componentNameConstructor", 120 "For [ {0} ]", 121 new Object [] {compName.toString()})); 122 result.passed(smh.getLocalString(getClass().getName() + ".passed", 123 "Success: all activationspec-class implement java.io.Serializable")); 124 } 125 return result; 126 } 127 } 128 | Popular Tags |