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/03/09 19:38:11 UTC
svn commit: r516501 - in /incubator/tuscany/branches/sca-java-integration:
sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/
sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/
sca/kernel/spi/src/main/java/org/a...
Author: rfeng
Date: Fri Mar 9 10:38:09 2007
New Revision: 516501
URL: http://svn.apache.org/viewvc?view=rev&rev=516501
Log:
[sca-integration-branch] Add the generic builder to support SCDL extensibility elements and switch import.sdo to this capability
Added:
incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java (with props)
incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java (with props)
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java (with props)
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java (with props)
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java
- copied, changed from r515726, incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java (with props)
Removed:
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOObjectFactory.java
Modified:
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java
incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java
incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/DataObject2OMElement.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/XMLDocument2OMElement.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/pom.xml
incubator/tuscany/branches/sca-java-integration/testing/sca/itest/databindings/transformers/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/builder/BuilderRegistryImpl.java Fri Mar 9 10:38:09 2007
@@ -22,14 +22,16 @@
import java.util.HashMap;
import java.util.Map;
-import org.osoa.sca.annotations.EagerInit;
-
+import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
+import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
+import org.apache.tuscany.core.implementation.composite.ServiceImpl;
import org.apache.tuscany.spi.QualifiedName;
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.builder.BindingBuilder;
import org.apache.tuscany.spi.builder.BuilderException;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.builder.ComponentBuilder;
+import org.apache.tuscany.spi.builder.GenericBuilder;
import org.apache.tuscany.spi.builder.MissingWireTargetException;
import org.apache.tuscany.spi.builder.ScopeNotFoundException;
import org.apache.tuscany.spi.component.AtomicComponent;
@@ -37,6 +39,7 @@
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
import org.apache.tuscany.spi.component.ReferenceBinding;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.Service;
@@ -47,19 +50,17 @@
import org.apache.tuscany.spi.model.ComponentType;
import org.apache.tuscany.spi.model.Implementation;
import org.apache.tuscany.spi.model.InteractionScope;
+import org.apache.tuscany.spi.model.ModelObject;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.model.ServiceDefinition;
import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.core.binding.local.LocalBindingDefinition;
-import org.apache.tuscany.core.implementation.composite.ReferenceImpl;
-import org.apache.tuscany.core.implementation.composite.ServiceImpl;
+import org.osoa.sca.annotations.EagerInit;
/**
* The default builder registry in the runtime
- *
+ *
* @version $Rev$ $Date$
*/
@EagerInit
@@ -67,11 +68,12 @@
protected WireService wireService;
protected ScopeRegistry scopeRegistry;
- private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>
- componentBuilders =
+ private final Map<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>> componentBuilders =
new HashMap<Class<? extends Implementation<?>>, ComponentBuilder<? extends Implementation<?>>>();
private final Map<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>> bindingBuilders =
new HashMap<Class<? extends BindingDefinition>, BindingBuilder<? extends BindingDefinition>>();
+ private final Map<Class<? extends ModelObject>, GenericBuilder<? extends SCAObject, ? extends ModelObject>> genericBuilders =
+ new HashMap<Class<? extends ModelObject>, GenericBuilder<? extends SCAObject, ? extends ModelObject>>();
public BuilderRegistryImpl(@Autowire
ScopeRegistry scopeRegistry, @Autowire
@@ -84,7 +86,7 @@
componentBuilders.put(implClass, builder);
}
- public <I extends Implementation<?>> void unregister(Class<I> implClass) {
+ public <I extends Implementation<?>> void unregisterComponentBuilder(Class<I> implClass) {
componentBuilders.remove(implClass);
}
@@ -98,7 +100,7 @@
DeploymentContext context) throws BuilderException {
Class<?> implClass = componentDefinition.getImplementation().getClass();
// noinspection SuspiciousMethodCalls
- ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>) componentBuilders.get(implClass);
+ ComponentBuilder<I> componentBuilder = (ComponentBuilder<I>)componentBuilders.get(implClass);
try {
if (componentBuilder == null) {
String name = implClass.getName();
@@ -128,14 +130,15 @@
if (!hasConversationalContract) {
Map<String, ReferenceDefinition> references = componentType.getReferences();
for (ReferenceDefinition refDef : references.values()) {
- // TODO check for a conversational callback contract
+ // TODO check for a conversational callback
+ // contract
// refDef.getServiceContract() ...
}
}
if (!hasConversationalContract) {
String name = implClass.getName();
- throw new NoConversationalContractException(
- "No conversational contract for conversational implementation", name);
+ throw new NoConversationalContractException("No conversational contract for conversational implementation",
+ name);
}
}
// Now it's ok to set the scope container
@@ -150,8 +153,12 @@
assert componentType != null : "Component type must be set";
// create wires for the component
if (wireService != null && component instanceof AtomicComponent) {
- wireService.createWires((AtomicComponent) component, componentDefinition);
+ wireService.createWires((AtomicComponent)component, componentDefinition);
}
+ // FIXME: Can we merge all the extensions at the component level?
+ buildExtensions(component, componentType, context);
+ buildExtensions(component, componentDefinition.getImplementation(), context);
+ buildExtensions(component, componentDefinition, context);
return component;
} catch (BuilderException e) {
e.addContextName(componentDefinition.getName());
@@ -169,7 +176,8 @@
// if no bindings are configured, default to the local binding.
// this should be changed to allow runtime selection
if (serviceDefinition.getBindings().isEmpty()) {
- // TODO JFM implement capability for the runtime to choose a binding
+ // TODO JFM implement capability for the runtime to choose a
+ // binding
serviceDefinition.addBinding(new LocalBindingDefinition());
}
}
@@ -183,8 +191,7 @@
if (bindingBuilder == null) {
throw new NoRegisteredBuilderException("No builder registered for type", bindingClass.getName());
}
- ServiceBinding binding =
- bindingBuilder.build(parent, serviceDefinition, definition, deploymentContext);
+ ServiceBinding binding = bindingBuilder.build(parent, serviceDefinition, definition, deploymentContext);
if (wireService != null) {
URI uri = serviceDefinition.getTarget();
if (uri == null) {
@@ -194,22 +201,26 @@
ServiceContract<?> contract = serviceDefinition.getServiceContract();
wireService.createWires(binding, contract, path);
}
+ buildExtensions(binding, definition, deploymentContext);
service.addServiceBinding(binding);
}
+ buildExtensions(service, serviceDefinition, deploymentContext);
return service;
}
@SuppressWarnings("unchecked")
- public Reference build(CompositeComponent parent,
- ReferenceDefinition referenceDefinition,
- DeploymentContext context) throws BuilderException {
+ public Reference build(CompositeComponent parent,
+ ReferenceDefinition referenceDefinition,
+ DeploymentContext context)
+ throws BuilderException {
String name = referenceDefinition.getName();
ServiceContract<?> contract = referenceDefinition.getServiceContract();
if (referenceDefinition.getBindings().isEmpty()) {
// if no bindings are configured, default to the local binding.
// this should be changed to allow runtime selection
if (referenceDefinition.getBindings().isEmpty()) {
- // TODO JFM implement capability for the runtime to choose a binding
+ // TODO JFM implement capability for the runtime to choose a
+ // binding
referenceDefinition.addBinding(new LocalBindingDefinition());
}
}
@@ -231,10 +242,50 @@
wireService.createWires(binding, contract, targetName);
}
+ buildExtensions(binding, bindingDefinition, context);
reference.addReferenceBinding(binding);
}
+ buildExtensions(reference, referenceDefinition, context);
return reference;
+ }
+
+ @SuppressWarnings("unchecked")
+ public SCAObject build(SCAObject parent, ModelObject modelObject, DeploymentContext context)
+ throws BuilderException {
+ if (modelObject != null) {
+ GenericBuilder builder = genericBuilders.get(modelObject.getClass());
+ if (builder != null) {
+ return builder.build(parent, modelObject, context);
+ }
+ }
+ return null;
+ }
+
+ // We need to include all the extensions from the include
+ private void buildExtensions(SCAObject parent, ModelObject model, DeploymentContext deploymentContext)
+ throws BuilderException {
+ for (Object o : model.getExtensions().values()) {
+ if (o instanceof ModelObject) {
+ SCAObject scaObject = build(parent, (ModelObject)o, deploymentContext);
+ if (scaObject != null) {
+ parent.getExtensions().put(scaObject.getName(), scaObject);
+ }
+ }
+ }
+ }
+
+ public <S extends SCAObject, M extends ModelObject> void register(Class<M> modelClass,
+ GenericBuilder<S, M> builder) {
+ genericBuilders.put(modelClass, builder);
+ }
+
+ public <B extends BindingDefinition> void unregisterBindingBuilder(Class<B> implClass) {
+ bindingBuilders.remove(implClass);
+ }
+
+ public <M extends ModelObject> void unregisterGenericBuilder(Class<M> modelClass) {
+ genericBuilders.remove(modelClass);
}
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/AbstractCompositeBuilder.java Fri Mar 9 10:38:09 2007
@@ -6,23 +6,24 @@
import org.apache.tuscany.spi.component.ComponentRegistrationException;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.CompositeComponentType;
import org.apache.tuscany.spi.model.Implementation;
-import org.apache.tuscany.spi.model.Include;
+import org.apache.tuscany.spi.model.ModelObject;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ServiceDefinition;
/**
* Abstract builder for composites
- *
+ *
* @version $Rev$ $Date$
*/
-public abstract class AbstractCompositeBuilder<T extends Implementation<CompositeComponentType>>
- extends ComponentBuilderExtension<T> {
+public abstract class AbstractCompositeBuilder<T extends Implementation<CompositeComponentType>> extends
+ ComponentBuilderExtension<T> {
public CompositeComponent build(CompositeComponent parent,
CompositeComponent component,
@@ -53,16 +54,7 @@
throw new BuilderInstantiationException("Error registering reference", e);
}
}
- addExtensions(component, componentType);
return component;
- }
-
- // We need to include all the extensions from the include
- private void addExtensions(CompositeComponent component, CompositeComponentType<?, ?, ?> componentType) {
- component.getExtensions().putAll(componentType.getExtensions());
- for (Include include : componentType.getIncludes().values()) {
- addExtensions(component, include.getIncluded());
- }
}
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Fri Mar 9 10:38:09 2007
@@ -121,7 +121,7 @@
} else {
// add as an unknown model extension
if (o != null) {
- composite.getExtensions().put(o.getClass(), o);
+ composite.getDeclaredExtensions().put(o.getClass(), o);
}
}
reader.next();
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/Builder.java Fri Mar 9 10:38:09 2007
@@ -21,10 +21,12 @@
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.Reference;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.component.Service;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.model.ComponentDefinition;
import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.model.ModelObject;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ServiceDefinition;
@@ -71,4 +73,14 @@
Reference build(CompositeComponent parent, ReferenceDefinition definition, DeploymentContext context)
throws BuilderException;
+ /**
+ * Builds a <code>SCAObject</code>
+ * @param parent
+ * @param modelObject
+ * @param context
+ * @return
+ * @throws BuilderException
+ */
+ SCAObject build(SCAObject parent, ModelObject modelObject, DeploymentContext context)
+ throws BuilderException;
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/BuilderRegistry.java Fri Mar 9 10:38:09 2007
@@ -18,38 +18,68 @@
*/
package org.apache.tuscany.spi.builder;
+import org.apache.tuscany.spi.component.SCAObject;
import org.apache.tuscany.spi.model.BindingDefinition;
import org.apache.tuscany.spi.model.Implementation;
+import org.apache.tuscany.spi.model.ModelObject;
/**
- * Maintains a registry of builders in the runtime, dispatching to the appropriate one as an assembly model is processed
- * into runtime artifacts
- *
+ * Maintains a registry of builders in the runtime, dispatching to the
+ * appropriate one as an assembly model is processed into runtime artifacts
+ *
* @version $Rev$ $Date$
*/
public interface BuilderRegistry extends Builder {
/**
* Register a builder for an implementation type.
- *
+ *
* @param implClass the type of implementation that this builder can handle
- * @param builder the builder to be registered
+ * @param builder the builder to be registered
*/
<I extends Implementation<?>> void register(Class<I> implClass, ComponentBuilder<I> builder);
/**
* Unregister a builder for an implementation type.
- *
+ *
* @param implClass the implementation whose builder should be unregistered
*/
- <I extends Implementation<?>> void unregister(Class<I> implClass);
+ <I extends Implementation<?>> void unregisterComponentBuilder(Class<I> implClass);
+
+ // FIXME: We need to provide unregister() for other builders
/**
* Register a binding builder for a binding type
- *
+ *
* @param implClass the binding type
- * @param builder the buinder to be registered
+ * @param builder the buinder to be registered
*/
<B extends BindingDefinition> void register(Class<B> implClass, BindingBuilder<B> builder);
+
+ /**
+ * Unregister a binding builder
+ *
+ * @param <B>
+ * @param implClass the binding type
+ */
+ <B extends BindingDefinition> void unregisterBindingBuilder(Class<B> implClass);
+
+ /**
+ * Register a generic builder for a model type
+ *
+ * @param <S>
+ * @param <M>
+ * @param modelClass
+ * @param builder
+ */
+ <S extends SCAObject, M extends ModelObject> void register(Class<M> modelClass, GenericBuilder<S, M> builder);
+
+ /**
+ * Unregister a generic builder
+ *
+ * @param <M>
+ * @param modelClass The model type
+ */
+ <M extends ModelObject> void unregisterGenericBuilder(Class<M> modelClass);
}
Added: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java?view=auto&rev=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java Fri Mar 9 10:38:09 2007
@@ -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;
+
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.model.ModelObject;
+
+/**
+ * Responsible for building a {@link SCAObject} from an extensibility element in
+ * the SCDL
+ *
+ * @version $Rev$ $Date$
+ */
+public interface GenericBuilder<S extends SCAObject, M extends ModelObject> {
+ /**
+ * Build a SCAObject from an extensibility element in the SCDL
+ *
+ * @param parent The parent SCAObject
+ * @param modelObject The model object
+ * @param deploymentContext The deployment context
+ * @return A SCAObject representing the runtime metdata for the extension
+ * @throws BuilderException
+ */
+ S build(SCAObject parent, M modelObject, DeploymentContext deploymentContext) throws BuilderException;
+}
Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/builder/GenericBuilder.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java?view=auto&rev=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java Fri Mar 9 10:38:09 2007
@@ -0,0 +1,52 @@
+/*
+ * 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.extension;
+
+import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.builder.BuilderRegistry;
+import org.apache.tuscany.spi.builder.GenericBuilder;
+import org.apache.tuscany.spi.component.SCAObject;
+import org.apache.tuscany.spi.model.ModelObject;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Init;
+
+/**
+ * An extension point for generic builders which can deal with SCDL
+ * extensibility elements
+ *
+ * @version $$Rev$$ $$Date$$
+ */
+@EagerInit
+public abstract class GenericBuilderExtension<S extends SCAObject, M extends ModelObject> implements
+ GenericBuilder<S, M> {
+
+ protected BuilderRegistry builderRegistry;
+
+ @Autowire
+ public void setBuilderRegistry(BuilderRegistry registry) {
+ this.builderRegistry = registry;
+ }
+
+ @Init
+ public void init() {
+ builderRegistry.register(getModelType(), this);
+ }
+
+ protected abstract Class<M> getModelType();
+}
Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/GenericBuilderExtension.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java Fri Mar 9 10:38:09 2007
@@ -171,4 +171,18 @@
public void add(Include include) {
includes.put(include.getName(), include);
}
+
+ public Map<Object, Object> getDeclaredExtensions() {
+ return super.getExtensions();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Map<Object, Object> getExtensions() {
+ Map<Object, Object> view = new HashMap<Object, Object>(super.getExtensions());
+ for (Include i : includes.values()) {
+ view.putAll(i.getIncluded().getExtensions());
+ }
+ return Collections.unmodifiableMap(view);
+ }
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/DataObject2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/DataObject2OMElement.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/DataObject2OMElement.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/DataObject2OMElement.java Fri Mar 9 10:38:09 2007
@@ -24,7 +24,7 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
-import org.apache.tuscany.databinding.sdo.SDODataTypeHelper;
+import org.apache.tuscany.databinding.sdo.SDOContextHelper;
import org.apache.tuscany.spi.databinding.PullTransformer;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
@@ -46,7 +46,7 @@
PullTransformer<DataObject, OMElement> {
public OMElement transform(DataObject source, TransformationContext context) {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
SDODataSource dataSource = new SDODataSource(source, helperContext);
OMFactory factory = OMAbstractFactory.getOMFactory();
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/XMLDocument2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/XMLDocument2OMElement.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/XMLDocument2OMElement.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo-axiom/src/main/java/org/apache/tuscany/databinding/sdo2om/XMLDocument2OMElement.java Fri Mar 9 10:38:09 2007
@@ -22,7 +22,7 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
-import org.apache.tuscany.databinding.sdo.SDODataTypeHelper;
+import org.apache.tuscany.databinding.sdo.SDOContextHelper;
import org.apache.tuscany.spi.databinding.PullTransformer;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
@@ -41,7 +41,7 @@
PullTransformer<XMLDocument, OMElement> {
public OMElement transform(XMLDocument source, TransformationContext context) {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
SDODataSource dataSource = new SDODataSource(source, helperContext);
OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace namespace = factory.createOMNamespace(source.getRootElementURI(), source.getRootElementName());
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2String.java Fri Mar 9 10:38:09 2007
@@ -37,9 +37,9 @@
public String transform(DataObject source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLHelper xmlHelper = helperContext.getXMLHelper();
- QName elementName = SDODataTypeHelper.getElement(context.getSourceDataType());
+ QName elementName = SDOContextHelper.getElement(context.getSourceDataType());
return xmlHelper.save(source, elementName.getNamespaceURI(), elementName.getLocalPart());
} catch (Exception e) {
throw new TransformationException(e);
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObject2XMLStreamReader.java Fri Mar 9 10:38:09 2007
@@ -42,9 +42,9 @@
public XMLStreamReader transform(DataObject source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext.getTypeHelper());
- QName elementName = SDODataTypeHelper.getElement(context.getSourceDataType());
+ QName elementName = SDOContextHelper.getElement(context.getSourceDataType());
XMLHelper xmlHelper = helperContext.getXMLHelper();
XMLDocument document =
xmlHelper.createDocument(source, elementName.getNamespaceURI(), elementName.getLocalPart());
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/DataObjectLoader.java Fri Mar 9 10:38:09 2007
@@ -24,49 +24,40 @@
import org.apache.tuscany.sdo.helper.XMLStreamHelper;
import org.apache.tuscany.sdo.util.SDOUtil;
+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.StAXElementLoader;
import org.apache.tuscany.spi.model.ModelObject;
-import org.apache.tuscany.spi.annotation.Autowire;
import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Property;
import commonj.sdo.DataObject;
-import commonj.sdo.Property;
import commonj.sdo.helper.HelperContext;
import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Destroy;
/**
* A SDO model-based Loader to load DataObject from the XML stream
- *
*/
@EagerInit
-public class DataObjectLoader implements StAXElementLoader<ModelObject> {
- protected LoaderRegistry registry;
- private QName propertyQName;
-
- public DataObjectLoader(Property property) {
- super();
- this.propertyQName = new QName(XSDHelper.INSTANCE.getNamespaceURI(property),
- XSDHelper.INSTANCE.getLocalName(property));
- }
-
- public DataObjectLoader(QName propertyQName) {
- super();
- this.propertyQName = propertyQName;
- }
+public class DataObjectLoader extends LoaderExtension<ModelDataObject> {
+ private QName elementName;
- public ModelObject load(CompositeComponent parent,
- ModelObject object,
- XMLStreamReader reader,
- DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
- assert propertyQName.equals(reader.getName());
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(object);
+ public DataObjectLoader(@Autowire LoaderRegistry registry,
+ @Property(name = "namespace", required = true) String namespace,
+ @Property(name = "name", required = true) String name) {
+ super(registry);
+ this.elementName = new QName(namespace, name);
+ }
+
+ public ModelDataObject load(CompositeComponent parent,
+ ModelObject object,
+ XMLStreamReader reader,
+ DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
+ assert elementName.equals(reader.getName());
+ HelperContext helperContext = SDOContextHelper.getHelperContext(object);
TypeHelper typeHelper = helperContext.getTypeHelper();
XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(typeHelper);
DataObject dataObject = streamHelper.loadObject(reader);
@@ -74,20 +65,9 @@
return new ModelDataObject(dataObject);
}
- @Autowire
- public void setRegistry(LoaderRegistry registry) {
- this.registry = registry;
+ @Override
+ public QName getXMLType() {
+ return elementName;
}
-
- @Init
- public void start() {
- registry.registerLoader(propertyQName, this);
- }
-
- @Destroy
- public void stop() {
- registry.unregisterLoader(propertyQName, this);
- }
-
}
Added: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java?view=auto&rev=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java Fri Mar 9 10:38:09 2007
@@ -0,0 +1,47 @@
+/*
+ * 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.databinding.sdo;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.spi.model.ModelObject;
+
+import commonj.sdo.helper.HelperContext;
+
+/**
+ * The model object for import.sdo
+ *
+ * @version $Rev$ $Date$
+ */
+public class ImportSDO extends ModelObject {
+ public static final QName IMPORT_SDO =
+ new QName("http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0", "import.sdo");
+
+ private HelperContext helperContext;
+
+ public ImportSDO(HelperContext helperContext) {
+ super();
+ this.helperContext = helperContext;
+ }
+
+ public HelperContext getHelperContext() {
+ return helperContext;
+ }
+}
\ No newline at end of file
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDO.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java?view=auto&rev=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java Fri Mar 9 10:38:09 2007
@@ -0,0 +1,57 @@
+/*
+ * 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.databinding.sdo;
+
+import org.apache.tuscany.spi.builder.BuilderException;
+import org.apache.tuscany.spi.component.ComponentRegistrationException;
+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.GenericBuilderExtension;
+
+import commonj.sdo.helper.HelperContext;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ImportSDOBuilder extends GenericBuilderExtension<SCAObject, ImportSDO> {
+
+ @Override
+ protected Class<ImportSDO> getModelType() {
+ return ImportSDO.class;
+ }
+
+ public SCAObject build(SCAObject parent, ImportSDO modelObject, DeploymentContext deploymentContext)
+ throws BuilderException {
+ if (parent instanceof CompositeComponent) {
+ CompositeComponent component = (CompositeComponent)parent;
+ SDOHelperContext obj = new SDOHelperContext(component, modelObject.getHelperContext());
+ try {
+ component.registerJavaObject(obj.getName(), HelperContext.class, obj.getHelperContext());
+ } catch (ComponentRegistrationException e) {
+ throw new IllegalArgumentException(e);
+ }
+ return obj;
+ } else {
+ return null;
+ }
+ }
+
+}
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOBuilder.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java Fri Mar 9 10:38:09 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.databinding.sdo;
+import static org.apache.tuscany.databinding.sdo.ImportSDO.IMPORT_SDO;
+
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
@@ -49,8 +51,6 @@
* @version $Rev$ $Date$
*/
public class ImportSDOLoader extends LoaderExtension {
- public static final QName IMPORT_SDO =
- new QName("http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0", "import.sdo");
@Constructor({"registry"})
public ImportSDOLoader(@Autowire LoaderRegistry registry) {
@@ -69,12 +69,12 @@
// FIXME: [rfeng] How to associate the TypeHelper with deployment
// context?
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(object);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(object);
importFactory(reader, deploymentContext, helperContext);
importWSDL(reader, deploymentContext, helperContext);
LoaderUtil.skipToEndElement(reader);
- return new SDOType(helperContext);
+ return new ImportSDO(helperContext);
}
private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)
@@ -100,7 +100,6 @@
Field field = factoryClass.getField("INSTANCE");
Object factory = field.get(null);
Method method = factory.getClass().getMethod("register", new Class[] {HelperContext.class});
-
method.invoke(factory, new Object[] {helperContext});
// FIXME: How do we associate the application HelperContext with the one
@@ -140,19 +139,6 @@
sfe.setResourceURI(location);
throw sfe;
}
- }
- }
-
- public static class SDOType extends ModelObject {
- private HelperContext helperContext;
-
- public SDOType(HelperContext helperContext) {
- super();
- this.helperContext = helperContext;
- }
-
- public HelperContext getHelperContext() {
- return helperContext;
}
}
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ModelDataObject.java Fri Mar 9 10:38:09 2007
@@ -22,6 +22,11 @@
import commonj.sdo.DataObject;
+/**
+ * Wrapper of DataObject as a ModelObject
+ *
+ * @version $Rev$ $Date$
+ */
public class ModelDataObject extends ModelObject {
private DataObject dataObject;
Copied: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java (from r515726, incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java?view=diff&rev=516501&p1=incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java&r1=515726&p2=incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataTypeHelper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOContextHelper.java Fri Mar 9 10:38:09 2007
@@ -21,11 +21,13 @@
import javax.xml.namespace.QName;
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
import org.apache.tuscany.sdo.util.SDOUtil;
+import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.TargetResolutionException;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.idl.XMLType;
+import org.apache.tuscany.spi.model.CompositeComponentType;
import org.apache.tuscany.spi.model.DataType;
import org.apache.tuscany.spi.model.ModelObject;
@@ -35,8 +37,8 @@
/**
* Helper class to get TypeHelper from the context
*/
-public final class SDODataTypeHelper {
- private SDODataTypeHelper() {
+public final class SDOContextHelper {
+ private SDOContextHelper() {
}
public static HelperContext getHelperContext(TransformationContext context) {
@@ -46,9 +48,16 @@
HelperContext helperContext = null;
CompositeComponent composite = (CompositeComponent)context.getMetadata().get(CompositeComponent.class);
if (composite != null) {
- SDOType sdoType = (SDOType)composite.getExtensions().get(SDOType.class);
- if (sdoType != null) {
- helperContext = sdoType.getHelperContext();
+ SDOHelperContext sdoContext =
+ (SDOHelperContext)composite.getExtensions().get(HelperContext.class.getName());
+ if (sdoContext != null) {
+ helperContext = sdoContext.getHelperContext();
+ }
+ AtomicComponent child = (AtomicComponent)composite.getSystemChild(HelperContext.class.getName());
+ try {
+ helperContext = (HelperContext)child.getTargetInstance();
+ } catch (TargetResolutionException e) {
+ throw new IllegalArgumentException(e);
}
}
if (helperContext == null) {
@@ -58,15 +67,17 @@
}
}
- public static HelperContext getHelperContext(ModelObject composite) {
+ public static HelperContext getHelperContext(ModelObject model) {
HelperContext helperContext = null;
- if (composite != null) {
- // HACK: Retrieve the SDO HelperContext from the CompositeComponent
+ if (model instanceof CompositeComponentType) {
+ // HACK: Retrieve the SDO HelperContext from the
+ // CompositeComponentType
// extensions
- helperContext = (HelperContext)composite.getExtensions().get(HelperContext.class.getName());
+ helperContext = (HelperContext)model.getExtensions().get(ImportSDO.IMPORT_SDO);
if (helperContext == null) {
helperContext = SDOUtil.createHelperContext();
- composite.getExtensions().put(HelperContext.class.getName(), helperContext);
+ ((CompositeComponentType<?, ?, ?>)model).getDeclaredExtensions().put(HelperContext.class.getName(),
+ helperContext);
}
}
Added: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java?view=auto&rev=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java (added)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java Fri Mar 9 10:38:09 2007
@@ -0,0 +1,48 @@
+/*
+ * 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.databinding.sdo;
+
+import org.apache.tuscany.spi.component.AbstractSCAObject;
+import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.model.Scope;
+
+import commonj.sdo.helper.HelperContext;
+
+public class SDOHelperContext extends AbstractSCAObject {
+ private HelperContext helperContext;
+
+ /**
+ * @param name
+ * @param parent
+ */
+ public SDOHelperContext(CompositeComponent parent, HelperContext helperContext) {
+ super(HelperContext.class.getName(), parent);
+ this.helperContext = helperContext;
+ }
+
+ public Scope getScope() {
+ return Scope.COMPOSITE;
+ }
+
+ public HelperContext getHelperContext() {
+ return helperContext;
+ }
+
+}
\ No newline at end of file
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOHelperContext.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOSimpleTypeMapper.java Fri Mar 9 10:38:09 2007
@@ -24,7 +24,6 @@
import org.apache.tuscany.sdo.util.SDOUtil;
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.idl.TypeInfo;
import commonj.sdo.Type;
import commonj.sdo.helper.HelperContext;
@@ -45,7 +44,7 @@
if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
type = SDOUtil.getXSDSDOType(typeName.getLocalPart());
} else {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
TypeHelper typeHelper = helperContext.getTypeHelper();
type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart());
}
@@ -57,7 +56,7 @@
if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) {
type = SDOUtil.getXSDSDOType(typeName.getLocalPart());
} else {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
TypeHelper typeHelper = helperContext.getTypeHelper();
type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart());
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOWrapperHandler.java Fri Mar 9 10:38:09 2007
@@ -44,7 +44,7 @@
* TransformationContext)
*/
public Object create(ElementInfo element, TransformationContext context) {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
QName typeName = element.getType().getQName();
DataFactory dataFactory = helperContext.getDataFactory();
DataObject root = dataFactory.create(typeName.getNamespaceURI(), typeName.getLocalPart());
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/String2DataObject.java Fri Mar 9 10:38:09 2007
@@ -35,7 +35,7 @@
public DataObject transform(String source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLHelper xmlHelper = helperContext.getXMLHelper();
return xmlHelper.load(source).getRootObject();
} catch (Exception e) {
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2String.java Fri Mar 9 10:38:09 2007
@@ -37,7 +37,7 @@
public String transform(XMLDocument source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLHelper xmlHelper = helperContext.getXMLHelper();
StringWriter writer = new StringWriter();
xmlHelper.save(source, writer, null);
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLDocument2XMLStreamReader.java Fri Mar 9 10:38:09 2007
@@ -43,7 +43,7 @@
*/
public XMLStreamReader transform(XMLDocument source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext.getTypeHelper());
return streamHelper.createXMLStreamReader(source);
} catch (XMLStreamException e) {
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2DataObject.java Fri Mar 9 10:38:09 2007
@@ -39,7 +39,7 @@
public DataObject transform(XMLStreamReader source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext.getTypeHelper());
// The XMLStreamHelper requires that the reader is posistioned at
// START_ELEMENT
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java Fri Mar 9 10:38:09 2007
@@ -38,7 +38,7 @@
public XMLDocument transform(XMLStreamReader source, TransformationContext context) {
try {
- HelperContext helperContext = SDODataTypeHelper.getHelperContext(context);
+ HelperContext helperContext = SDOContextHelper.getHelperContext(context);
XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext.getTypeHelper());
return streamHelper.load(source);
} catch (Exception e) {
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/resources/META-INF/sca/databinding.sdo.scdl Fri Mar 9 10:38:09 2007
@@ -38,7 +38,7 @@
<component name="elementLoader.import.sdo">
<system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
</component>
-
+
<component name="databinding.sdo">
<system:implementation.system class="org.apache.tuscany.databinding.sdo.SDODataBinding" />
</component>
@@ -63,6 +63,10 @@
</component>
<component name="transformer.XMLStreamReader2XMLDocument">
<system:implementation.system class="org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument"/>
+ </component>
+
+ <component name="sdotype.builder">
+ <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOBuilder"/>
</component>
</composite>
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/DataObjectLoaderTestCase.java Fri Mar 9 10:38:09 2007
@@ -42,8 +42,7 @@
private QName name = new QName("http://www.osoa.org/xmlns/mock/0.9", "implementation.mock");
private String xml =
- "<module name=\"m\" xmlns=\"http://www.osoa.org/xmlns/sca/0.9\" "
- + "xmlns:mock=\"http://www.osoa.org/xmlns/mock/0.9\" "
+ "<module name=\"m\" xmlns=\"http://www.osoa.org/xmlns/sca/0.9\" " + "xmlns:mock=\"http://www.osoa.org/xmlns/mock/0.9\" "
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+ "xsi:schemaLocation=\"http://www.osoa.org/xmlns/mock/0.9 "
+ "sca-implementation-mock.xsd http://www.osoa.org/xmlns/sca/0.9 sca-core.xsd \">"
@@ -66,7 +65,7 @@
while (!(event == XMLStreamConstants.START_ELEMENT && reader.getName().equals(name)) && reader.hasNext()) {
event = reader.nextTag();
}
- DataObjectLoader loader = new DataObjectLoader(name);
+ DataObjectLoader loader = new DataObjectLoader(null, name.getNamespaceURI(), name.getLocalPart());
DeploymentContext context =
new RootDeploymentContext(getClass().getClassLoader(), inputFactory, new CompositeScopeContainer(null),
null);
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/org/apache/tuscany/databinding/sdo/ImportSDOLoaderTestCase.java Fri Mar 9 10:38:09 2007
@@ -27,7 +27,6 @@
import junit.framework.TestCase;
import org.apache.tuscany.core.deployer.RootDeploymentContext;
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.loader.LoaderException;
@@ -46,13 +45,13 @@
public void testMinimal() throws XMLStreamException, LoaderException {
String xml = "<import.sdo xmlns='http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0'/>";
XMLStreamReader reader = getReader(xml);
- assertTrue(loader.load(null, null, reader, deploymentContext) instanceof SDOType);
+ assertTrue(loader.load(null, null, reader, deploymentContext) instanceof ImportSDO);
}
public void testLocation() throws XMLStreamException, LoaderException {
String xml = "<import.sdo xmlns='http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0' location='ipo.xsd'/>";
XMLStreamReader reader = getReader(xml);
- assertTrue(loader.load(null, null, reader, deploymentContext) instanceof SDOType);
+ assertTrue(loader.load(null, null, reader, deploymentContext) instanceof ImportSDO);
}
public void testFactory() throws XMLStreamException, LoaderException {
@@ -60,7 +59,7 @@
+ "factory='org.apache.tuscany.databinding.sdo.ImportSDOLoaderTestCase$MockFactory'/>";
XMLStreamReader reader = getReader(xml);
assertFalse(inited);
- assertTrue(loader.load(null, null, reader, deploymentContext) instanceof SDOType);
+ assertTrue(loader.load(null, null, reader, deploymentContext) instanceof ImportSDO);
assertTrue(inited);
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/pom.xml?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/pom.xml Fri Mar 9 10:38:09 2007
@@ -40,6 +40,7 @@
<modules>
<module>databinding-jaxb</module>
<module>databinding-sdo</module>
+ <module>databinding-sdo-axiom</module>
</modules>
</profile>
@@ -49,6 +50,7 @@
<module>databinding-jaxb</module>
<module>databinding-sdo</module>
<module>databinding-xmlbeans</module>
+ <module>databinding-sdo-axiom</module>
</modules>
</profile>
@@ -58,6 +60,7 @@
<module>databinding-jaxb</module>
<module>databinding-sdo</module>
<module>databinding-xmlbeans</module>
+ <module>databinding-sdo-axiom</module>
</modules>
</profile>
Modified: incubator/tuscany/branches/sca-java-integration/testing/sca/itest/databindings/transformers/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/testing/sca/itest/databindings/transformers/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java?view=diff&rev=516501&r1=516500&r2=516501
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/testing/sca/itest/databindings/transformers/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/testing/sca/itest/databindings/transformers/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java Fri Mar 9 10:38:09 2007
@@ -51,7 +51,6 @@
import org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader;
import org.apache.tuscany.databinding.sdo.XMLStreamReader2DataObject;
import org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument;
-import org.apache.tuscany.databinding.sdo.ImportSDOLoader.SDOType;
import org.apache.tuscany.databinding.xmlbeans.Node2XmlObject;
import org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject;
import org.apache.tuscany.databinding.xmlbeans.XmlObject2Node;
@@ -167,7 +166,7 @@
System.out.println("Path: " + path);
TransformationContext tContext = createTransformationContext();
- tContext.getMetadata().put(SDOType.class, new SDOType(helperContext));
+ // tContext.getMetadata().put(ImportSDO.class, new ImportSDO(helperContext));
Object result = object;
for (Transformer transformer : path) {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org