diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-03 04:06:37 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-09-03 04:06:37 +0000 |
commit | 22e26a6bfaf42f697c4b806c49b258004454ef71 (patch) | |
tree | ce208acb2d947d048226e401180060e774c629bc /branches/sca-java-1.5.1/modules/implementation-widget | |
parent | 97e1dfe5d2661767604e8a771ec2e9099b2f4ccd (diff) |
TUSCANY-3247 - Making interfaces and instantiatng widget factory via extension point mechanism
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@810775 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.5.1/modules/implementation-widget')
4 files changed, 8 insertions, 135 deletions
diff --git a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java index b35cc41dd4..2a092884be 100644 --- a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java +++ b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java @@ -19,20 +19,8 @@ package org.apache.tuscany.sca.implementation.widget; import java.net.URL; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ConstrainingType; import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; /** @@ -40,95 +28,13 @@ import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; * * @version $Rev$ $Date$ */ -public class WidgetImplementation implements Implementation { - private Service widgetService; - private List<Reference> references = new ArrayList<Reference>(); - private List<Property> properties = new ArrayList<Property>(); +public interface WidgetImplementation extends Implementation { - private String location; - private URL url; - private boolean unresolved; + String getLocation(); - /** - * Constructs a new resource implementation. - */ - WidgetImplementation(AssemblyFactory assemblyFactory, - JavaInterfaceFactory javaFactory) { + void setLocation(String location); - // Resource implementation always provide a single service exposing - // the Resource interface, and have no references and properties - widgetService = assemblyFactory.createService(); - widgetService.setName("Widget"); - - // Create the Java interface contract for the Resource service - JavaInterface javaInterface; - try { - javaInterface = javaFactory.createJavaInterface(Widget.class); - } catch (InvalidInterfaceException e) { - throw new IllegalArgumentException(e); - } - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - interfaceContract.setInterface(javaInterface); - widgetService.setInterfaceContract(interfaceContract); - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public URL getLocationURL() { - return url; - } - - public void setLocationURL(URL url) { - this.url = url; - } - - public ConstrainingType getConstrainingType() { - // The resource implementation does not support constrainingTypes - return null; - } - - public List<Property> getProperties() { - return properties; - } - - public List<Service> getServices() { - // The resource implementation does not support services - return Collections.singletonList(widgetService); - } + URL getLocationURL(); - public List<Reference> getReferences() { - return references; - } - - public String getURI() { - return location; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - // The resource implementation does not support constrainingTypes - } - - public void setURI(String uri) { - this.location = uri; - } - - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - @Override - public String toString() { - return "Widget : " + getLocation(); - } + void setLocationURL(URL url); } diff --git a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java index 2493b97f5c..cdf4886194 100644 --- a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java +++ b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java @@ -19,27 +19,13 @@ package org.apache.tuscany.sca.implementation.widget; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; - /** * Factory for the widget implementation model. * * @version $Rev$ $Date$ */ -public class WidgetImplementationFactory { +public interface WidgetImplementationFactory { - private AssemblyFactory assemblyFactory; - private JavaInterfaceFactory javaFactory; + WidgetImplementation createWidgetImplementation(); - public WidgetImplementationFactory(ModelFactoryExtensionPoint modelFactories) { - assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - } - - public WidgetImplementation createWidgetImplementation() { - return new WidgetImplementation(assemblyFactory, javaFactory); - } - } diff --git a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java index 2c7297ff86..442191a568 100644 --- a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java +++ b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java @@ -59,7 +59,7 @@ public class WidgetImplementationProcessor implements StAXArtifactProcessor<Widg public WidgetImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); contributionFactory = modelFactories.getFactory(ContributionFactory.class); - implementationFactory = new WidgetImplementationFactory(modelFactories); + implementationFactory = modelFactories.getFactory(WidgetImplementationFactory.class); this.monitor = monitor; } diff --git a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory b/branches/sca-java-1.5.1/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory deleted file mode 100644 index fc45baa16d..0000000000 --- a/branches/sca-java-1.5.1/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory +++ /dev/null @@ -1,19 +0,0 @@ -# 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. - -# Implementation class for model factory -org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory |