public com.sun.enterprise.tools.verifier.Result | check(EjbDescriptor descriptor)Entity beans with CMP 1.1 must not define create
Result result = getInitializedResult();
try {
if (descriptor instanceof EjbCMPEntityDescriptor) {
String persistence =
((EjbEntityDescriptor)descriptor).getPersistenceType();
if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence) &&
((EjbCMPEntityDescriptor)descriptor).getCMPVersion()==EjbCMPEntityDescriptor.CMP_1_1) {
try {
Class c = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
Method [] methods = c.getDeclaredMethods();
boolean oneFailed = false;
for (int i=0;i<methods.length;i++) {
Method aMethod = methods[i];
if (aMethod.getName().startsWith("create")) {
if (!aMethod.getName().endsWith("create")) {
result.addErrorDetails(smh.getLocalString
(getClass().getName() + ".failed",
"CMP 1.1 entity beans are not authorized to define [ {0} ] method",
new Object[] {aMethod.getName()}));
oneFailed = true;
}
}
}
if (oneFailed) {
result.setStatus(Result.FAILED);
} else {
result.passed(smh.getLocalString
(getClass().getName() + ".passed",
"No create<METHOD> defined for this CMP 1.1 entity bean [ {0} ] ",
new Object[] {descriptor.getName()}));
}
return result;
} catch(ClassNotFoundException cnfe) {
result.failed(smh.getLocalString
(getClass().getName() + ".failedException",
"Error: [ {0} ] class not found.",
new Object[] {descriptor.getHomeClassName()}));
return result;
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
result.notApplicable(smh.getLocalString
(getClass().getName() + ".notApplicable",
"[ {0} ] is not a CMP 1.1 Entity Bean.",
new Object[] {descriptor.getName()}));
return result;
|