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/24 06:31:01 UTC
svn commit: r587778 [9/13] - in /incubator/tuscany/branches/sca-java-1.0.1:
./ distribution/ distribution/bundle/ distribution/manifest/
distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/
distribution/webapp/src/main/resources/_node/ dist...
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java Tue Oct 23 21:30:02 2007
@@ -19,6 +19,11 @@
package org.apache.tuscany.sca.implementation.java.invocation;
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
import org.apache.tuscany.sca.assembly.Service;
import org.apache.tuscany.sca.context.ComponentContextFactory;
import org.apache.tuscany.sca.context.RequestContextFactory;
@@ -36,6 +41,10 @@
import org.apache.tuscany.sca.implementation.java.injection.ResourceObjectFactory;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
+import org.apache.tuscany.sca.policy.util.PolicyHandler;
+import org.apache.tuscany.sca.policy.util.PolicySetHandlerUtil;
import org.apache.tuscany.sca.runtime.RuntimeComponent;
import org.apache.tuscany.sca.runtime.RuntimeComponentService;
import org.osoa.sca.ComponentContext;
@@ -48,6 +57,7 @@
private JavaImplementation implementation;
private JavaComponentContextProvider componentContextProvider;
private RequestContextFactory requestContextFactory;
+ private Map<PolicySet, PolicyHandler> policyHandlers = new Hashtable<PolicySet, PolicyHandler>();
public JavaImplementationProvider(RuntimeComponent component,
JavaImplementation implementation,
@@ -64,7 +74,7 @@
configuration.setProxyFactory(proxyService);
componentContextProvider =
new JavaComponentContextProvider(component, configuration, dataBindingRegistry, propertyValueObjectFactory,
- componentContextFactory, requestContextFactory);
+ componentContextFactory, requestContextFactory, policyHandlers);
Scope scope = getScope();
@@ -93,10 +103,29 @@
componentContextProvider.configureProperties(component.getProperties());
handleResources(implementation, proxyService);
+ loadPolicyHandlers();
} catch (Exception e) {
throw new IllegalStateException(e);
}
-
+
+ }
+
+ private void loadPolicyHandlers() throws Exception {
+ Map<QName, PolicyHandler> availablePolicyHandlers =
+ PolicySetHandlerUtil.getPolicyHandlers(Thread.currentThread().getContextClassLoader(),
+ "org.apache.tuscany.sca.policy.PolicySetHandlers");
+ if ( implementation instanceof PolicySetAttachPoint ) {
+ PolicyHandler aHandler = null;
+ PolicySetAttachPoint policiedImpl = (PolicySetAttachPoint)implementation;
+ for ( PolicySet policySet : policiedImpl.getPolicySets() ) {
+ if ( ( aHandler = availablePolicyHandlers.get(policySet.getName()) ) != null ) {
+ aHandler.setApplicablePolicySet(policySet);
+ policyHandlers.put(policySet, aHandler);
+ } else {
+ //FIXME : maybe there must be a warning thrown here
+ }
+ }
+ }
}
private void handleResources(JavaImplementation componentType, ProxyFactory proxyService) {
@@ -169,5 +198,4 @@
public long getMaxIdleTime() {
return implementation.getMaxIdleTime();
}
-
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/pom.xml?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/pom.xml Tue Oct 23 21:30:02 2007
@@ -48,6 +48,20 @@
<version>${version}</version>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-definitions</artifactId>
+ <version>${version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-definitions-xml</artifactId>
+ <version>${version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java Tue Oct 23 21:30:02 2007
@@ -53,7 +53,10 @@
import org.apache.tuscany.sca.implementation.java.introspect.impl.JavaIntrospectionHelper;
import org.apache.tuscany.sca.interfacedef.Interface;
import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
+import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaImplementation>,
JavaImplementationConstants {
@@ -62,18 +65,28 @@
private AssemblyFactory assemblyFactory;
private PolicyFactory policyFactory;
private PolicyAttachPointProcessor policyProcessor;
+ private IntentAttachPointTypeFactory intentAttachPointTypeFactory;
public JavaImplementationProcessor(ModelFactoryExtensionPoint modelFactories) {
this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
this.javaFactory = modelFactories.getFactory(JavaImplementationFactory.class);
this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
+ this.intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
}
public JavaImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
// Read an <implementation.java>
JavaImplementation javaImplementation = javaFactory.createJavaImplementation();
+
+ if ( javaImplementation instanceof PolicySetAttachPoint ) {
+ IntentAttachPointType implType = intentAttachPointTypeFactory.createImplementationType();
+ implType.setName(getArtifactType());
+ implType.setUnresolved(true);
+ ((PolicySetAttachPoint)javaImplementation).setType(implType);
+ }
+
javaImplementation.setUnresolved(true);
javaImplementation.setName(reader.getAttributeValue(null, CLASS));
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java Tue Oct 23 21:30:02 2007
@@ -20,6 +20,8 @@
package org.apache.tuscany.sca.implementation.java.xml;
import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
@@ -33,6 +35,7 @@
import org.apache.tuscany.sca.assembly.SCABindingFactory;
import org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
+import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor;
import org.apache.tuscany.sca.binding.sca.impl.SCABindingFactoryImpl;
import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
@@ -40,12 +43,17 @@
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.xml.SCADefinitionsDocumentProcessor;
import org.apache.tuscany.sca.implementation.java.DefaultJavaImplementationFactory;
import org.apache.tuscany.sca.implementation.java.JavaImplementationFactory;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
+import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
+import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
/**
* Test reading Java implementations.
@@ -61,6 +69,8 @@
private SCABindingFactory scaBindingFactory;
private PolicyFactory policyFactory;
private InterfaceContractMapper mapper;
+ SCADefinitionsDocumentProcessor scaDefnDocProcessor;
+ private IntentAttachPointTypeFactory intentAttachPointTypeFactory;
@Override
public void setUp() throws Exception {
@@ -74,6 +84,7 @@
inputFactory = XMLInputFactory.newInstance();
staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(modelFactories);
staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance());
+ intentAttachPointTypeFactory = new DefaultIntentAttachPointTypeFactory();
JavaImplementationFactory javaImplementationFactory = new DefaultJavaImplementationFactory();
modelFactories.addFactory(javaImplementationFactory);
@@ -82,7 +93,9 @@
staxProcessors.addArtifactProcessor(compositeProcessor);
JavaImplementationProcessor javaProcessor = new JavaImplementationProcessor(modelFactories);
- staxProcessors.addArtifactProcessor(javaProcessor);
+ staxProcessors.addArtifactProcessor(javaProcessor);
+
+ scaDefnDocProcessor = new SCADefinitionsDocumentProcessor(staxProcessors, staxProcessor, inputFactory, policyFactory);
}
@Override
@@ -101,23 +114,36 @@
Composite composite = compositeProcessor.read(reader);
assertNotNull(composite);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, mapper, null, null);
compositeUtil.build(composite);
}
public void testReadAndResolveComposite() throws Exception {
+ ModelResolver resolver = new TestModelResolver(getClass().getClassLoader());
+
+ URL url = getClass().getResource("definitions.xml");
+ URI uri = URI.create("definitions.xml");
+ scaDefnDocProcessor.setDomainModelResolver(resolver);
+ SCADefinitions scaDefns = scaDefnDocProcessor.read(null, uri, url);
+
CompositeProcessor compositeProcessor = new CompositeProcessor(new ContributionFactoryImpl(), assemblyFactory, policyFactory, mapper, staxProcessor);
InputStream is = getClass().getResourceAsStream("Calculator.composite");
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
Composite composite = compositeProcessor.read(reader);
assertNotNull(composite);
- ModelResolver resolver = new TestModelResolver(getClass().getClassLoader());
+ staxProcessor.resolve(scaDefns, resolver);
staxProcessor.resolve(composite, resolver);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ //intents are not computed for the implementation as yet
+ assertEquals(((PolicySetAttachPoint)composite.getComponents().get(0).getImplementation()).getRequiredIntents().size(), 1);
+
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, intentAttachPointTypeFactory, mapper, null, null);
compositeUtil.build(composite);
+
+ //intents are computed and aggregate intents from ancestor elements
+ assertEquals(((PolicySetAttachPoint)composite.getComponents().get(0).getImplementation()).getRequiredIntents().size(), 3);
//new PrintUtil(System.out).print(composite);
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite Tue Oct 23 21:30:02 2007
@@ -19,15 +19,17 @@
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:calc="http://sample.calculator"
+ requires="cns:tuscanyIntent_1"
targetNamespace="http://sample.calculator"
+ xmlns:cns="http://test"
name="Calculator">
<service name="CalculatorService" promote="CalculatorServiceComponent">
<interface.java interface="calculator.CalculatorService"/>
</service>
- <component name="CalculatorServiceComponent">
- <implementation.java class="calculator.CalculatorServiceImpl"/>
+ <component name="CalculatorServiceComponent" requires="cns:tuscanyIntent_2">
+ <implementation.java class="calculator.CalculatorServiceImpl" requires="cns:tuscanyIntent_3" />
<reference name="addService" target="AddServiceComponent"/>
<reference name="subtractService" target="SubtractServiceComponent"/>
<reference name="multiplyService" target="MultiplyServiceComponent"/>
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java Tue Oct 23 21:30:02 2007
@@ -34,7 +34,9 @@
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
+import org.osoa.sca.annotations.PolicySets;
import org.osoa.sca.annotations.Requires;
/**
@@ -71,13 +73,15 @@
* @param clazz
* @param requiredIntents
*/
- private void readIntents(Class<?> clazz, List<Intent> requiredIntents) {
+ private void readIntentsAndPolicySets(Class<?> clazz,
+ List<Intent> requiredIntents,
+ List<PolicySet> policySets) {
Requires intentAnnotation = clazz.getAnnotation(Requires.class);
if (intentAnnotation != null) {
String[] intentNames = intentAnnotation.value();
if (intentNames.length != 0) {
for (String intentName : intentNames) {
-
+
// Add each intent to the list
Intent intent = policyFactory.createIntent();
intent.setName(getQName(intentName));
@@ -85,6 +89,20 @@
}
}
}
+
+ PolicySets policySetAnnotation = clazz.getAnnotation(PolicySets.class);
+ if (policySetAnnotation != null) {
+ String[] policySetNames = policySetAnnotation.value();
+ if (policySetNames.length != 0) {
+ for (String policySetName : policySetNames) {
+
+ // Add each intent to the list
+ PolicySet policySet = policyFactory.createPolicySet();
+ policySet.setName(getQName(policySetName));
+ policySets.add(policySet);
+ }
+ }
+ }
}
private void readIntents(Method method, List<Intent> requiredIntents) {
@@ -113,7 +131,9 @@
// Read intents on the Java implementation class
if ( type instanceof PolicySetAttachPoint ) {
- readIntents(clazz, ((PolicySetAttachPoint)type).getRequiredIntents());
+ readIntentsAndPolicySets(clazz,
+ ((PolicySetAttachPoint)type).getRequiredIntents(),
+ ((PolicySetAttachPoint)type).getPolicySets());
}
// Process annotations on the service interfaces
@@ -127,7 +147,9 @@
if (javaInterfaceContract.getInterface() != null) {
JavaInterface javaInterface = (JavaInterface)javaInterfaceContract.getInterface();
if (javaInterface.getJavaClass() != null) {
- readIntents(javaInterface.getJavaClass(), service.getRequiredIntents());
+ readIntentsAndPolicySets(javaInterface.getJavaClass(),
+ service.getRequiredIntents(),
+ service.getPolicySets());
// Read intents on the service interface methods
Method[] methods = javaInterface.getJavaClass().getMethods();
@@ -147,7 +169,9 @@
callback = assemblyFactory.createCallback();
service.setCallback(callback);
}
- readIntents(javaCallbackInterface.getJavaClass(), callback.getRequiredIntents());
+ readIntentsAndPolicySets(javaCallbackInterface.getJavaClass(),
+ callback.getRequiredIntents(),
+ callback.getPolicySets());
// Read intents on the callback interface methods
Method[] methods = javaCallbackInterface.getJavaClass().getMethods();
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java Tue Oct 23 21:30:02 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/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java Tue Oct 23 21:30:02 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
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-node-xml/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-node-xml/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-node-xml/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-node-xml/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java Tue Oct 23 21:30:02 2007
@@ -41,9 +41,9 @@
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.implementation.node.NodeImplementationFactory;
import org.apache.tuscany.sca.implementation.node.impl.NodeImplementationFactoryImpl;
-import org.apache.tuscany.sca.implementation.node.xml.NodeImplementationProcessor;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
+import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
@@ -94,7 +94,7 @@
Composite composite = compositeProcessor.read(reader);
assertNotNull(composite);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), mapper, null, null);
compositeUtil.build(composite);
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java Tue Oct 23 21:30:02 2007
@@ -55,7 +55,7 @@
if (service.getService() != null) {
InterfaceContract interfaceContract = service.getService().getInterfaceContract();
if (interfaceContract instanceof WSDLInterfaceContract) {
- interfaceContract.getInterface().setDefaultDataBinding("org.apache.axiom.om.OMElement");
+ interfaceContract.getInterface().resetDataBinding("org.apache.axiom.om.OMElement");
}
}
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java Tue Oct 23 21:30:02 2007
@@ -21,10 +21,12 @@
import java.util.ArrayList;
import java.util.List;
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.SCABinding;
import org.apache.tuscany.sca.binding.sca.impl.SCABindingFactoryImpl;
-import org.apache.tuscany.sca.implementation.notification.NotificationComponentInvoker;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.InvocationChain;
@@ -35,9 +37,6 @@
import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
import org.apache.tuscany.sca.runtime.RuntimeWire;
import org.easymock.EasyMock;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
/**
*
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java Tue Oct 23 21:30:02 2007
@@ -25,8 +25,6 @@
import junit.framework.TestCase;
import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.implementation.notification.DefaultNotificationImplementationFactory;
-import org.apache.tuscany.sca.implementation.notification.NotificationImplementationProcessor;
import org.easymock.EasyMock;
/**
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java Tue Oct 23 21:30:02 2007
@@ -203,17 +203,18 @@
/*
* Get the annotation corresponding to an instance
- * Note that this can be null since annotations are processed from implementation
- * classes in bundles only if the class names are provided in <implementation.osgi/>
*
*/
private JavaImplementation getAnnotationInfo(Object instance) {
- for (Class clazz : javaAnnotationInfo.keySet()) {
- if (clazz.isInstance(instance)) {
- return javaAnnotationInfo.get(clazz);
- }
- }
-
+
+ // The simplest case where the implementation class was listed under the
+ // classes attribute of <implementation.osgi/>, or this is the second call
+ // to this method for the implementation class.
+ JavaImplementation javaImpl = javaAnnotationInfo.get(instance.getClass());
+ if (javaImpl != null)
+ return javaImpl;
+
+ // Process annotations from the instance class.
try {
return processAnnotations(instance.getClass());
} catch (IntrospectionException e) {
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiImplementationProvider.java Tue Oct 23 21:30:02 2007
@@ -32,7 +32,6 @@
import java.util.jar.Manifest;
import java.util.zip.ZipEntry;
-
import org.apache.tuscany.sca.assembly.ComponentProperty;
import org.apache.tuscany.sca.assembly.ComponentReference;
import org.apache.tuscany.sca.assembly.ComponentService;
@@ -53,12 +52,6 @@
import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl;
-import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime;
-import org.apache.tuscany.sca.runtime.EndpointReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponent;
-import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
import org.apache.tuscany.sca.implementation.java.IntrospectionException;
import org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
import org.apache.tuscany.sca.implementation.osgi.OSGiImplementationInterface;
@@ -68,6 +61,12 @@
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime;
+import org.apache.tuscany.sca.runtime.EndpointReference;
+import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
+import org.apache.tuscany.sca.runtime.RuntimeComponentService;
+import org.apache.tuscany.sca.runtime.RuntimeWire;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleEvent;
@@ -1109,8 +1108,9 @@
component.setScopeContainer(null);
ScopeContainer scopeContainer = scopeRegistry.getScopeContainer(runtimeComponent);
- if (oldScopeContainer.getLifecycleState() == ScopeContainer.RUNNING)
+ if (oldScopeContainer != null && oldScopeContainer.getLifecycleState() == ScopeContainer.RUNNING) {
scopeContainer.start();
+ }
component.setScopeContainer(scopeContainer);
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiInstanceWrapper.java Tue Oct 23 21:30:02 2007
@@ -23,10 +23,12 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.jar.JarOutputStream;
import java.util.jar.Manifest;
+
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.core.context.InstanceWrapper;
import org.apache.tuscany.sca.core.scope.Scope;
@@ -34,7 +36,7 @@
import org.apache.tuscany.sca.core.scope.TargetInitializationException;
import org.apache.tuscany.sca.implementation.osgi.context.OSGiAnnotations;
import org.apache.tuscany.sca.interfacedef.Interface;
-import org.apache.tuscany.sca.runtime.EndpointReference;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
@@ -76,11 +78,44 @@
public synchronized T getInstance(ComponentService service) throws TargetInitializationException {
+ // If an instance corresponding to this service has already been created, return the instance.
if (instanceInfoList.get(service) != null)
return instanceInfoList.get(service).osgiInstance;
+
+ // There is no strict relation between service and callback instances. The instance semantics
+ // actually applies to the component instance in SCA. But for OSGi services, the callback
+ // is just another OSGi service, and could correspond to any of the service instances in
+ // the component. To implement the SCA scope semantics for callbacks, OSGi callbacks
+ // should also be made on the service object which implements the callback. The following code
+ // finds the first possible callback instance based on the interfaces implemented by the service
+ // objects in this component. Note that the interfaces are checked by name rather than using
+ // instanceof since the class seen by Tuscany could be from a different classloader from that
+ // used by the bundle.
+ if (service.isCallback()) {
+ Iterator<InstanceInfo<T>> instances = instanceInfoList.values().iterator();
+ while (instances.hasNext()) {
+ InstanceInfo<T> instanceInfo = instances.next();
+ Interface interfaze = service.getInterfaceContract().getInterface();
+ if (interfaze instanceof JavaInterface && ((JavaInterface)interfaze).getJavaClass() != null) {
+ String interfaceName = ((JavaInterface)interfaze).getJavaClass().getName();
+ Class[] interfaces = instanceInfo.osgiInstance.getClass().getInterfaces();
+ for (Class clazz : interfaces) {
+ if (clazz.getName().equals(interfaceName)) {
+ return instanceInfo.osgiInstance;
+ }
+ }
+
+ }
+
+ }
+ }
Bundle refBundle = provider.startBundle();
+ // For scopes other than composite, the service object is obtained using a dummy reference
+ // bundle to guarantee that a new instance is created each time. This combined with the Tuscany
+ // scope container code guarantee SCA scope semantics for OSGi components as long as service
+ // factories are used.
if (!annotationProcessor.getScope().equals(Scope.COMPOSITE)) {
refBundle = getDummyReferenceBundle();
}
@@ -111,44 +146,7 @@
return instanceInfo.osgiInstance;
}
- public synchronized T getCallbackInstance(EndpointReference from, Interface callbackInterface)
- throws TargetInitializationException {
-
- if (instanceInfoList.get(callbackInterface) != null)
- return instanceInfoList.get(callbackInterface).osgiInstance;
-
- Bundle refBundle = provider.startBundle();
-
- if (!annotationProcessor.getScope().equals(Scope.COMPOSITE)) {
- refBundle = getDummyReferenceBundle();
- }
-
- InstanceInfo<T> instanceInfo = new InstanceInfo<T>();
-
-
- instanceInfo.osgiServiceReference = provider.getOSGiServiceReference(from, callbackInterface);
-
- instanceInfo.refBundleContext = refBundle.getBundleContext();
- instanceInfo.osgiInstance = getInstanceObject(instanceInfo);
-
-
- try {
-
- if (!isInitialized(instanceInfo.osgiInstance)) {
-
- annotationProcessor.injectProperties(instanceInfo.osgiInstance);
- callLifecycleMethod(instanceInfo.osgiInstance, Init.class);
- instanceInfo.isFirstInstance = true;
- }
-
- instanceInfoList.put(callbackInterface, instanceInfo);
-
- } catch (Exception e) {
- throw new TargetInitializationException(e);
- }
-
- return instanceInfo.osgiInstance;
- }
+
// This method is provided purely to implement InstanceWrapper interface, and is never called.
public T getInstance() {
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTargetInvoker.java Tue Oct 23 21:30:02 2007
@@ -136,13 +136,8 @@
removeTemporaryConversationalComponentAfterCall = true;
}
-
- if (service != null) {
- instance = wrapper.getInstance(service);
- } else {
- instance = wrapper.getCallbackInstance(to, operation.getInterface());
- }
-
+ instance = wrapper.getInstance(service);
+
Method m = JavaInterfaceUtil.findMethod(instance.getClass(), operation);
Object ret = invokeMethod(instance, m, msg);
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementation.java Tue Oct 23 21:30:02 2007
@@ -115,6 +115,14 @@
return serviceCallbackProperties.get(serviceName);
}
+ /**
+ * Since OSGi implementation annotations may not be processed until much later, leave it to
+ * the OSGi invoker to decide whether pass-by-reference is allowed.
+ * @return
+ */
+ public boolean isAllowsPassByReference() {
+ return true;
+ }
public Object getOSGiBundle() {
return osgiBundle;
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/invocation/OSGiTestCase.java Tue Oct 23 21:30:02 2007
@@ -24,10 +24,10 @@
import junit.framework.TestCase;
import org.apache.tuscany.sca.host.embedded.SCADomain;
-import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime;
import org.apache.tuscany.sca.implementation.osgi.test.OSGiTestBundles;
import org.apache.tuscany.sca.implementation.osgi.test.OSGiTestImpl;
import org.apache.tuscany.sca.implementation.osgi.test.OSGiTestInterface;
+import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime;
/**
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java Tue Oct 23 21:30:02 2007
@@ -50,6 +50,7 @@
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
@@ -85,7 +86,7 @@
osgiProcessor = new OSGiImplementationProcessor(modelFactories);
staxProcessors.addArtifactProcessor(osgiProcessor);
- OSGiTestBundles.createBundle("target/OSGiTestService.jar", OSGiTestInterface.class, OSGiTestImpl.class);
+ OSGiTestBundles.createBundle("target/test-classes/OSGiTestService.jar", OSGiTestInterface.class, OSGiTestImpl.class);
}
@@ -105,7 +106,7 @@
Composite composite = compositeProcessor.read(reader);
assertNotNull(composite);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), mapper, null, null);
compositeUtil.build(composite);
}
@@ -128,7 +129,7 @@
compositeProcessor.resolve(composite, resolver);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), mapper, null, null);
compositeUtil.build(composite);
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java Tue Oct 23 21:30:02 2007
@@ -113,7 +113,7 @@
InterfaceContract ic = service.getInterfaceContract();
if (ic instanceof WSDLInterfaceContract) {
// Set to use the Axiom data binding
- ic.getInterface().setDefaultDataBinding(OMElement.class.getName());
+ ic.getInterface().resetDataBinding(OMElement.class.getName());
xmlHelper = XMLHelper.getArgHelper(scriptEngine);
}
}
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java Tue Oct 23 21:30:02 2007
@@ -57,13 +57,16 @@
import javax.script.SimpleBindings;
import org.jruby.Ruby;
+import org.jruby.RubyException;
import org.jruby.ast.Node;
+import org.jruby.exceptions.RaiseException;
import org.jruby.internal.runtime.GlobalVariable;
import org.jruby.internal.runtime.GlobalVariables;
import org.jruby.internal.runtime.ReadonlyAccessor;
import org.jruby.javasupport.Java;
import org.jruby.javasupport.JavaObject;
import org.jruby.javasupport.JavaUtil;
+import org.jruby.javasupport.bsf.JRubyEngine;
import org.jruby.runtime.Block;
import org.jruby.runtime.IAccessor;
import org.jruby.runtime.builtin.IRubyObject;
@@ -404,6 +407,9 @@
try {
setGlobalVariables(ctx);
return rubyToJava(runtime.eval(node));
+ } catch (RaiseException exp) {
+ RubyException rexp = exp.getException();
+ throw new ScriptException(rexp.toString());
} catch (Exception exp) {
throw new ScriptException(exp);
} finally {
@@ -418,9 +424,16 @@
if (loadPath == null) {
loadPath = System.getProperty("java.class.path");
}
- List list = Arrays.asList(loadPath.split(File.pathSeparator));
- runtime.getLoadService().init(list);
+ List list = new ArrayList(Arrays.asList(loadPath.split(File.pathSeparator)));
+ list.add("META-INF/jruby.home/lib/ruby/site_ruby/1.8");
+ list.add("META-INF/jruby.home/lib/ruby/site_ruby/1.8/java");
+ list.add("META-INF/jruby.home/lib/ruby/site_ruby");
+ list.add("META-INF/jruby.home/lib/ruby/1.8");
+ list.add("META-INF/jruby.home/lib/ruby/1.8/java");
+ list.add("lib/ruby/1.8");
+ runtime.getLoadService().init(list);
runtime.getLoadService().require("java");
+
}
private Object invokeImpl(final Object obj, String method,
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java Tue Oct 23 21:30:02 2007
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
- * Created on 10-Apr-2006 by Adrian Colyer
*/
package org.apache.tuscany.sca.implementation.spring;
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java Tue Oct 23 21:30:02 2007
@@ -16,11 +16,10 @@
*/
package org.apache.tuscany.sca.implementation.spring;
-import org.w3c.dom.Element;
-
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
/**
* Parser for the <sca:reference> element
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java Tue Oct 23 21:30:02 2007
@@ -13,15 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
- * Created on 10-Apr-2006 by Adrian Colyer
*/
package org.apache.tuscany.sca.implementation.spring;
-import org.w3c.dom.Element;
-
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
/**
* Parser for the <sca:reference> element
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java Tue Oct 23 21:30:02 2007
@@ -13,15 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
- * Created on 10-Apr-2006 by Adrian Colyer
*/
package org.apache.tuscany.sca.implementation.spring;
-import org.w3c.dom.Element;
-
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
/**
* Parser for the <sca:service/> element
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java Tue Oct 23 21:30:02 2007
@@ -19,8 +19,8 @@
package org.apache.tuscany.sca.implementation.spring;
-import org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
import org.apache.tuscany.sca.databinding.Mediator;
+import org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory;
/**
*
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java Tue Oct 23 21:30:02 2007
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.sca.implementation.spring.xml;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
/**
* Represents a <bean> element in a Spring application-context
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java Tue Oct 23 21:30:02 2007
@@ -128,7 +128,7 @@
}
private void setDataBinding(Interface interfaze, boolean isReference) {
- interfaze.setDefaultDataBinding(SaxonNodeDataBinding.NAME);
+ // interfaze.resetDataBinding(SaxonNodeDataBinding.NAME);
List<Operation> operations = interfaze.getOperations();
for (Operation operation : operations) {
operation.setDataBinding(SaxonNodeDataBinding.NAME);
Modified: incubator/tuscany/branches/sca-java-1.0.1/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.0.1/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java?rev=587778&r1=587777&r2=587778&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.0.1/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-1.0.1/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java Tue Oct 23 21:30:02 2007
@@ -47,6 +47,7 @@
import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
@@ -119,7 +120,7 @@
Composite composite = compositeProcessor.read(reader);
assertNotNull(composite);
- CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, mapper, null, null);
+ CompositeBuilderImpl compositeUtil = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, new DefaultIntentAttachPointTypeFactory(), mapper, null, null);
compositeUtil.build(composite);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org