@Override public void visitConstructorParameter(JavaParameterImpl parameter, JavaImplementation type) { if (!type.getReferenceMembers().values().contains(parameter)) { PolicySubject subject = assemblyFactory.createComponent(); readPolicySetAndIntents(subject, parameter); if (subject.getPolicySets().isEmpty() && subject.getRequiredIntents().isEmpty()) { return; } throw new ServiceRuntimeException( "[JCA70002,JCA70005] Constructor parameter that is not an SCA reference cannot have policySet/intent annotations: " + parameter); } }
Component promotedComponent = assemblyFactory.createComponent(); promotedComponent.setUnresolved(true); promotedComponent.setName(promotedComponentName); for (StringTokenizer tokens = new StringTokenizer(promote); tokens.hasMoreTokens();) { String refName = tokens.nextToken(); Component promotedComponent = assemblyFactory.createComponent(); int index = refName.indexOf('/'); if (index == -1) { component = assemblyFactory.createComponent(); component.setName(getString(reader, NAME)); if (isSet(reader, AUTOWIRE)) {
Component promotedComponent = assemblyFactory.createComponent(); promotedComponent.setUnresolved(true); promotedComponent.setName(promotedComponentName); for (StringTokenizer tokens = new StringTokenizer(promote); tokens.hasMoreTokens();) { String refName = tokens.nextToken(); Component promotedComponent = assemblyFactory.createComponent(); int index = refName.indexOf('/'); if (index == -1) { component = assemblyFactory.createComponent(); component.setName(getString(reader, NAME)); if (isSet(reader, AUTOWIRE)) {
@Override public void visitMethod(Method method, JavaImplementation type) throws IntrospectionException { Set<AnnotatedElement> annotatedElements = new HashSet<AnnotatedElement>(); for (JavaElementImpl element : type.getReferenceMembers().values()) { annotatedElements.add(element.getAnchor()); } // Check if a field that is not an SCA reference has any policySet/intent annotations if (!annotatedElements.contains(method)) { PolicySubject subject = assemblyFactory.createComponent(); readPolicySetAndIntents(subject, method); if (subject.getPolicySets().isEmpty() && subject.getRequiredIntents().isEmpty()) { return; } throw new ServiceRuntimeException( "[JCA70002,JCA70005] Method that is not an SCA reference cannot have policySet/intent annotations: " + method); } }
@Override public void visitField(Field field, JavaImplementation type) throws IntrospectionException { // Check if a field that is not an SCA reference has any policySet/intent annotations JavaElementImpl element = new JavaElementImpl(field); if (!type.getReferenceMembers().values().contains(element)) { PolicySubject subject = assemblyFactory.createComponent(); readPolicySetAndIntents(subject, field); if (subject.getPolicySets().isEmpty() && subject.getRequiredIntents().isEmpty()) { return; } throw new ServiceRuntimeException( "[JCA70002,JCA70005] Field that is not an SCA reference cannot have policySet/intent annotations: " + field); } }