You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/12/12 20:28:46 UTC
svn commit: r486286 - in /incubator/tuscany/java/sca:
kernel/api/src/main/java/org/apache/tuscany/api/
kernel/core/src/main/java/org/apache/tuscany/core/builder/
kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/
kernel/core/sr...
Author: jmarino
Date: Tue Dec 12 11:28:44 2006
New Revision: 486286
URL: http://svn.apache.org/viewvc?view=rev&rev=486286
Log:
enable system binding and clean up associated SCDL loading error conditions
Added:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java (with props)
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java (with props)
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java (with props)
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java (with props)
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java (with props)
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java (with props)
Modified:
incubator/tuscany/java/sca/kernel/api/src/main/java/org/apache/tuscany/api/TuscanyException.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/DependencyLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/MissingIncludeException.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/UnrecognizedElementException.java
incubator/tuscany/java/sca/services/transaction/transaction.geronimo/src/main/resources/META-INF/sca/geronimo.jta.scdl
Modified: incubator/tuscany/java/sca/kernel/api/src/main/java/org/apache/tuscany/api/TuscanyException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/api/src/main/java/org/apache/tuscany/api/TuscanyException.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/api/src/main/java/org/apache/tuscany/api/TuscanyException.java (original)
+++ incubator/tuscany/java/sca/kernel/api/src/main/java/org/apache/tuscany/api/TuscanyException.java Tue Dec 12 11:28:44 2006
@@ -119,8 +119,9 @@
return super.getMessage();
}
StringBuilder b = new StringBuilder(256);
- b.append(super.getMessage());
-
+ if (super.getMessage() != null) {
+ b.append(super.getMessage());
+ }
if (identifier != null) {
b.append(" [").append(identifier).append(']');
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Tue Dec 12 11:28:44 2006
@@ -32,6 +32,7 @@
import org.apache.tuscany.spi.builder.BuilderConfigException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.builder.ComponentBuilder;
+import org.apache.tuscany.spi.builder.NoRegisteredBuilderException;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
@@ -51,6 +52,8 @@
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.WireService;
+import org.apache.tuscany.core.implementation.system.component.SystemService;
+
/**
* The default builder registry in the runtime
*
@@ -100,29 +103,6 @@
}
@SuppressWarnings("unchecked")
- public <I extends Implementation<?>> Component build(CompositeComponent parent,
- ComponentDefinition<I> componentDefinition,
- DeploymentContext deploymentContext) {
- Class<?> implClass = componentDefinition.getImplementation().getClass();
- ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
- if (componentBuilder == null) {
- BuilderConfigException e = new BuilderConfigException("No builder registered for implementation");
- e.setIdentifier(implClass.getName());
- e.addContextName(componentDefinition.getName());
- throw e;
- }
-
- Component component = componentBuilder.build(parent, componentDefinition, deploymentContext);
- ComponentType<?, ?, ?> componentType = componentDefinition.getImplementation().getComponentType();
- assert componentType != null : "Component type must be set";
- // create wires for the component
- if (wireService != null && !(component instanceof SystemAtomicComponent)) {
- wireService.createWires(component, componentDefinition);
- }
- return component;
- }
-
- @SuppressWarnings("unchecked")
public <B extends Binding> void register(BindingBuilder<B> builder) {
Type[] interfaces = builder.getClass().getGenericInterfaces();
for (Type type : interfaces) {
@@ -149,14 +129,39 @@
}
@SuppressWarnings("unchecked")
+ public <I extends Implementation<?>> Component build(CompositeComponent parent,
+ ComponentDefinition<I> componentDefinition,
+ DeploymentContext deploymentContext) {
+ Class<?> implClass = componentDefinition.getImplementation().getClass();
+ ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
+ if (componentBuilder == null) {
+ BuilderConfigException e = new BuilderConfigException("No builder registered for implementation");
+ e.setIdentifier(implClass.getName());
+ e.addContextName(componentDefinition.getName());
+ throw e;
+ }
+
+ Component component = componentBuilder.build(parent, componentDefinition, deploymentContext);
+ ComponentType<?, ?, ?> componentType = componentDefinition.getImplementation().getComponentType();
+ assert componentType != null : "Component type must be set";
+ // create wires for the component
+ if (wireService != null && !(component instanceof SystemAtomicComponent)) {
+ wireService.createWires(component, componentDefinition);
+ }
+ return component;
+ }
+
+ @SuppressWarnings("unchecked")
public <B extends Binding> SCAObject build(CompositeComponent parent,
BoundServiceDefinition<B> boundServiceDefinition,
DeploymentContext deploymentContext) {
Class<?> bindingClass = boundServiceDefinition.getBinding().getClass();
BindingBuilder<B> bindingBuilder = (BindingBuilder<B>) bindingBuilders.get(bindingClass);
+ if (bindingBuilder == null) {
+ throw new NoRegisteredBuilderException(bindingClass.getName());
+ }
SCAObject object = bindingBuilder.build(parent, boundServiceDefinition, deploymentContext);
- if (wireService != null) {
- // wireService.createWires((Service) object, boundServiceDefinition);
+ if (wireService != null && !(object instanceof SystemService)) {
String path = boundServiceDefinition.getTarget().getPath();
ServiceContract<?> contract = boundServiceDefinition.getServiceContract();
wireService.createWires((Service) object, path, contract);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeBuilder.java Tue Dec 12 11:28:44 2006
@@ -98,10 +98,7 @@
for (ReferenceDefinition targetlessReferenceDef : allTargetlessReferences) {
component.register(builderRegistry.build(component, targetlessReferenceDef, deploymentContext));
}
-
- // HACK: [rfeng] We need a better way to propagate model extensions to SCAObject.
component.getExtensions().putAll(componentType.getExtensions());
-
return component;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Tue Dec 12 11:28:44 2006
@@ -76,7 +76,9 @@
return COMPOSITE;
}
- public CompositeComponentType load(CompositeComponent parent, ModelObject object, XMLStreamReader reader,
+ public CompositeComponentType load(CompositeComponent parent,
+ ModelObject object,
+ XMLStreamReader reader,
DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> composite =
new CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/DependencyLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/DependencyLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/DependencyLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/DependencyLoader.java Tue Dec 12 11:28:44 2006
@@ -19,6 +19,7 @@
package org.apache.tuscany.core.implementation.composite;
import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -29,8 +30,9 @@
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.services.artifact.Artifact;
+import org.apache.tuscany.spi.loader.UnrecognizedElementException;
import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.spi.services.artifact.Artifact;
/**
* Loader for handling <dependency> elements.
@@ -55,7 +57,8 @@
}
public Dependency load(CompositeComponent parent,
- ModelObject object, XMLStreamReader reader,
+ ModelObject object,
+ XMLStreamReader reader,
DeploymentContext deploymentContext)
throws XMLStreamException, LoaderException {
@@ -73,6 +76,13 @@
artifact.setClassifier(text);
} else if (TYPE.equals(name)) {
artifact.setType(text);
+ } else {
+ Location location = reader.getLocation();
+ int line = location.getLineNumber();
+ int col = location.getColumnNumber();
+ UnrecognizedElementException e = new UnrecognizedElementException(name);
+ e.setIdentifier(line + "," + col);
+ throw e;
}
}
Dependency dependency = new Dependency();
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilder.java Tue Dec 12 11:28:44 2006
@@ -18,16 +18,20 @@
*/
package org.apache.tuscany.core.implementation.system.builder;
+import java.net.URI;
+
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.builder.BindingBuilder;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
+import org.apache.tuscany.spi.builder.InvalidTargetTypeException;
+import org.apache.tuscany.spi.builder.MissingTargetException;
import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.BoundReferenceDefinition;
import org.apache.tuscany.spi.model.BoundServiceDefinition;
+import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.core.implementation.system.component.SystemReference;
@@ -47,48 +51,60 @@
*
* @version $$Rev$$ $$Date$$
*/
-public class SystemBindingBuilder extends BindingBuilderExtension<SystemBinding> implements BindingBuilder<SystemBinding> {
+public class SystemBindingBuilder extends BindingBuilderExtension<SystemBinding>
+ implements BindingBuilder<SystemBinding> {
public SystemService build(CompositeComponent parent,
- BoundServiceDefinition<SystemBinding> boundServiceDefinition,
+ BoundServiceDefinition<SystemBinding> definition,
DeploymentContext deploymentContext) {
-
- QualifiedName targetName = new QualifiedName(boundServiceDefinition.getTarget().getPath());
- Component target = (Component) parent.getSystemChild(targetName.getPartName());
+
+ URI uri = definition.getTarget();
+ if (uri == null) {
+ MissingTargetException e = new MissingTargetException("Target URI not specified");
+ e.setIdentifier(definition.getName());
+ throw e;
+ }
+ QualifiedName targetName = new QualifiedName(uri.getPath());
+ SCAObject target = parent.getSystemChild(targetName.getPartName());
if (target == null) {
- throw new BuilderConfigException("Target not found: [" + targetName + ']');
+ MissingTargetException e = new MissingTargetException(targetName.toString());
+ e.setIdentifier(definition.getName());
+ throw e;
+ } else if (!(target instanceof SystemAtomicComponent)) {
+ InvalidTargetTypeException e = new InvalidTargetTypeException(targetName.toString());
+ e.setIdentifier(definition.getName());
+ throw e;
}
- Class<?> interfaze = target.getServiceInterfaces().get(0);
- String name = boundServiceDefinition.getName();
- InboundWire inboundWire =
- new SystemInboundWireImpl(name, interfaze, target);
- SystemOutboundWire outboundWire =
- new SystemOutboundWireImpl(name, targetName, interfaze);
- SystemService service = new SystemServiceImpl(boundServiceDefinition.getName(), parent, new JavaServiceContract(interfaze));
+ SystemAtomicComponent atomicComponent = (SystemAtomicComponent) target;
+ Class<?> interfaze = definition.getServiceContract().getInterfaceClass();
+ String name = definition.getName();
+ InboundWire inboundWire = new SystemInboundWireImpl(name, interfaze, atomicComponent);
+ SystemOutboundWire outboundWire = new SystemOutboundWireImpl(name, targetName, interfaze);
+ ServiceContract<?> contract = definition.getServiceContract();
+ SystemService service = new SystemServiceImpl(definition.getName(), parent, contract);
service.setInboundWire(inboundWire);
service.setOutboundWire(outboundWire);
return service;
}
public SystemReference build(CompositeComponent parent,
- BoundReferenceDefinition<SystemBinding> boundReferenceDefinition,
+ BoundReferenceDefinition<SystemBinding> definition,
DeploymentContext deploymentContext) {
CompositeComponent autowireComponent = parent.getParent();
- Class<?> interfaze = boundReferenceDefinition.getServiceContract().getInterfaceClass();
- String name = boundReferenceDefinition.getName();
+ Class<?> interfaze = definition.getServiceContract().getInterfaceClass();
+ String name = definition.getName();
SystemReferenceImpl reference = new SystemReferenceImpl(name, interfaze, parent);
SystemInboundWire inboundWire = new SystemInboundWireImpl(name, interfaze);
- String refName = boundReferenceDefinition.getName();
- boolean required = boundReferenceDefinition.isRequired();
+ String refName = definition.getName();
+ boolean required = definition.isRequired();
SystemOutboundWire outboundWire = new SystemOutboundAutowire(refName, interfaze, autowireComponent, required);
reference.setInboundWire(inboundWire);
reference.setOutboundWire(outboundWire);
return reference;
}
- @Override
- protected Class<SystemBinding> getBindingType() {
- // TODO Auto-generated method stub
- return SystemBinding.class;
- }
+ @Override
+ protected Class<SystemBinding> getBindingType() {
+ return SystemBinding.class;
+ }
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/builder/SystemCompositeBuilder.java Tue Dec 12 11:28:44 2006
@@ -22,10 +22,12 @@
import java.util.List;
import org.apache.tuscany.spi.builder.BuilderConfigException;
+import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.builder.Connector;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
import org.apache.tuscany.spi.model.Binding;
@@ -52,16 +54,12 @@
this.connector = connector;
}
- protected Class<SystemCompositeImplementation> getImplementationType() {
- return SystemCompositeImplementation.class;
- }
-
+ @SuppressWarnings("unchecked")
public Component build(CompositeComponent parent,
ComponentDefinition<SystemCompositeImplementation> componentDefinition,
DeploymentContext deploymentContext) throws BuilderConfigException {
SystemCompositeImplementation impl = componentDefinition.getImplementation();
CompositeComponentType<?, ?, ?> componentType = impl.getComponentType();
-
// create lists of all components and services in this composite
List<ComponentDefinition<? extends Implementation<?>>> allComponents =
new ArrayList<ComponentDefinition<? extends Implementation<?>>>();
@@ -77,32 +75,39 @@
}
}
- /*
- // add in components and services from included composites
- for (Include include : componentType.getIncludes().values()) {
- CompositeComponentType<?, ?, ?> included = include.getIncluded();
- allComponents.addAll(included.getComponents().values());
- for (ServiceDefinition serviceDefinition : included.getServices().values()) {
- if (serviceDefinition instanceof BoundServiceDefinition) {
- BoundServiceDefinition<? extends Binding> boundService =
- (BoundServiceDefinition<? extends Binding>) serviceDefinition;
- allBoundServices.add(boundService);
- }
- }
- }
- */
-
// create the composite component
String name = componentDefinition.getName();
CompositeComponent component = new CompositeComponentImpl(name, parent, connector, true);
for (ComponentDefinition<? extends Implementation> childComponentDefinition : allComponents) {
- component.register(builderRegistry.build(component, childComponentDefinition, deploymentContext));
+ Component child;
+ try {
+ child = builderRegistry.build(component, childComponentDefinition, deploymentContext);
+ } catch (BuilderException e) {
+ e.addContextName(component.getName());
+ e.addContextName(name);
+ e.addContextName(parent.getName());
+ throw e;
+ }
+ component.register(child);
}
for (BoundServiceDefinition<? extends Binding> serviceDefinition : allBoundServices) {
- component.register(builderRegistry.build(component, serviceDefinition, deploymentContext));
+ SCAObject object;
+ try {
+ object = builderRegistry.build(component, serviceDefinition, deploymentContext);
+ } catch (BuilderException e) {
+ e.addContextName(serviceDefinition.getName());
+ e.addContextName(name);
+ e.addContextName(parent.getName());
+ throw e;
+ }
+ component.register(object);
}
return component;
+ }
+
+ protected Class<SystemCompositeImplementation> getImplementationType() {
+ return SystemCompositeImplementation.class;
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemServiceImpl.java Tue Dec 12 11:28:44 2006
@@ -45,7 +45,8 @@
protected SystemOutboundWire outboundWire;
protected ServiceContract<?> serviceContract;
- public SystemServiceImpl(String name, CompositeComponent parent, ServiceContract<?> serviceContract) throws CoreRuntimeException {
+ public SystemServiceImpl(String name, CompositeComponent parent, ServiceContract<?> serviceContract)
+ throws CoreRuntimeException {
super(name, parent);
this.serviceContract = serviceContract;
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemComponentTypeLoader.java Tue Dec 12 11:28:44 2006
@@ -63,7 +63,8 @@
this.introspector = introspector;
}
- public void load(CompositeComponent parent, SystemImplementation implementation,
+ public void load(CompositeComponent parent,
+ SystemImplementation implementation,
DeploymentContext deploymentContext) throws LoaderException {
Class<?> implClass = implementation.getImplementationClass();
URL sidefile = implClass.getResource(JavaIntrospectionHelper.getBaseName(implClass) + ".componentType");
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoader.java Tue Dec 12 11:28:44 2006
@@ -19,21 +19,23 @@
package org.apache.tuscany.core.implementation.system.loader;
import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
+import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import org.osoa.sca.annotations.Constructor;
-
-import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
import org.apache.tuscany.spi.loader.LoaderRegistry;
import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.loader.UnrecognizedElementException;
import org.apache.tuscany.spi.model.ModelObject;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+
/**
* Loads information for a system implementation
*
@@ -43,15 +45,13 @@
public static final QName SYSTEM_IMPLEMENTATION =
new QName("http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT", "implementation.system");
- @Constructor({"registry"})
public SystemImplementationLoader(@Autowire LoaderRegistry registry) {
super(registry);
}
public SystemImplementation load(CompositeComponent parent,
ModelObject object, XMLStreamReader reader,
- DeploymentContext deploymentContext
- )
+ DeploymentContext deploymentContext)
throws XMLStreamException, LoaderException {
assert SYSTEM_IMPLEMENTATION.equals(reader.getName());
SystemImplementation implementation = new SystemImplementation();
@@ -59,8 +59,20 @@
Class<?> implementationClass = LoaderUtil.loadClass(implClass, deploymentContext.getClassLoader());
implementation.setImplementationClass(implementationClass);
registry.loadComponentType(parent, implementation, deploymentContext);
- LoaderUtil.skipToEndElement(reader);
- return implementation;
+ while (true) {
+ int code = reader.next();
+ if (code == XMLStreamConstants.START_ELEMENT) {
+ Location location = reader.getLocation();
+ int line = location.getLineNumber();
+ int col = location.getColumnNumber();
+ UnrecognizedElementException e = new UnrecognizedElementException(reader.getName());
+ e.setIdentifier(line + "," + col);
+ throw e;
+
+ } else if (code == XMLStreamConstants.END_ELEMENT) {
+ return implementation;
+ }
+ }
}
public QName getXMLType() {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java Tue Dec 12 11:28:44 2006
@@ -237,14 +237,11 @@
if (aProperty.getOverride() == OverrideOptions.MUST) {
throw new MissingMustOverridePropertyException(aProperty.getName());
} else if (aProperty.getDefaultValue() != null) {
- //} else {
PropertyValue propertyValue = new PropertyValue();
propertyValue.setName(aProperty.getName());
propertyValue.setValue(aProperty.getDefaultValue());
- // propertyValue.setValueFactory(aProperty.getDefaultValueFactory());
propertyValue.setValueFactory(new SimplePropertyObjectFactory(aProperty,
- propertyValue
- .getValue()));
+ propertyValue.getValue()));
propertyValues.put(aProperty.getName(), propertyValue);
}
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/IncludeLoader.java Tue Dec 12 11:28:44 2006
@@ -18,8 +18,8 @@
*/
package org.apache.tuscany.core.loader;
-import java.net.URL;
import java.net.MalformedURLException;
+import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -27,18 +27,19 @@
import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
import org.osoa.sca.annotations.Constructor;
+import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.LoaderExtension;
import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderUtil;
import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.MissingResourceException;
+import org.apache.tuscany.spi.loader.LoaderUtil;
import org.apache.tuscany.spi.loader.MissingIncludeException;
-import org.apache.tuscany.spi.model.Include;
+import org.apache.tuscany.spi.loader.MissingResourceException;
import org.apache.tuscany.spi.model.CompositeComponentType;
+import org.apache.tuscany.spi.model.Include;
import org.apache.tuscany.spi.model.ModelObject;
-import org.apache.tuscany.spi.annotation.Autowire;
+
import org.apache.tuscany.core.deployer.ChildDeploymentContext;
/**
@@ -86,13 +87,19 @@
throw mre;
}
} else {
- MissingIncludeException mie = new MissingIncludeException();
+ MissingIncludeException mie = new MissingIncludeException("No SCDL location or resource specified");
mie.setIdentifier(name);
throw mie;
}
DeploymentContext childContext = new ChildDeploymentContext(deploymentContext, cl, url);
- CompositeComponentType composite = loadFromSidefile(parent, url, childContext);
+ CompositeComponentType composite;
+ try {
+ composite = loadFromSidefile(parent, url, childContext);
+ } catch (LoaderException e) {
+ e.addContextName(name);
+ throw e;
+ }
Include include = new Include();
include.setName(name);
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java Tue Dec 12 11:28:44 2006
@@ -27,6 +27,7 @@
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.Location;
import org.osoa.sca.annotations.Init;
@@ -90,7 +91,12 @@
monitor.elementLoad(name);
StAXElementLoader<? extends ModelObject> loader = loaders.get(name);
if (loader == null) {
- throw new UnrecognizedElementException(name);
+ Location location = reader.getLocation();
+ int line = location.getLineNumber();
+ int col = location.getColumnNumber();
+ UnrecognizedElementException e = new UnrecognizedElementException(name);
+ e.setIdentifier(line + "," + col);
+ throw e;
}
return loader.load(parent, object, reader, deploymentContext);
}
@@ -116,6 +122,10 @@
} else {
UnrecognizedElementException e = new UnrecognizedElementException(name);
e.setResourceURI(url.toString());
+ Location location = reader.getLocation();
+ int line = location.getLineNumber();
+ int col = location.getColumnNumber();
+ e.setIdentifier(line + "," + col);
throw e;
}
} finally {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java Tue Dec 12 11:28:44 2006
@@ -59,8 +59,7 @@
public ReferenceDefinition load(CompositeComponent parent,
ModelObject object, XMLStreamReader reader,
- DeploymentContext deploymentContext
- )
+ DeploymentContext deploymentContext)
throws XMLStreamException, LoaderException {
assert REFERENCE.equals(reader.getName());
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireService.java Tue Dec 12 11:28:44 2006
@@ -21,9 +21,9 @@
import java.lang.reflect.Proxy;
import java.util.Map;
-import org.osoa.sca.annotations.Constructor;
import org.osoa.sca.annotations.Init;
import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Constructor;
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
@@ -33,6 +33,8 @@
import org.apache.tuscany.spi.component.ReferenceNotFoundException;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.model.Binding;
+import org.apache.tuscany.spi.model.BoundServiceDefinition;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.ComponentType;
import org.apache.tuscany.spi.model.CompositeComponentType;
@@ -54,6 +56,7 @@
import org.apache.tuscany.core.implementation.composite.CompositeReference;
import org.apache.tuscany.core.implementation.composite.CompositeService;
+import org.apache.tuscany.core.implementation.system.model.SystemBinding;
import org.apache.tuscany.core.wire.InboundInvocationChainImpl;
import org.apache.tuscany.core.wire.InboundWireImpl;
import org.apache.tuscany.core.wire.InvokerInterceptor;
@@ -72,7 +75,7 @@
super(null, null);
}
- @Constructor({"workContext", "policyregisty"})
+ @Constructor
public JDKWireService(@Autowire WorkContext context, @Autowire PolicyBuilderRegistry policyRegistry) {
super(context, policyRegistry);
}
@@ -143,6 +146,54 @@
return new InboundInvocationChainImpl(operation);
}
+ public OutboundWire createWire(ReferenceTarget reference, ReferenceDefinition def) {
+ //TODO multiplicity
+ if (reference.getTargets().size() != 1) {
+ throw new UnsupportedOperationException();
+ }
+ ServiceContract<?> contract = def.getServiceContract();
+ OutboundWire wire = new OutboundWireImpl();
+ QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
+ wire.setTargetName(qName);
+ wire.setServiceContract(contract);
+ wire.setReferenceName(reference.getReferenceName());
+ for (Operation<?> operation : contract.getOperations().values()) {
+ //TODO handle policy
+ OutboundInvocationChain chain = createOutboundChain(operation);
+ wire.addInvocationChain(operation, chain);
+
+ }
+ if (contract.getCallbackName() != null) {
+ wire.setCallbackInterface(contract.getCallbackClass());
+ for (Operation<?> operation : contract.getCallbackOperations().values()) {
+ InboundInvocationChain callbackTargetChain = createInboundChain(operation);
+ // TODO handle policy
+ //TODO statement below could be cleaner
+ callbackTargetChain.addInterceptor(new InvokerInterceptor());
+ wire.addTargetCallbackInvocationChain(operation, callbackTargetChain);
+ }
+ }
+ return wire;
+ }
+
+ public InboundWire createWire(ServiceDefinition service) {
+ InboundWire wire = new InboundWireImpl();
+ ServiceContract<?> contract = service.getServiceContract();
+ wire.setServiceContract(contract);
+ wire.setServiceName(service.getName());
+ for (Operation<?> operation : contract.getOperations().values()) {
+ InboundInvocationChain chain = createInboundChain(operation);
+ // TODO handle policy
+ //TODO statement below could be cleaner
+ chain.addInterceptor(new InvokerInterceptor());
+ wire.addInvocationChain(operation, chain);
+ }
+ if (contract.getCallbackName() != null) {
+ wire.setCallbackReferenceName(service.getCallbackReferenceName());
+ }
+ return wire;
+ }
+
public void createWires(Component component, ComponentDefinition<?> definition) {
Implementation<?> implementation = definition.getImplementation();
ComponentType<?, ?, ?> componentType = implementation.getComponentType();
@@ -154,6 +205,12 @@
// by CompositeBuilder and thus its children, in particular composite services,
// have been registered
CompositeComponent compositeComponent = (CompositeComponent) component;
+ if (service instanceof BoundServiceDefinition) {
+ Binding binding = ((BoundServiceDefinition) service).getBinding();
+ if (binding instanceof SystemBinding) {
+ continue;
+ }
+ }
Service serviceChild = (Service) compositeComponent.getChild(service.getName());
assert serviceChild != null;
if (serviceChild instanceof CompositeService) {
@@ -227,54 +284,6 @@
reference.setOutboundWire(outboundWire);
}
- public OutboundWire createWire(ReferenceTarget reference, ReferenceDefinition def) {
- //TODO multiplicity
- if (reference.getTargets().size() != 1) {
- throw new UnsupportedOperationException();
- }
- ServiceContract<?> contract = def.getServiceContract();
- OutboundWire wire = new OutboundWireImpl();
- QualifiedName qName = new QualifiedName(reference.getTargets().get(0).toString());
- wire.setTargetName(qName);
- wire.setServiceContract(contract);
- wire.setReferenceName(reference.getReferenceName());
- for (Operation<?> operation : contract.getOperations().values()) {
- //TODO handle policy
- OutboundInvocationChain chain = createOutboundChain(operation);
- wire.addInvocationChain(operation, chain);
-
- }
- if (contract.getCallbackName() != null) {
- wire.setCallbackInterface(contract.getCallbackClass());
- for (Operation<?> operation : contract.getCallbackOperations().values()) {
- InboundInvocationChain callbackTargetChain = createInboundChain(operation);
- // TODO handle policy
- //TODO statement below could be cleaner
- callbackTargetChain.addInterceptor(new InvokerInterceptor());
- wire.addTargetCallbackInvocationChain(operation, callbackTargetChain);
- }
- }
- return wire;
- }
-
- public InboundWire createWire(ServiceDefinition service) {
- InboundWire wire = new InboundWireImpl();
- ServiceContract<?> contract = service.getServiceContract();
- wire.setServiceContract(contract);
- wire.setServiceName(service.getName());
- for (Operation<?> operation : contract.getOperations().values()) {
- InboundInvocationChain chain = createInboundChain(operation);
- // TODO handle policy
- //TODO statement below could be cleaner
- chain.addInterceptor(new InvokerInterceptor());
- wire.addInvocationChain(operation, chain);
- }
- if (contract.getCallbackName() != null) {
- wire.setCallbackReferenceName(service.getCallbackReferenceName());
- }
- return wire;
- }
-
public void createWires(Service service, String targetName, ServiceContract<?> contract) {
InboundWire inboundWire = new InboundWireImpl();
@@ -305,8 +314,8 @@
outboundWire.setCallbackInterface(contract.getCallbackClass());
for (Operation<?> operation : contract.getCallbackOperations().values()) {
InboundInvocationChain callbackTargetChain = createInboundChain(operation);
-// TODO handle policy
-//TODO statement below could be cleaner
+ // TODO handle policy
+ //TODO statement below could be cleaner
callbackTargetChain.addInterceptor(new InvokerInterceptor());
outboundWire.addTargetCallbackInvocationChain(operation, callbackTargetChain);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/resources/org/apache/tuscany/core/systemImplementation.scdl Tue Dec 12 11:28:44 2006
@@ -31,9 +31,9 @@
<system:implementation.system class="org.apache.tuscany.core.implementation.system.loader.SystemBindingLoader"/>
</component>
- <!-- component name="system.bindingBuilder">
+ <component name="system.bindingBuilder">
<system:implementation.system class="org.apache.tuscany.core.implementation.system.builder.SystemBindingBuilder"/>
- </component -->
+ </component>
<component name="system.componentTypeLoader">
<system:implementation.system class="org.apache.tuscany.core.implementation.system.loader.SystemComponentTypeLoader"/>
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.loader.UnrecognizedElementException;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DependencyLoaderTestCase extends TestCase {
+ private static final String NS = "http://tuscany.apache.org/xmlns/1.0-SNAPSHOT";
+ private static final QName DEPENDENCY = new QName(NS, "dependency");
+ private static final QName GROUP = new QName(NS, "group");
+ private static final QName NAME = new QName(NS, "name");
+ private static final QName VERSION = new QName(NS, "version");
+ private static final QName CLASSIFIER = new QName(NS, "classifier");
+ private static final QName TYPE = new QName(NS, "type");
+
+ public void testLoad() throws Exception {
+ LoaderRegistry registry = EasyMock.createNiceMock(LoaderRegistry.class);
+ EasyMock.replay(registry);
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(GROUP);
+ EasyMock.expect(reader.getElementText()).andReturn("group");
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(NAME);
+ EasyMock.expect(reader.getElementText()).andReturn("name");
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(VERSION);
+ EasyMock.expect(reader.getElementText()).andReturn("1");
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(CLASSIFIER);
+ EasyMock.expect(reader.getElementText()).andReturn("classifier");
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(TYPE);
+ EasyMock.expect(reader.getElementText()).andReturn("type");
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.replay(reader);
+ DependencyLoader loader = new DependencyLoader(registry);
+ Dependency dependency = loader.load(null, null, reader, null);
+ assertEquals("group", dependency.getArtifact().getGroup());
+ assertEquals("name", dependency.getArtifact().getName());
+ assertEquals("1", dependency.getArtifact().getVersion());
+ assertEquals("classifier", dependency.getArtifact().getClassifier());
+ assertEquals("type", dependency.getArtifact().getType());
+ }
+
+ public void testLoaderRegister() {
+ LoaderRegistry registry = EasyMock.createMock(LoaderRegistry.class);
+ registry.registerLoader(EasyMock.eq(DEPENDENCY), EasyMock.isA(DependencyLoader.class));
+ EasyMock.replay(registry);
+ DependencyLoader loader = new DependencyLoader(registry);
+ loader.start();
+ EasyMock.verify(registry);
+ }
+
+ public void testUnrecognizedElement() throws Exception {
+ LoaderRegistry registry = EasyMock.createNiceMock(LoaderRegistry.class);
+ EasyMock.replay(registry);
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.nextTag()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(new QName("foo", "bar"));
+ EasyMock.expect(reader.getElementText()).andReturn("foo");
+ EasyMock.expect(reader.getLocation()).andReturn(new MockLocation());
+ EasyMock.replay(reader);
+ DependencyLoader loader = new DependencyLoader(registry);
+ try {
+ loader.load(null, null, reader, null);
+ fail();
+ } catch (UnrecognizedElementException e) {
+ // expected
+ }
+ }
+
+ private class MockLocation implements Location {
+
+ public int getLineNumber() {
+ return 0;
+ }
+
+ public int getColumnNumber() {
+ return 0;
+ }
+
+ public int getCharacterOffset() {
+ return 0;
+ }
+
+ public String getPublicId() {
+ return null;
+ }
+
+ public String getSystemId() {
+ return null;
+ }
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/DependencyLoaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.system.builder;
+
+import java.net.URI;
+
+import org.apache.tuscany.spi.builder.BuilderRegistry;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.SystemAtomicComponent;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.model.BoundServiceDefinition;
+import org.apache.tuscany.spi.model.ServiceContract;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.system.component.SystemService;
+import org.apache.tuscany.core.implementation.system.model.SystemBinding;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SystemBindingBuilderTestCase extends TestCase {
+
+ public void testBuild() throws Exception {
+ SystemBindingBuilder builder = new SystemBindingBuilder();
+ SystemAtomicComponent componet = EasyMock.createMock(SystemAtomicComponent.class);
+ EasyMock.replay(componet);
+ CompositeComponent parent = EasyMock.createMock(CompositeComponent.class);
+ EasyMock.expect(parent.getSystemChild("foo")).andReturn(componet);
+ EasyMock.replay(parent);
+ DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
+ EasyMock.replay(context);
+ BoundServiceDefinition<SystemBinding> definition = new BoundServiceDefinition<SystemBinding>();
+ definition.setName("bar");
+ definition.setTarget(new URI("foo"));
+ ServiceContract<Object> contract = new ServiceContract<Object>(Object.class) {
+ };
+ definition.setServiceContract(contract);
+ SystemService service = builder.build(parent, definition, context);
+ assertEquals("bar", service.getName());
+ assertEquals(contract, service.getBindingServiceContract());
+ assertEquals(parent, service.getParent());
+ }
+
+ public void testRegister() {
+ BuilderRegistry registry = EasyMock.createMock(BuilderRegistry.class);
+ registry.register(EasyMock.eq(SystemBinding.class), EasyMock.isA(SystemBindingBuilder.class));
+ EasyMock.replay(registry);
+ SystemBindingBuilder builder = new SystemBindingBuilder();
+ builder.setBuilderRegistry(registry);
+ builder.init();
+ EasyMock.verify(registry);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/builder/SystemBindingBuilderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.system.loader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.loader.UnrecognizedElementException;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SystemImplementationLoaderTestCase extends TestCase {
+
+ public static final QName SYSTEM_IMPLEMENTATION =
+ new QName("http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT", "implementation.system");
+
+ public void testLoad() throws Exception {
+ LoaderRegistry registry = EasyMock.createNiceMock(LoaderRegistry.class);
+ EasyMock.replay(registry);
+ DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
+ EasyMock.expect(context.getClassLoader()).andReturn(getClass().getClassLoader());
+ EasyMock.replay(context);
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getName()).andReturn(SYSTEM_IMPLEMENTATION);
+ EasyMock.expect(reader.getAttributeValue((String) EasyMock.isNull(), EasyMock.eq("class")))
+ .andReturn(getClass().getName());
+ EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.replay(reader);
+ SystemImplementationLoader loader = new SystemImplementationLoader(registry);
+ SystemImplementation impl = loader.load(null, null, reader, context);
+ assertEquals(getClass(), impl.getImplementationClass());
+ EasyMock.verify(reader);
+ EasyMock.verify(context);
+ }
+
+ public void testUnrecognizedElement() throws Exception {
+ LoaderRegistry registry = EasyMock.createNiceMock(LoaderRegistry.class);
+ EasyMock.replay(registry);
+ DeploymentContext context = EasyMock.createMock(DeploymentContext.class);
+ EasyMock.expect(context.getClassLoader()).andReturn(getClass().getClassLoader());
+ EasyMock.replay(context);
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getName()).andReturn(SYSTEM_IMPLEMENTATION).atLeastOnce();
+ EasyMock.expect(reader.getAttributeValue((String) EasyMock.isNull(), EasyMock.eq("class")))
+ .andReturn(getClass().getName());
+ EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.START_ELEMENT);
+ EasyMock.expect(reader.getLocation()).andReturn(new MockLocation());
+ EasyMock.replay(reader);
+ SystemImplementationLoader loader = new SystemImplementationLoader(registry);
+ try {
+ loader.load(null, null, reader, context);
+ fail();
+ } catch (UnrecognizedElementException e) {
+ // expected
+ }
+ }
+
+ private class MockLocation implements Location {
+
+ public int getLineNumber() {
+ return 0;
+ }
+
+ public int getColumnNumber() {
+ return 0;
+ }
+
+ public int getCharacterOffset() {
+ return 0;
+ }
+
+ public String getPublicId() {
+ return null;
+ }
+
+ public String getSystemId() {
+ return null;
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/system/loader/SystemImplementationLoaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StAXLoaderRegistryImplTestCase.java Tue Dec 12 11:28:44 2006
@@ -19,6 +19,7 @@
package org.apache.tuscany.core.loader;
import javax.xml.namespace.QName;
+import javax.xml.stream.Location;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -84,6 +85,7 @@
public void testUnsuccessfulDispatch() throws LoaderException, XMLStreamException {
EasyMock.expect(mockReader.getName()).andReturn(name);
+ EasyMock.expect(mockReader.getLocation()).andReturn(new MockLocation());
EasyMock.replay(mockReader);
mockMonitor.elementLoad(EasyMock.eq(name));
EasyMock.replay(mockMonitor);
@@ -127,5 +129,28 @@
mockReader = EasyMock.createMock(XMLStreamReader.class);
modelObject = new ModelObject() {
};
+ }
+
+ private class MockLocation implements Location {
+
+ public int getLineNumber() {
+ return 0;
+ }
+
+ public int getColumnNumber() {
+ return 0;
+ }
+
+ public int getCharacterOffset() {
+ return 0;
+ }
+
+ public String getPublicId() {
+ return null;
+ }
+
+ public String getSystemId() {
+ return null;
+ }
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BindingBuilder.java Tue Dec 12 11:28:44 2006
@@ -35,10 +35,10 @@
*/
public interface BindingBuilder<B extends Binding> {
Service build(CompositeComponent parent,
- BoundServiceDefinition<B> boundServiceDefinition,
- DeploymentContext deploymentContext);
+ BoundServiceDefinition<B> boundServiceDefinition,
+ DeploymentContext deploymentContext) throws BuilderException;
Reference build(CompositeComponent parent,
BoundReferenceDefinition<B> boundReferenceDefinition,
- DeploymentContext deploymentContext);
+ DeploymentContext deploymentContext) throws BuilderException;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java Tue Dec 12 11:28:44 2006
@@ -43,40 +43,39 @@
* @param componentDefinition the component definition as parsed from an SCA assembly
* @param deploymentContext the current deployment context
* @return a newly created component
+ * @throws BuilderException
*/
<I extends Implementation<?>> Component build(CompositeComponent parent,
- ComponentDefinition<I> componentDefinition,
- DeploymentContext deploymentContext);
+ ComponentDefinition<I> componentDefinition,
+ DeploymentContext deploymentContext) throws BuilderException;
/**
* TODO: JavaDoc this when we know if we will still register Services as contexts
*/
<B extends Binding> SCAObject build(CompositeComponent parent,
BoundServiceDefinition<B> boundServiceDefinition,
- DeploymentContext deploymentContext);
+ DeploymentContext deploymentContext) throws BuilderException;
/**
* TODO: JavaDoc this when we know if we will still register References as contexts
*/
<B extends Binding> SCAObject build(CompositeComponent parent,
BoundReferenceDefinition<B> boundReferenceDefinition,
- DeploymentContext deploymentContext);
+ DeploymentContext deploymentContext) throws BuilderException;
/**
- * TODO: Make sure that this method belongs here
- * Allow a builder registry to provide building of bindless services via
- * appropriate registered builder
+ * TODO: Make sure that this method belongs here Allow a builder registry to provide building of bindless services
+ * via appropriate registered builder
*/
SCAObject build(CompositeComponent parent,
- BindlessServiceDefinition serviceDefinition,
- DeploymentContext deploymentContext);
+ BindlessServiceDefinition serviceDefinition,
+ DeploymentContext deploymentContext) throws BuilderException;
/**
- * TODO: Make sure that this method belongs here
- * Allow a builder registry to provide building of targetless references via
- * appropriate registered builder
+ * TODO: Make sure that this method belongs here Allow a builder registry to provide building of targetless
+ * references via appropriate registered builder
*/
SCAObject build(CompositeComponent parent,
- ReferenceDefinition referenceDefinition,
- DeploymentContext deploymentContext);
+ ReferenceDefinition referenceDefinition,
+ DeploymentContext deploymentContext) throws BuilderException;
}
Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java (added)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.spi.builder;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InvalidTargetTypeException extends BuilderConfigException {
+
+
+ public InvalidTargetTypeException() {
+ }
+
+ public InvalidTargetTypeException(String message) {
+ super(message);
+ }
+
+ public InvalidTargetTypeException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public InvalidTargetTypeException(Throwable cause) {
+ super(cause);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/InvalidTargetTypeException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java (added)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.spi.builder;
+
+/**
+ * Denotes a missing wire target in an assembly
+ *
+ * @version $Rev$ $Date$
+ */
+public class MissingTargetException extends BuilderConfigException {
+
+ public MissingTargetException() {
+ }
+
+ public MissingTargetException(String message) {
+ super(message);
+ }
+
+ public MissingTargetException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public MissingTargetException(Throwable cause) {
+ super(cause);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/MissingTargetException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java?view=auto&rev=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java (added)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java Tue Dec 12 11:28:44 2006
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.spi.builder;
+
+/**
+ * Raised when a builder cannot be found for a SCDL entry type
+ *
+ * @version $Rev$ $Date$
+ */
+public class NoRegisteredBuilderException extends BuilderException {
+ public NoRegisteredBuilderException() {
+ }
+
+ public NoRegisteredBuilderException(String message) {
+ super(message);
+ }
+
+ public NoRegisteredBuilderException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public NoRegisteredBuilderException(Throwable cause) {
+ super(cause);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/NoRegisteredBuilderException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/MissingIncludeException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/MissingIncludeException.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/MissingIncludeException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/MissingIncludeException.java Tue Dec 12 11:28:44 2006
@@ -32,4 +32,9 @@
public MissingIncludeException() {
super();
}
+
+
+ public MissingIncludeException(String message) {
+ super(message);
+ }
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/UnrecognizedElementException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/UnrecognizedElementException.java?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/UnrecognizedElementException.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/loader/UnrecognizedElementException.java Tue Dec 12 11:28:44 2006
@@ -37,7 +37,6 @@
*/
public UnrecognizedElementException(QName element) {
super(element.toString());
- setIdentifier(getMessage());
this.element = element;
}
Modified: incubator/tuscany/java/sca/services/transaction/transaction.geronimo/src/main/resources/META-INF/sca/geronimo.jta.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/transaction/transaction.geronimo/src/main/resources/META-INF/sca/geronimo.jta.scdl?view=diff&rev=486286&r1=486285&r2=486286
==============================================================================
--- incubator/tuscany/java/sca/services/transaction/transaction.geronimo/src/main/resources/META-INF/sca/geronimo.jta.scdl (original)
+++ incubator/tuscany/java/sca/services/transaction/transaction.geronimo/src/main/resources/META-INF/sca/geronimo.jta.scdl Tue Dec 12 11:28:44 2006
@@ -24,10 +24,11 @@
xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
name="org.apache.tuscany.transaction.geronimo.JTAExtension">
- <!-- service name="TransactionManagerService">
- <reference>TransactionManager</reference>
+ <service name="TransactionManagerService">
+ <interface.java interface = "javax.transaction.TransactionManager"/>
+ <reference>TransactionManager</reference>
<system:binding.system/>
- </service -->
+ </service>
<dependency xmlns="http://tuscany.apache.org/xmlns/1.0-SNAPSHOT">
<group>org.apache.tuscany.sca.transaction</group>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org