You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/10/16 02:47:38 UTC
svn commit: r584985 - in
/incubator/tuscany/java/sca/modules/implementation-java/src:
main/java/org/apache/tuscany/sca/implementation/java/impl/
main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/
test/java/org/apache/tuscany/sca/impl...
Author: rfeng
Date: Mon Oct 15 17:47:36 2007
New Revision: 584985
URL: http://svn.apache.org/viewvc?rev=584985&view=rev
Log:
Limit the method injection to setters and allow the setter annotation to override field annotation
Modified:
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java
incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java
incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java
incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java Mon Oct 15 17:47:36 2007
@@ -86,17 +86,17 @@
}
}
- Set<Method> methods = JavaIntrospectionHelper.getAllUniquePublicProtectedMethods(clazz, true);
- for (Method method : methods) {
- for (JavaClassVisitor processor : visitors) {
- processor.visitMethod(method, type);
- }
- }
-
Set<Field> fields = JavaIntrospectionHelper.getAllPublicAndProtectedFields(clazz, true);
for (Field field : fields) {
for (JavaClassVisitor extension : visitors) {
extension.visitField(field, type);
+ }
+ }
+
+ Set<Method> methods = JavaIntrospectionHelper.getAllUniquePublicProtectedMethods(clazz, true);
+ for (Method method : methods) {
+ for (JavaClassVisitor processor : visitors) {
+ processor.visitMethod(method, type);
}
}
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java Mon Oct 15 17:47:36 2007
@@ -19,9 +19,11 @@
package org.apache.tuscany.sca.implementation.java.introspect.impl;
import java.lang.annotation.Annotation;
+import java.lang.annotation.ElementType;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Collection;
+import java.util.List;
import java.util.Map;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
@@ -40,11 +42,25 @@
*/
public abstract class AbstractPropertyProcessor<A extends Annotation> extends BaseJavaClassVisitor {
private final Class<A> annotationClass;
-
+
protected AbstractPropertyProcessor(AssemblyFactory assemblyFactory, Class<A> annotationClass) {
super(assemblyFactory);
this.annotationClass = annotationClass;
}
+
+ private boolean removeProperty(JavaElementImpl prop, JavaImplementation type) {
+ if(prop==null) {
+ return false;
+ }
+ List<Property> props = type.getProperties();
+ for(int i=0;i<props.size();i++) {
+ if(props.get(i).getName().equals(prop.getName())) {
+ props.remove(i);
+ return true;
+ }
+ }
+ return false;
+ }
@Override
public void visitMethod(Method method, JavaImplementation type) throws IntrospectionException {
@@ -53,12 +69,8 @@
return;
}
- if (!Void.TYPE.equals(method.getReturnType())) {
- throw new IllegalPropertyException("Method does not have void return type", method);
- }
- Class[] paramTypes = method.getParameterTypes();
- if (paramTypes.length != 1) {
- throw new IllegalPropertyException("Method must have a single parameter", method);
+ if (!JavaIntrospectionHelper.isSetter(method)) {
+ throw new IllegalPropertyException("Annotated method is not a setter: " + method, method);
}
String name = getName(annotation);
@@ -70,10 +82,14 @@
}
Map<String, JavaElementImpl> properties = type.getPropertyMembers();
- if (properties.containsKey(name)) {
+ JavaElementImpl prop = properties.get(name);
+ // Setter override field
+ if (prop != null && prop.getElementType() != ElementType.FIELD) {
throw new DuplicatePropertyException(name);
}
+ removeProperty(prop, type);
+
JavaElementImpl element = new JavaElementImpl(method, 0);
Property property = createProperty(name, element);
@@ -101,15 +117,19 @@
}
Map<String, JavaElementImpl> properties = type.getPropertyMembers();
- if (properties.containsKey(name)) {
+ JavaElementImpl prop = properties.get(name);
+ // Setter override field
+ if (prop != null && prop.getElementType() == ElementType.FIELD) {
throw new DuplicatePropertyException(name);
}
- JavaElementImpl element = new JavaElementImpl(field);
- Property property = createProperty(name, element);
- initProperty(property, annotation);
- type.getProperties().add(property);
- properties.put(name, element);
+ if (prop == null) {
+ JavaElementImpl element = new JavaElementImpl(field);
+ Property property = createProperty(name, element);
+ initProperty(property, annotation);
+ type.getProperties().add(property);
+ properties.put(name, element);
+ }
}
@Override
@@ -133,9 +153,13 @@
name = parameter.getName();
}
- if (properties.containsKey(name)) {
- throw new DuplicatePropertyException("Duplication property: " + name);
+ JavaElementImpl prop = properties.get(name);
+ // Setter override field
+ if (prop != null && prop.getElementType() != ElementType.FIELD) {
+ throw new DuplicatePropertyException(name);
}
+ removeProperty(prop, type);
+
parameter.setName(name);
parameter.setClassifer(annotationClass);
Property property = createProperty(name, parameter);
@@ -150,7 +174,7 @@
protected abstract void initProperty(Property property, A annotation) throws IntrospectionException;
@SuppressWarnings("unchecked")
- protected Property createProperty(String name, JavaElementImpl element) throws IntrospectionException {
+ protected Property createProperty(String name, JavaElementImpl element) throws IntrospectionException {
Property property = assemblyFactory.createProperty();
property.setName(name);
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java Mon Oct 15 17:47:36 2007
@@ -73,8 +73,7 @@
public class HeuristicPojoProcessor extends BaseJavaClassVisitor {
private JavaInterfaceFactory javaFactory;
- public HeuristicPojoProcessor(AssemblyFactory assemblyFactory,
- JavaInterfaceFactory javaFactory) {
+ public HeuristicPojoProcessor(AssemblyFactory assemblyFactory, JavaInterfaceFactory javaFactory) {
super(assemblyFactory);
this.javaFactory = javaFactory;
}
@@ -97,12 +96,12 @@
* is the implementation class.
*/
Set<Class> interfaces = getAllInterfaces(clazz);
- for(Class<?> i: interfaces) {
- if(i.isAnnotationPresent(Remotable.class)) {
+ for (Class<?> i : interfaces) {
+ if (i.isAnnotationPresent(Remotable.class)) {
addService(type, i);
}
}
- if(services.isEmpty()) {
+ if (services.isEmpty()) {
// class is the interface
addService(type, clazz);
}
@@ -110,12 +109,12 @@
Set<Method> methods = getAllUniquePublicProtectedMethods(clazz, false);
if (!type.getReferenceMembers().isEmpty() || !type.getPropertyMembers().isEmpty()) {
// references and properties have been explicitly defined
-// if (type.getServices().isEmpty()) {
-// calculateServiceInterface(clazz, type, methods);
-// if (type.getServices().isEmpty()) {
-// throw new ServiceTypeNotFoundException(clazz.getName());
-// }
-// }
+ // if (type.getServices().isEmpty()) {
+ // calculateServiceInterface(clazz, type, methods);
+ // if (type.getServices().isEmpty()) {
+ // throw new ServiceTypeNotFoundException(clazz.getName());
+ // }
+ // }
evaluateConstructor(type, clazz);
return;
}
@@ -134,14 +133,14 @@
private boolean isPublicSetter(Method method) {
return method.getParameterTypes().length == 1 && Modifier.isPublic(method.getModifiers())
- && method.getName().startsWith("set")
- && method.getReturnType() == void.class;
+ && method.getName().startsWith("set")
+ && method.getReturnType() == void.class;
}
private boolean isProtectedSetter(Method method) {
return method.getParameterTypes().length == 1 && Modifier.isProtected(method.getModifiers())
- && method.getName().startsWith("set")
- && method.getReturnType() == void.class;
+ && method.getName().startsWith("set")
+ && method.getReturnType() == void.class;
}
private <T> void calcPropRefs(Set<Method> methods,
@@ -188,11 +187,13 @@
String name = toPropertyName(method.getName());
setters.add(name);
// avoid duplicate property or ref names
- if (!type.getPropertyMembers().containsKey(name) && !type.getReferenceMembers().containsKey(name)) {
- if (isReferenceType(param, method.getGenericParameterTypes()[0])) {
+ if (isReferenceType(param, method.getGenericParameterTypes()[0])) {
+ if (!type.getReferenceMembers().containsKey(name)) {
type.getReferences().add(createReference(name, param));
type.getReferenceMembers().put(name, new JavaElementImpl(method, 0));
- } else {
+ }
+ } else {
+ if (!type.getPropertyMembers().containsKey(name)) {
type.getProperties().add(createProperty(name, param));
type.getPropertyMembers().put(name, new JavaElementImpl(method, 0));
}
@@ -213,11 +214,15 @@
String name = field.getName();
Class<?> paramType = field.getType();
if (isReferenceType(paramType, field.getGenericType())) {
- type.getReferences().add(createReference(name, paramType));
- type.getReferenceMembers().put(name, new JavaElementImpl(field));
+ if (!type.getReferenceMembers().containsKey(name)) {
+ type.getReferences().add(createReference(name, paramType));
+ type.getReferenceMembers().put(name, new JavaElementImpl(field));
+ }
} else {
- type.getProperties().add(createProperty(name, paramType));
- type.getPropertyMembers().put(name, new JavaElementImpl(field));
+ if (!type.getPropertyMembers().containsKey(name)) {
+ type.getProperties().add(createProperty(name, paramType));
+ type.getPropertyMembers().put(name, new JavaElementImpl(field));
+ }
}
}
}
@@ -239,7 +244,7 @@
Constructor constructor;
boolean explict = false;
if (definition != null && definition.getConstructor()
- .isAnnotationPresent(org.osoa.sca.annotations.Constructor.class)) {
+ .isAnnotationPresent(org.osoa.sca.annotations.Constructor.class)) {
// the constructor was already defined explicitly
return;
} else if (definition != null) {
@@ -452,7 +457,7 @@
private boolean isReferenceType(Class<?> cls, Type genericType) {
Class<?> baseType = JavaIntrospectionHelper.getBaseType(cls, genericType);
return baseType.isInterface() && (baseType.isAnnotationPresent(Remotable.class) || baseType
- .isAnnotationPresent(Service.class));
+ .isAnnotationPresent(Service.class));
}
/**
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java Mon Oct 15 17:47:36 2007
@@ -491,5 +491,14 @@
getAllInterfaces(superClass, implemented);
}
}
+
+ public static boolean isSetter(Method method) {
+ return (void.class == method.getReturnType() && method.getParameterTypes().length == 1 && method.getName()
+ .startsWith("set"));
+ }
+ public static boolean isGetter(Method method) {
+ return (void.class != method.getReturnType() && method.getParameterTypes().length == 0 && method.getName()
+ .startsWith("get"));
+ }
}
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java Mon Oct 15 17:47:36 2007
@@ -28,7 +28,7 @@
* @version $Rev$ $Date$
*/
public class PropertyProcessor extends AbstractPropertyProcessor<Property> {
-
+
public PropertyProcessor(AssemblyFactory assemblyFactory) {
super(assemblyFactory, Property.class);
}
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java Mon Oct 15 17:47:36 2007
@@ -20,10 +20,12 @@
import static org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper.getBaseType;
+import java.lang.annotation.ElementType;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Collection;
+import java.util.List;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Multiplicity;
@@ -47,7 +49,7 @@
*/
public class ReferenceProcessor extends BaseJavaClassVisitor {
private JavaInterfaceFactory javaFactory;
-
+
public ReferenceProcessor(AssemblyFactory assemblyFactory, JavaInterfaceFactory javaFactory) {
super(assemblyFactory);
this.javaFactory = javaFactory;
@@ -59,16 +61,19 @@
if (annotation == null) {
return; // Not a reference annotation.
}
- if (method.getParameterTypes().length != 1) {
- throw new IllegalReferenceException("Setter must have one parameter", method);
+ if (!JavaIntrospectionHelper.isSetter(method)) {
+ throw new IllegalReferenceException("Annotated method is not a setter: " + method, method);
}
String name = annotation.name();
if ("".equals(name)) {
name = JavaIntrospectionHelper.toPropertyName(method.getName());
}
- if (type.getReferenceMembers().get(name) != null) {
+ JavaElementImpl ref = type.getReferenceMembers().get(name);
+ // Setter override field
+ if (ref != null && ref.getElementType() != ElementType.FIELD) {
throw new DuplicateReferenceException(name);
}
+ removeReference(ref, type);
JavaElementImpl element = new JavaElementImpl(method, 0);
org.apache.tuscany.sca.assembly.Reference reference = createReference(element, name);
@@ -76,6 +81,20 @@
type.getReferenceMembers().put(name, element);
}
+ private boolean removeReference(JavaElementImpl ref, JavaImplementation type) {
+ if (ref == null) {
+ return false;
+ }
+ List<org.apache.tuscany.sca.assembly.Reference> refs = type.getReferences();
+ for (int i = 0; i < refs.size(); i++) {
+ if (refs.get(i).getName().equals(ref.getName())) {
+ refs.remove(i);
+ return true;
+ }
+ }
+ return false;
+ }
+
@Override
public void visitField(Field field, JavaImplementation type) throws IntrospectionException {
Reference annotation = field.getAnnotation(Reference.class);
@@ -86,13 +105,18 @@
if ("".equals(name)) {
name = field.getName();
}
- if (type.getReferenceMembers().get(name) != null) {
+ JavaElementImpl ref = type.getReferenceMembers().get(name);
+ if (ref != null && ref.getElementType() == ElementType.FIELD) {
throw new DuplicateReferenceException(name);
}
- JavaElementImpl element = new JavaElementImpl(field);
- org.apache.tuscany.sca.assembly.Reference reference = createReference(element, name);
- type.getReferences().add(reference);
- type.getReferenceMembers().put(name, element);
+
+ // Setter method override field
+ if (ref == null) {
+ JavaElementImpl element = new JavaElementImpl(field);
+ org.apache.tuscany.sca.assembly.Reference reference = createReference(element, name);
+ type.getReferences().add(reference);
+ type.getReferenceMembers().put(name, element);
+ }
}
@Override
@@ -104,9 +128,14 @@
}
String paramName = parameter.getName();
String name = getReferenceName(paramName, parameter.getIndex(), refAnnotation.name());
- if (type.getReferenceMembers().get(name) != null) {
+ JavaElementImpl ref = type.getReferenceMembers().get(name);
+
+ // Setter override field
+ if (ref != null && ref.getElementType() != ElementType.FIELD) {
throw new DuplicateReferenceException(name);
}
+
+ removeReference(ref, type);
org.apache.tuscany.sca.assembly.Reference reference = createReference(parameter, name);
type.getReferences().add(reference);
type.getReferenceMembers().put(name, parameter);
@@ -128,11 +157,12 @@
}
}
- private org.apache.tuscany.sca.assembly.Reference createReference(JavaElementImpl element, String name) throws IntrospectionException {
+ private org.apache.tuscany.sca.assembly.Reference createReference(JavaElementImpl element, String name)
+ throws IntrospectionException {
org.apache.tuscany.sca.assembly.Reference reference = assemblyFactory.createReference();
JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract();
reference.setInterfaceContract(interfaceContract);
-
+
// reference.setMember((Member)element.getAnchor());
boolean required = true;
Reference ref = element.getAnnotation(Reference.class);
@@ -157,8 +187,8 @@
}
Type genericType = element.getGenericType();
Class<?> baseType = getBaseType(rawType, genericType);
- if(CallableReference.class.isAssignableFrom(baseType)) {
- if(Collection.class.isAssignableFrom(rawType)) {
+ if (CallableReference.class.isAssignableFrom(baseType)) {
+ if (Collection.class.isAssignableFrom(rawType)) {
genericType = JavaIntrospectionHelper.getParameterType(genericType);
}
baseType = JavaIntrospectionHelper.getBusinessInterface(baseType, genericType);
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java Mon Oct 15 17:47:36 2007
@@ -85,9 +85,9 @@
}
public void testDuplicateMethods() throws Exception {
- processor.visitMethod(Bar.class.getMethod("dupMethod", String.class), type);
+ processor.visitMethod(Bar.class.getMethod("setDupMethod", String.class), type);
try {
- processor.visitMethod(Bar.class.getMethod("dupSomeMethod", String.class), type);
+ processor.visitMethod(Bar.class.getMethod("setDupSomeMethod", String.class), type);
fail();
} catch (DuplicatePropertyException e) {
// expected
@@ -143,11 +143,11 @@
protected String baz;
@Property
- public void dupMethod(String s) {
+ public void setDupMethod(String s) {
}
@Property(name = "dupMethod")
- public void dupSomeMethod(String s) {
+ public void setDupSomeMethod(String s) {
}
@Property
Modified: incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java?rev=584985&r1=584984&r2=584985&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java Mon Oct 15 17:47:36 2007
@@ -91,9 +91,9 @@
}
public void testDuplicateMethods() throws Exception {
- processor.visitMethod(ReferenceProcessorTestCase.Bar.class.getMethod("dupMethod", Ref.class), type);
+ processor.visitMethod(ReferenceProcessorTestCase.Bar.class.getMethod("setDupMethod", Ref.class), type);
try {
- processor.visitMethod(ReferenceProcessorTestCase.Bar.class.getMethod("dupSomeMethod", Ref.class), type);
+ processor.visitMethod(ReferenceProcessorTestCase.Bar.class.getMethod("setDupSomeMethod", Ref.class), type);
fail();
} catch (DuplicateReferenceException e) {
// expected
@@ -152,11 +152,11 @@
protected Ref baz;
@Reference
- public void dupMethod(Ref s) {
+ public void setDupMethod(Ref s) {
}
@Reference(name = "dupMethod")
- public void dupSomeMethod(Ref s) {
+ public void setDupSomeMethod(Ref s) {
}
@Reference
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org