1 23 24 package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2; 25 26 import java.util.*; 27 import com.sun.enterprise.deployment.*; 28 import com.sun.enterprise.tools.verifier.Result; 29 import com.sun.enterprise.tools.verifier.tests.*; 30 31 40 public class CmrFields extends CmrFieldTest { 41 42 52 protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor role, Class c, Result result) { 53 54 boolean foundIt = false; 55 CMRFieldInfo info = null; 56 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 57 58 try { 59 info = role.getCMRFieldInfo(); 60 }catch (Exception e) { 61 addErrorDetails(result, compName); 62 result.addErrorDetails(smh.getLocalString 63 (getClass().getName() + ".failed1", 64 "Error: No Local interfaces defined for EJB [ {0} ]", 65 new Object [] {descriptor.getName()})); 66 return false; 67 68 } 69 if (role.getPartner().getIsMany()) { 70 if (info.type.getName().equals("java.util.Collection") || 72 info.type.getName().equals("java.util.Set")) { 73 foundIt = true; 74 } 75 } else { 76 EjbBundleDescriptor bundle = ((EjbDescriptor) descriptor).getEjbBundleDescriptor(); 77 if(((EjbDescriptor) descriptor).getLocalClassName() != null && 78 !"".equals(((EjbDescriptor) descriptor).getLocalClassName())) { 79 if (isValidInterface(info.type, bundle.getEjbs())) { 80 foundIt = true; 81 } 82 } 83 else { 84 if ((role.getRelationshipDescriptor()).getIsBidirectional()) { 85 result.addErrorDetails(smh.getLocalString 86 (getClass().getName() + ".failed", 87 "Error: Invalid type assigned for container managed relationship [ {0} ] in bean [ {1} ]", 88 new Object [] {info.name , descriptor.getName()})); 89 return false; 90 } 91 else foundIt = true; 92 } 93 } 94 if (foundIt) { 95 result.addGoodDetails(smh.getLocalString 96 ("tests.componentNameConstructor", 97 "For [ {0} ]", 98 new Object [] {compName.toString()})); 99 result.addGoodDetails(smh.getLocalString 100 (getClass().getName() + ".passed", 101 "Valid type assigned for container managed relationship [ {0} ] in bean [ {1} ]", 102 new Object [] {info.name , descriptor.getName()})); 103 } else { 104 result.addErrorDetails(smh.getLocalString 105 (getClass().getName() + ".failed", 106 "Error: Invalid type assigned for container managed relationship [ {0} ] in bean [ {1} ]", 107 new Object [] {info.name , descriptor.getName()})); 108 } 109 return foundIt; 110 111 } 112 113 private boolean isValidInterface(Class fieldType, Set entities) { 114 String component = ""; 115 if (entities==null) 116 return false; 117 Iterator iterator = entities.iterator(); 119 while (iterator.hasNext()) { 120 EjbAbstractDescriptor entity = (EjbAbstractDescriptor) iterator.next(); 121 if (fieldType.getName().equals(entity.getLocalClassName())) 122 return true; 123 } 124 return false; 125 } 126 127 } 128 | Popular Tags |