/** * @return a default processed result */ protected HandlerProcessingResult getDefaultProcessedResult() { return HandlerProcessingResultImpl.getDefaultResult( getAnnotationType(), ResultType.PROCESSED); }
public Class<? extends Annotation>[] getTypeDependencies() { return getConnectorAnnotationTypes(); }
public HandlerProcessingResult processAnnotation(AnnotationInfo element) throws AnnotationProcessorException { AnnotatedElementHandler aeHandler = element.getProcessingContext().getHandler(); SecurityPermission securityPermission = (SecurityPermission) element.getAnnotation(); if (aeHandler instanceof RarBundleContext) { boolean isConnectionDefinition = hasConnectorAnnotation(element); if (isConnectionDefinition) { RarBundleContext rarContext = (RarBundleContext) aeHandler; ConnectorDescriptor desc = rarContext.getDescriptor(); //XXX: Siva : For now use the first provided description String firstDesc = ""; if (securityPermission.description().length > 0) { firstDesc = securityPermission.description()[0]; } com.sun.enterprise.deployment.SecurityPermission permission = new com.sun.enterprise.deployment.SecurityPermission(firstDesc, securityPermission.permissionSpec()); desc.addSecurityPermission(permission); } else { getFailureResult(element, "Not a @Connector annotation : @SecurityPermission must " + "be specified along with @Connector annotation", true); } } else { getFailureResult(element, "Not a rar bundle context", true); } return getDefaultProcessedResult(); }
private HandlerProcessingResultImpl getFailureResult(AnnotationInfo element, String message, boolean doLog) { HandlerProcessingResultImpl result = new HandlerProcessingResultImpl(); result.addResult(getAnnotationType(), ResultType.FAILED); if (doLog) { Class c = (Class) element.getAnnotatedElement(); String className = c.getName(); Object args[] = new Object[]{ element.getAnnotation(), className, message, }; String localString = localStrings.getLocalString( "enterprise.deployment.annotation.handlers.connectorannotationfailure", "failed to handle annotation [ {0} ] on class [ {1} ], reason : {2}", args); logger.log(Level.WARNING, localString); } return result; }