I'm getting a build failure as IDLTransformerTestCase fails now. Is there
something else needed to be checked in or that I should update?

Running
org.apache.tuscany.core.databinding.transformers.IDLTransformerTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.109 sec
<<< FAILURE!
testTransform(
org.apache.tuscany.core.databinding.transformers.IDLTransformerTestCase)
Time elapsed: 0.062 sec  <<< ERROR!
org.apache.tuscany.spi.databinding.TransformationException: No wrapper
handler is provided for databinding: null
       at
org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.getWrapperHandler
(Input2InputTransformer.java:194)
       at
org.apache.tuscany.core.databinding.transformers.Input2InputTransformer.transform
(Input2InputTransformer.java:105)
       at
org.apache.tuscany.core.databinding.transformers.IDLTransformerTestCase.testTransform
(IDLTransformerTestCase.java:200)

  ...ant

On 4/13/07, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi,

With this check-in, the echo binding reference sample is working again.
You
can start to try other samples.

Thanks,
Raymond

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, April 13, 2007 10:49 AM
Subject: svn commit: r528566 - in /incubator/tuscany/java/sca:
modules/core/src/main/java/org/apache/tuscany/core/deployer/

modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/
modules/interface/src/main/java/org/apa...


> Author: rfeng
> Date: Fri Apr 13 10:49:14 2007
> New Revision: 528566
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=528566
> Log:
> Add the logic to deal with promoted component reference and bring up the
> echo-binding sample
>
> Modified:
>
>
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
>
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
>
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoConfiguration.java
>
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java
>
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
>
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoBuilder.java
>
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoReference.java
>
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/java/org/apache/tuscany/binding/echo/EchoBindingTestCase.java
>
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/resources/EchoBinding.composite
>
> Modified:
>
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
> (original)
> +++
>
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/deployer/DeployerImpl.java
> Fri Apr 13 10:49:14 2007
> @@ -191,44 +191,74 @@
>         for (ComponentReference ref : definition.getReferences()) {
>             List<Wire> wires = new ArrayList<Wire>();
>             String refName = ref.getName();
> -            org.apache.tuscany.assembly.Reference refDefinition =
> getReference(definition.getImplementation(), refName);
> +            org.apache.tuscany.assembly.Reference refDefinition =
> ref.getReference();
>             assert refDefinition != null;
> -            List<ComponentService> services = ref.getTargets();
> -            for (ComponentService service : services) {
> -                org.apache.tuscany.assembly.Component targetCompoent =
> service.getBinding(SCABinding.class)
> -                    .getComponent();
> -                Component target = (Component)getSCAObject(models,
> targetCompoent);
> -                URI targetUri = URI.create(target.getUri() + "#" +
> service.getName());
> -                if (target == null && (refDefinition.getMultiplicity()
==
> Multiplicity.ZERO_ONE || refDefinition
> -                        .getMultiplicity() == Multiplicity.ZERO_N)) {
> -                    // a non-required reference, just skip
> -                    continue;
> +            List<CompositeReference> promoted = ref.promotedAs();
> +            if (!promoted.isEmpty()) {
> +                // TODO: Assume a component reference can only be
> promoted by at
> +                // most one composite reference
> +                CompositeReference compositeReference = promoted.get
(0);
> +                Reference target = (Reference)getSCAObject(models,
> compositeReference);
> +                // FIXME: Assume we only have one binding
> +                ReferenceBinding binding =
> target.getReferenceBindings().get(0);
> +                URI targetUri = binding.getTargetUri();
> +                InterfaceContract contract =
> binding.getBindingInterfaceContract();
> +                if (contract == null) {
> +                    contract = refDefinition.getInterfaceContract();
>                 }
> -                if (target == null) {
> -                    throw new ComponentNotFoundException("Target not
> found", targetUri);
> -                }
> -                URI sourceURI = URI.create(source.getUri() + "#" +
> refName);
> +                QName type = binding.getBindingType();
> +                URI sourceUri = URI.create(source.getUri() + "#" +
> refName);
>                 Wire wire;
>                 try {
> -                    wire = createWire(sourceURI, targetUri,
> refDefinition.getInterfaceContract(), service.getService()
> -                        .getInterfaceContract(), Wire.LOCAL_BINDING);
> +                    wire = createWire(sourceUri, targetUri,
> refDefinition.getInterfaceContract(), contract, type);
>                 } catch (IncompatibleInterfaceContractException e1) {
> -                    throw new
IncompatibleInterfacesException(sourceURI,
> targetUri, e1);
> +                    throw new IllegalStateException(e1);
>                 }
> +                binding.setWire(wire);
>                 try {
> -                    attachInvokers(refName, wire, source, target);
> +                    attachInvokers(targetUri.getFragment(), wire,
> binding, binding);
>                 } catch (TargetInvokerCreationException e) {
> -                    throw new WireCreationException("Error creating
> invoker", sourceURI, targetUri, e);
> +                    throw new WireCreationException("Error creating
> invoker", sourceUri, targetUri, e);
>                 }
> +                wires.add(wire);
> +            } else {
> +                List<ComponentService> services = ref.getTargets();
> +                for (ComponentService service : services) {
> +                    org.apache.tuscany.assembly.ComponenttargetCompoent
> = service.getBinding(SCABinding.class)
> +                        .getComponent();
> +                    Component target = (Component)getSCAObject(models,
> targetCompoent);
> +                    URI targetUri = URI.create(target.getUri() + "#" +
> service.getName());
> +                    if (target == null &&
> (refDefinition.getMultiplicity() == Multiplicity.ZERO_ONE ||
refDefinition
> +                            .getMultiplicity() == Multiplicity.ZERO_N))
{
> +                        // a non-required reference, just skip
> +                        continue;
> +                    }
> +                    if (target == null) {
> +                        throw new ComponentNotFoundException("Target
not
> found", targetUri);
> +                    }
> +                    URI sourceURI = URI.create(source.getUri() + "#" +
> refName);
> +                    Wire wire;
> +                    try {
> +                        wire = createWire(sourceURI, targetUri,
> refDefinition.getInterfaceContract(), service
> +                            .getService().getInterfaceContract(),
> Wire.LOCAL_BINDING);
> +                    } catch (IncompatibleInterfaceContractException e1)
{
> +                        throw new
> IncompatibleInterfacesException(sourceURI, targetUri, e1);
> +                    }
> +                    try {
> +                        attachInvokers(refName, wire, source, target);
> +                    } catch (TargetInvokerCreationException e) {
> +                        throw new WireCreationException("Error creating
> invoker", sourceURI, targetUri, e);
> +                    }
>
> -                if (postProcessorRegistry != null) {
> -                    postProcessorRegistry.process(wire);
> -                }
> +                    if (postProcessorRegistry != null) {
> +                        postProcessorRegistry.process(wire);
> +                    }
>
> -                optimize(source, target, wire);
> -                wires.add(wire);
> -                if (!wire.getCallbackInvocationChains().isEmpty()) {
> -                    target.attachCallbackWire(wire);
> +                    optimize(source, target, wire);
> +                    wires.add(wire);
> +                    if (!wire.getCallbackInvocationChains().isEmpty())
{
> +                        target.attachCallbackWire(wire);
> +                    }
>                 }
>             }
>             if (wires.size() > 1) {
>
> Modified:
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
> (original)
> +++
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
> Fri Apr 13 10:49:14 2007
> @@ -198,14 +198,18 @@
>                 }
>                 JavaElement element = entry.getValue();
>                 ObjectFactory<?> factory = new
> CallbackWireObjectFactory(element.getType(), proxyService, wires);
> -                configuration.getInjectionSites().add(element);
> +                if (!(element.getAnchor() instanceof Constructor)) {
> +                    configuration.getInjectionSites().add(element);
> +                }
>                 configuration.setObjectFactory(element, factory);
>             }
>         }
>         for (Reference ref :
> configuration.getDefinition().getReferences()) {
>             JavaElement element =
> configuration.getDefinition().getReferenceMembers().get(ref.getName());
>             if (element != null) {
> -                configuration.getInjectionSites().add(element);
> +                if (!(element.getAnchor() instanceof Constructor)) {
> +                    configuration.getInjectionSites().add(element);
> +                }
>                 List<Wire> wireList = wires.get(ref.getName());
>                 if (ref.getMultiplicity() == Multiplicity.ONE_N ||
> ref.getMultiplicity() == Multiplicity.ZERO_N) {
>                     List<ObjectFactory<?>> factories = new
> ArrayList<ObjectFactory<?>>();
> @@ -380,7 +384,6 @@
>         return null;
>     }
>
> -
>     protected abstract <B> ObjectFactory<B> createWireFactory(Class<B>
> interfaze, Wire wire);
>
>     /**
>
> Modified:
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoConfiguration.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoConfiguration.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoConfiguration.java
> (original)
> +++
>
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoConfiguration.java
> Fri Apr 13 10:49:14 2007
> @@ -21,6 +21,7 @@
> import java.lang.annotation.ElementType;
> import java.lang.reflect.Constructor;
> import java.lang.reflect.Field;
> +import java.lang.reflect.Member;
> import java.lang.reflect.Method;
> import java.net.URI;
> import java.util.ArrayList;
> @@ -161,10 +162,13 @@
>             Object obj = factories.get(element);
>             if (obj instanceof ObjectFactory) {
>                 ObjectFactory<?> factory = (ObjectFactory<?>)obj;
> +                Member member = (Member)element.getAnchor();
>                 if (element.getElementType() == ElementType.FIELD) {
> -                    injectors[i++] = new
> FieldInjector<T>((Field)element.getAnchor(), factory);
> -                } else if (element.getElementType() ==
> ElementType.PARAMETER && element.getAnchor() instanceof Method) {
> -                    injectors[i++] = new
> MethodInjector<T>((Method)element.getAnchor(), factory);
> +                    injectors[i++] = new
FieldInjector<T>((Field)member,
> factory);
> +                } else if (element.getElementType() ==
> ElementType.PARAMETER && member instanceof Method) {
> +                    injectors[i++] = new
> MethodInjector<T>((Method)member, factory);
> +                } else if (member instanceof Constructor) {
> +                    // Ignore
>                 } else {
>                     throw new AssertionError(String.valueOf(element));
>                 }
>
> Modified:
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java
> (original)
> +++
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/Operation.java
> Fri Apr 13 10:49:14 2007
> @@ -149,4 +149,16 @@
>      * @param wrapperStyle the wrapperStyle to set
>      */
>     void setWrapperStyle(boolean wrapperStyle);
> +
> +    /**
> +     * Get the databinding for the operation
> +     * @return
> +     */
> +    String getDataBinding();
> +
> +    /**
> +     * Set the databinding for the operation
> +     * @param dataBinding
> +     */
> +    void setDataBinding(String dataBinding);
> }
>
> Modified:
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
> (original)
> +++
>
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
> Fri Apr 13 10:49:14 2007
> @@ -43,6 +43,7 @@
>     private boolean nonBlocking;
>     private boolean wrapperStyle;
>     private WrapperInfo wrapper;
> +    private String dataBinding;
>
>     /**
>      * @param name
> @@ -270,6 +271,14 @@
>      */
>     public void setWrapperStyle(boolean wrapperStyle) {
>         this.wrapperStyle = wrapperStyle;
> +    }
> +
> +    public String getDataBinding() {
> +        return dataBinding;
> +    }
> +
> +    public void setDataBinding(String dataBinding) {
> +        this.dataBinding = dataBinding;
>     }
>
> }
>
> Modified:
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoBuilder.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoBuilder.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoBuilder.java
> (original)
> +++
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoBuilder.java
> Fri Apr 13 10:49:14 2007
> @@ -36,15 +36,15 @@
>     public ServiceBinding build(CompositeService serviceDefinition,
>                                 EchoBinding bindingDefinition,
>                                 DeploymentContext context) throws
> BuilderException {
> -        return new EchoService(URI.create("#" +
> serviceDefinition.getName()));
> +        return new EchoService(URI.create(context.getComponentId() +
"#"
> + serviceDefinition.getName()));
>     }
>
>     @Override
>     public ReferenceBinding build(CompositeReference
referenceDefinition,
>                                   EchoBinding bindingDefinition,
>                                   DeploymentContext context) throws
> BuilderException {
> -        URI targetURI = bindingDefinition.getURI() != null?
> URI.create(bindingDefinition.getURI()) : null;
> -        return new EchoReference(URI.create("#" +
> referenceDefinition.getName()), targetURI);
> +        URI targetURI = bindingDefinition.getURI() != null ?
> URI.create(bindingDefinition.getURI()) : null;
> +        return new EchoReference(URI.create(context.getComponentId() +
> "#" + referenceDefinition.getName()), targetURI);
>     }
>
>     @Override
>
> Modified:
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoReference.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoReference.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoReference.java
> (original)
> +++
>
incubator/tuscany/java/sca/samples/echo-binding/src/main/java/org/apache/tuscany/binding/echo/EchoReference.java
> Fri Apr 13 10:49:14 2007
> @@ -22,8 +22,6 @@
>
> import javax.xml.namespace.QName;
>
> -import org.apache.tuscany.core.binding.local.LocalCallbackTargetInvoker
;
> -import org.apache.tuscany.core.binding.local.LocalTargetInvoker;
> import org.apache.tuscany.interfacedef.Operation;
> import org.apache.tuscany.spi.component.TargetInvokerCreationException;
> import org.apache.tuscany.spi.extension.ReferenceBindingExtension;
>
> Modified:
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/java/org/apache/tuscany/binding/echo/EchoBindingTestCase.java
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-binding/src/test/java/org/apache/tuscany/binding/echo/EchoBindingTestCase.java?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/java/org/apache/tuscany/binding/echo/EchoBindingTestCase.java
> (original)
> +++
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/java/org/apache/tuscany/binding/echo/EchoBindingTestCase.java
> Fri Apr 13 10:49:14 2007
> @@ -33,7 +33,7 @@
>
>     protected void setUp() throws Exception {
>         SCARuntime.start("EchoBinding.composite");
> -        ComponentContext context =
> SCARuntime.getComponentContext("ClientComponent");
> +        ComponentContext context =
> SCARuntime.getComponentContext("Client");
>         ServiceReference<Client> service =
> context.createSelfReference(Client.class);
>         client = service.getService();
>     }
>
> Modified:
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/resources/EchoBinding.composite
> URL:
>
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-binding/src/test/resources/EchoBinding.composite?view=diff&rev=528566&r1=528565&r2=528566
>
==============================================================================
> ---
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/resources/EchoBinding.composite
> (original)
> +++
>
incubator/tuscany/java/sca/samples/echo-binding/src/test/resources/EchoBinding.composite
> Fri Apr 13 10:49:14 2007
> @@ -24,7 +24,7 @@
>
>     <service name="ClientService" promote="Client">
>         <interface.java
> interface="org.apache.tuscany.binding.echo.Client"/>
> -        <binding.echo/>
> +        <binding.echo uri="echo://tmp" />
>     </service>
>
>     <component name="Client">
> @@ -33,7 +33,7 @@
>
>     <reference name="EchoReference" promote="Client/echoReference">
>         <interface.java interface="org.apache.tuscany.binding.echo.Echo
"/>
> -        <binding.echo/>
> +        <binding.echo uri="echo://tmp" />
>     </reference>
>
> </composite>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to