Ant,
This commit introduced breaking changes to the helloworld-ws-reference
and helloworld-ws-service samples, using some kind of <binding.console>.
Probably an oversight :)
More important, I think we should revert to the official Tuscany SPIs in
the implementation-crud sample, as it is our main sample to show people
how to develop extensions using these SPIs.
I'll be happy to have another new sample showing how to use the new
simplified extension layer, as I think that this new layer will be very
useful.
This will avoid confusion, and will also allow people to compare and
choose between the two layers and ways to develop extensions.
Thanks...
[EMAIL PROTECTED] wrote:
> Author: antelder
> Date: Tue Jun 5 09:00:23 2007
> New Revision: 544528
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=544528
> Log:
> Change implementation-crud sample to use extension-helper instead of
core spi (hoping that may prompt some review comments on if the
extension-helper needs changes)
>
> Added:
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementation.java
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
(with props)
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
(with props)
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator
> - copied, changed from r544134,
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
> Removed:
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationFactory.java
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/DefaultCRUDImplementationFactory.java
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/impl/
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/module/
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/provider/
>
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
> Modified:
>
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/ImplementationsActivator.java
>
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/SCDLProcessor.java
>
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java
>
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite
>
incubator/tuscany/java/sca/samples/helloworld-ws-service/src/main/resources/helloworldws.composite
> incubator/tuscany/java/sca/samples/implementation-crud/pom.xml
>
> Modified:
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/ImplementationsActivator.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/ImplementationsActivator.java?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/ImplementationsActivator.java
(original)
> +++
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/ImplementationsActivator.java
Tue Jun 5 09:00:23 2007
> @@ -68,7 +68,7 @@
>
> Class<Implementation> implClass =
implementationActivator.getImplementationClass();
> QName scdlQName = implementationActivator.getSCDLQName();
> - staxProcessors.addArtifactProcessor(new
SCDLProcessor(assemblyFactory, scdlQName, implClass));
> + staxProcessors.addArtifactProcessor(new
SCDLProcessor(assemblyFactory, scdlQName, implClass, registry, factories));
>
> if (implementationActivator.getImplementationClass() !=
null && providerFactories != null) {
> addImplementationProvider(implementationActivator,
providerFactories);
>
> Modified:
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/SCDLProcessor.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/SCDLProcessor.java?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/SCDLProcessor.java
(original)
> +++
incubator/tuscany/java/sca/modules/extension-helper/src/main/java/org/apache/tuscany/sca/spi/impl/SCDLProcessor.java
Tue Jun 5 09:00:23 2007
> @@ -21,10 +21,13 @@
>
> import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
>
> +import java.lang.reflect.Constructor;
> import java.lang.reflect.Method;
> +import java.util.ArrayList;
> import java.util.Arrays;
> import java.util.HashMap;
> import java.util.HashSet;
> +import java.util.List;
> import java.util.Map;
> import java.util.Set;
>
> @@ -37,6 +40,8 @@
> import org.apache.tuscany.sca.assembly.Implementation;
> import
org.apache.tuscany.sca.contribution.service.ContributionReadException;
> import
org.apache.tuscany.sca.contribution.service.ContributionWriteException;
> +import org.apache.tuscany.sca.core.ExtensionPointRegistry;
> +import org.apache.tuscany.sca.core.ModelFactoryExtensionPoint;
> import org.apache.tuscany.sca.spi.utils.AbstractStAXArtifactProcessor;
> import org.apache.tuscany.sca.spi.utils.DynamicImplementation;
>
> @@ -48,14 +53,18 @@
>
> protected QName scdlQName;
> protected Class<Implementation> implementationClass;
> + protected ExtensionPointRegistry registry;
> + protected ModelFactoryExtensionPoint factories;
>
> protected Map<String, Method> attributeSetters;
> protected Method elementTextSetter;
>
> - public SCDLProcessor(AssemblyFactory assemblyFactory, QName
scdlQName, Class<Implementation> implementationClass) {
> + public SCDLProcessor(AssemblyFactory assemblyFactory, QName
scdlQName, Class<Implementation> implementationClass, ExtensionPointRegistry
registry, ModelFactoryExtensionPoint factories) {
> super(assemblyFactory);
> this.scdlQName = scdlQName;
> this.implementationClass = implementationClass;
> + this.registry = registry;
> + this.factories = factories;
> initAttributes();
> }
>
> @@ -72,6 +81,23 @@
> }
> }
>
> + private Object[] getImplConstrArgs() {
> + Constructor[] cs = implementationClass.getConstructors();
> + if (cs.length != 1) {
> + throw new IllegalArgumentException("Implementation class
must have a single constructor: "+ implementationClass.getName());
> + }
> + List args = new ArrayList();
> + for (Class c : cs[0].getParameterTypes()) {
> + Object o = factories.getFactory(c);
> + if (o == null) {
> + o = registry.getExtensionPoint(c);
> + }
> + args.add(o);
> + }
> + return args.toArray();
> + }
> +
> +
> public QName getArtifactType() {
> return scdlQName;
> }
> @@ -83,7 +109,7 @@
> public Implementation read(XMLStreamReader reader) throws
ContributionReadException, XMLStreamException {
> Implementation impl;
> try {
> - impl = implementationClass.newInstance();
> + impl =
(Implementation)implementationClass.getConstructors()[0].newInstance(getImplConstrArgs());
> } catch (Exception e) {
> throw new RuntimeException(e);
> }
>
> Modified:
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java
(original)
> +++
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/java/helloworld/HelloWorldClient.java
Tue Jun 5 09:00:23 2007
> @@ -30,8 +30,10 @@
> SCADomain scaDomain = SCADomain.newInstance("
helloworldwsclient.composite");
> HelloWorldService helloWorldService = scaDomain.getService(
HelloWorldService.class, "HelloWorldServiceComponent");
>
> - String value = helloWorldService.getGreetings("World");
> - System.out.println(value);
> +// String value = helloWorldService.getGreetings("World");
> +// System.out.println(value);
> +
> + Thread.sleep(900000);
>
> scaDomain.close();
> }
>
> Modified:
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite
(original)
> +++
incubator/tuscany/java/sca/samples/helloworld-ws-reference/src/main/resources/helloworldwsclient.composite
Tue Jun 5 09:00:23 2007
> @@ -22,13 +22,18 @@
> xmlns:hw="http://helloworld"
> name="helloworldwsclient">
>
> + <service name="HelloWorldService"
promote="HelloWorldServiceComponent">
> + <interface.java interface="helloworld.HelloWorldService" />
> + <binding.console/>
> + </service>
> +
> <component name="HelloWorldServiceComponent">
> <implementation.java class="helloworld.HelloWorldServiceComponent
"/>
> </component>
>
> <reference name="HelloWorldService"
promote="HelloWorldServiceComponent/helloWorldService">
> <interface.java interface="helloworld.HelloWorldService" />
> - <binding.ws wsdlElement="
http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
> + <binding.console/>
> </reference>
>
> </composite>
>
> Modified:
incubator/tuscany/java/sca/samples/helloworld-ws-service/src/main/resources/helloworldws.composite
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/helloworld-ws-service/src/main/resources/helloworldws.composite?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/helloworld-ws-service/src/main/resources/helloworldws.composite
(original)
> +++
incubator/tuscany/java/sca/samples/helloworld-ws-service/src/main/resources/helloworldws.composite
Tue Jun 5 09:00:23 2007
> @@ -22,11 +22,12 @@
> xmlns:hw="http://helloworld"
> name="helloworldws">
>
> - <component name="HelloWorldServiceComponent">
> - <service name="HelloWorldService">
> + <service name="HelloWorldService"
promote="HelloWorldServiceComponent">
> <interface.wsdl interface="
http://helloworld#wsdl.interface(HelloWorld)" />
> <binding.ws />
> </service>
> +
> + <component name="HelloWorldServiceComponent">
> <implementation.java class="helloworld.HelloWorldImpl" />
> </component>
>
>
> Modified: incubator/tuscany/java/sca/samples/implementation-crud/pom.xml
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/implementation-crud/pom.xml?view=diff&rev=544528&r1=544527&r2=544528
>
==============================================================================
> --- incubator/tuscany/java/sca/samples/implementation-crud/pom.xml
(original)
> +++ incubator/tuscany/java/sca/samples/implementation-crud/pom.xml Tue
Jun 5 09:00:23 2007
> @@ -36,15 +36,10 @@
> </repositories>
>
> <dependencies>
> - <dependency>
> - <groupId>org.apache.tuscany.sca</groupId>
> - <artifactId>sca-api</artifactId>
> - <version>1.0-incubating-SNAPSHOT</version>
> - </dependency>
>
> <dependency>
> <groupId>org.apache.tuscany.sca</groupId>
> - <artifactId>tuscany-host-embedded</artifactId>
> + <artifactId>tuscany-extension-helper</artifactId>
> <version>1.0-incubating-SNAPSHOT</version>
> </dependency>
>
> @@ -52,7 +47,7 @@
> <groupId>org.apache.tuscany.sca</groupId>
> <artifactId>tuscany-interface-java-xml</artifactId>
> <version>1.0-incubating-SNAPSHOT</version>
> - </dependency>
> + </dependency>
>
> <dependency>
> <groupId>junit</groupId>
>
> Added:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementation.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementation.java?view=auto&rev=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementation.java
(added)
> +++
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementation.java
Tue Jun 5 09:00:23 2007
> @@ -0,0 +1,79 @@
> +/*
> + * 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 crud;
> +
> +import java.util.Collections;
> +import java.util.List;
> +
> +import org.apache.tuscany.sca.assembly.AssemblyFactory;
> +import org.apache.tuscany.sca.assembly.Service;
> +import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
> +import
org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
> +import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
> +import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
> +import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
> +import
org.apache.tuscany.sca.interfacedef.java.introspect.ExtensibleJavaInterfaceIntrospector
;
> +import
org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospector
;
> +import
org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint
;
> +import org.apache.tuscany.sca.spi.utils.AbstractImplementation;
> +
> +
> +/**
> + * The model representing a sample CRUD implementation in an SCA
assembly model.
> + */
> +public class CRUDImplementation extends AbstractImplementation {
> +
> + private Service crudService;
> + private String directory;
> +
> + public CRUDImplementation(AssemblyFactory assemblyFactory,
> + JavaInterfaceIntrospectorExtensionPoint
visitors) {
> +
> + // CRUD implementation always provide a single service
exposing
> + // the CRUD interface, and have no references and
properties
> + crudService = assemblyFactory.createService();
> + crudService.setName("CRUD");
> +
> + JavaInterfaceFactory javaFactory = new
DefaultJavaInterfaceFactory();
> + JavaInterfaceIntrospector introspector = new
ExtensibleJavaInterfaceIntrospector(javaFactory, visitors);
> +
> + JavaInterface javaInterface;
> + try {
> + javaInterface = introspector.introspect(CRUD.class);
> + } catch (InvalidInterfaceException e) {
> + throw new IllegalArgumentException(e);
> + }
> + JavaInterfaceContract interfaceContract =
javaFactory.createJavaInterfaceContract();
> + interfaceContract.setInterface(javaInterface);
> + crudService.setInterfaceContract(interfaceContract);
> + }
> +
> + public String getDirectory() {
> + return directory;
> + }
> +
> + public void setDirectory(String directory) {
> + this.directory = directory;
> + }
> +
> + public List<Service> getServices() {
> + // The sample CRUD implementation provides a single fixed CRUD
service
> + return Collections.singletonList(crudService);
> + }
> +}
>
> Added:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java?view=auto&rev=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
(added)
> +++
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
Tue Jun 5 09:00:23 2007
> @@ -0,0 +1,51 @@
> +/*
> + * 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 crud;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.apache.tuscany.sca.interfacedef.Operation;
> +import org.apache.tuscany.sca.invocation.Invoker;
> +import org.apache.tuscany.sca.runtime.RuntimeComponent;
> +import org.apache.tuscany.sca.spi.ImplementationActivator;
> +import org.apache.tuscany.sca.spi.InvokerFactory;
> +
> +import crud.backend.ResourceManager;
> +
> +public class CRUDImplementationActivator implements
ImplementationActivator<CRUDImplementation> {
> +
> + private static final QName IMPLEMENTATION_CRUD = new QName("
http://crud", "implementation.crud");
> +
> + public InvokerFactory createInvokerFactory(RuntimeComponent rc,
final CRUDImplementation implementation) {
> + return new InvokerFactory() {
> + public Invoker createInvoker(Operation operation) {
> + return new CRUDInvoker(operation, new ResourceManager(
implementation.getDirectory()));
> + }};
> + }
> +
> + public Class<CRUDImplementation> getImplementationClass() {
> + return CRUDImplementation.class;
> + }
> +
> + public QName getSCDLQName() {
> + return IMPLEMENTATION_CRUD;
> + }
> +
> +}
>
> Propchange:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
>
------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDImplementationActivator.java
>
------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Added:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java?view=auto&rev=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
(added)
> +++
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
Tue Jun 5 09:00:23 2007
> @@ -0,0 +1,77 @@
> +/*
> + * 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 crud;
> +
> +import java.lang.reflect.InvocationTargetException;
> +
> +import org.apache.tuscany.sca.interfacedef.Operation;
> +import org.apache.tuscany.sca.invocation.Invoker;
> +import org.apache.tuscany.sca.invocation.Message;
> +
> +import crud.backend.ResourceManager;
> +
> +/**
> + * Implements a target invoker for CRUD component implementations.
> + *
> + * The target invoker is responsible for dispatching invocations to the
particular
> + * component implementation logic. In this example we are simply
delegating the
> + * CRUD operation invocations to the corresponding methods on our fake
> + * resource manager.
> + */
> +public class CRUDInvoker implements Invoker {
> + private Operation operation;
> + private ResourceManager resourceManager;
> +
> + public CRUDInvoker(Operation operation, ResourceManager
resourceManager) {
> + this.operation = operation;
> + this.resourceManager = resourceManager;
> + }
> +
> + public Message invoke(Message msg) {
> + try {
> + Object[] args = msg.getBody();
> + Object resp = doTheWork(args);
> + msg.setBody(resp);
> + } catch (InvocationTargetException e) {
> + msg.setFaultBody(e.getCause());
> + }
> + return msg;
> + }
> +
> + public Object doTheWork(Object[] args) throws
InvocationTargetException {
> + if (operation.getName().equals("create")) {
> + return resourceManager.createResource(args[0]);
> +
> + } else if (operation.getName().equals("retrieve")) {
> + return resourceManager.retrieveResource((String)args[0]);
> +
> + } else if (operation.getName().equals("update")) {
> + return resourceManager.updateResource((String)args[0],
args[1]);
> +
> + } else if (operation.getName().equals("delete")) {
> + resourceManager.deleteResource((String)args[0]);
> + return null;
> +
> + } else {
> + return null;
> + }
> + }
> +
> +}
>
> Propchange:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
>
------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/java/crud/CRUDInvoker.java
>
------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Copied:
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator
(from r544134,
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator)
> URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator?view=diff&rev=544528&p1=incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator&r1=544134&p2=incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator&r2=544528
>
==============================================================================
> ---
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator
(original)
> +++
incubator/tuscany/java/sca/samples/implementation-crud/src/main/resources/META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator
Tue Jun 5 09:00:23 2007
> @@ -15,4 +15,4 @@
> # specific language governing permissions and limitations
> # under the License.
> # Implementation class for the ExtensionActivator
> -crud.module.CRUDModuleActivator
> +crud.CRUDImplementationActivator
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]