You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/02/26 22:56:09 UTC
svn commit: r512028 - in /incubator/tuscany/java/sca/kernel:
core/src/main/java/org/apache/tuscany/core/implementation/composite/
core/src/main/java/org/apache/tuscany/core/loader/
core/src/test/java/org/apache/tuscany/core/implementation/composite/ sp...
Author: jmarino
Date: Mon Feb 26 13:56:08 2007
New Revision: 512028
URL: http://svn.apache.org/viewvc?view=rev&rev=512028
Log:
add autowire support to composite loading
Added:
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java (with props)
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java?view=diff&rev=512028&r1=512027&r2=512028
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/composite/CompositeLoader.java Mon Feb 26 13:56:08 2007
@@ -78,24 +78,26 @@
ModelObject object,
XMLStreamReader reader,
DeploymentContext deploymentContext) throws XMLStreamException, LoaderException {
- CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> composite =
+ CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> type =
new CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>>();
- composite.setName(reader.getAttributeValue(null, "name"));
+ type.setName(reader.getAttributeValue(null, "name"));
+ boolean autowire = Boolean.parseBoolean(reader.getAttributeValue(null, "autowire"));
+ type.setAutowire(autowire);
boolean done = false;
while (!done) {
switch (reader.next()) {
case START_ELEMENT:
- ModelObject o = registry.load(composite, reader, deploymentContext);
+ ModelObject o = registry.load(type, reader, deploymentContext);
if (o instanceof ServiceDefinition) {
- composite.add((ServiceDefinition) o);
+ type.add((ServiceDefinition) o);
} else if (o instanceof ReferenceDefinition) {
- composite.add((ReferenceDefinition) o);
+ type.add((ReferenceDefinition) o);
} else if (o instanceof Property<?>) {
- composite.add((Property<?>) o);
+ type.add((Property<?>) o);
} else if (o instanceof ComponentDefinition<?>) {
- composite.add((ComponentDefinition<?>) o);
+ type.add((ComponentDefinition<?>) o);
} else if (o instanceof Include) {
- composite.add((Include) o);
+ type.add((Include) o);
} else if (o instanceof Dependency) {
Artifact artifact = ((Dependency) o).getArtifact();
if (artifactRepository != null) {
@@ -115,11 +117,11 @@
}
}
} else if (o instanceof WireDefinition) {
- composite.add((WireDefinition) o);
+ type.add((WireDefinition) o);
} else {
// add as an unknown model extension
if (o != null) {
- composite.getExtensions().put(o.getClass(), o);
+ type.getExtensions().put(o.getClass(), o);
}
}
reader.next();
@@ -127,17 +129,17 @@
case END_ELEMENT:
if (COMPOSITE.equals(reader.getName())) {
// if there are wire defintions then link them up to the relevant components
- resolveWires(composite);
- verifyCompositeCompleteness(composite);
+ resolveWires(type);
+ verifyCompositeCompleteness(type);
done = true;
break;
}
}
}
- for (ComponentDefinition<? extends Implementation<?>> c : composite.getComponents().values()) {
- PropertyHelper.processProperties(composite, c, deploymentContext);
+ for (ComponentDefinition<? extends Implementation<?>> c : type.getComponents().values()) {
+ PropertyHelper.processProperties(type, c, deploymentContext);
}
- return composite;
+ return type;
}
protected void resolveWires(CompositeComponentType<ServiceDefinition, ReferenceDefinition, Property<?>> composite)
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=512028&r1=512027&r2=512028
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java Mon Feb 26 13:56:08 2007
@@ -86,7 +86,6 @@
private static final String PROPERTY_FILE_ATTR = "file";
private static final String PROPERTY_NAME_ATTR = "name";
- private static final String PROPERTY_AUTOWIRE_ATTR = "autowire";
private static final String PROPERTY_SOURCE_ATTR = "source";
private PropertyObjectFactory propertyFactory;
Added: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java?view=auto&rev=512028
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java (added)
+++ incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java Mon Feb 26 13:56:08 2007
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.core.implementation.composite;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamReader;
+
+import static org.osoa.sca.Constants.SCA_NS;
+
+import org.apache.tuscany.spi.loader.LoaderRegistry;
+import org.apache.tuscany.spi.model.CompositeComponentType;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CompositeLoaderTestCase extends TestCase {
+ public static final QName COMPOSITE = new QName(SCA_NS, "composite");
+ private CompositeLoader loader;
+
+ public void testLoadNameAndDefaultAutowire() throws Exception {
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+ EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn(null);
+ EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+ EasyMock.replay(reader);
+ CompositeComponentType<?, ?, ?> type = loader.load(null, reader, null);
+ assertEquals("composite", type.getName());
+ assertFalse(type.isAutowire());
+ EasyMock.verify(reader);
+ }
+
+ public void testAutowire() throws Exception {
+ XMLStreamReader reader = EasyMock.createMock(XMLStreamReader.class);
+ EasyMock.expect(reader.getAttributeValue(null, "name")).andReturn("composite");
+ EasyMock.expect(reader.getAttributeValue(null, "autowire")).andReturn("true");
+ EasyMock.expect(reader.next()).andReturn(XMLStreamConstants.END_ELEMENT);
+ EasyMock.expect(reader.getName()).andReturn(COMPOSITE);
+ EasyMock.replay(reader);
+ CompositeComponentType<?, ?, ?> type = loader.load(null, reader, null);
+ assertTrue(type.isAutowire());
+ EasyMock.verify(reader);
+ }
+
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ LoaderRegistry registry = EasyMock.createNiceMock(LoaderRegistry.class);
+ EasyMock.replay(registry);
+ loader = new CompositeLoader(registry, null);
+ }
+}
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/implementation/composite/CompositeLoaderTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java?view=diff&rev=512028&r1=512027&r2=512028
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/model/CompositeComponentType.java Mon Feb 26 13:56:08 2007
@@ -36,6 +36,7 @@
P extends Property<?>> extends ComponentType<S, R, P> {
private String name;
+ private boolean autowire;
private final Map<String, ComponentDefinition<? extends Implementation<?>>> components =
new HashMap<String, ComponentDefinition<? extends Implementation<?>>>();
private final Map<String, Include> includes = new HashMap<String, Include>();
@@ -51,6 +52,24 @@
public void setName(String name) {
this.name = name;
+ }
+
+ /**
+ * Returns if autowire is set of for composite
+ *
+ * @return true if autowire is set for the composite
+ */
+ public boolean isAutowire() {
+ return autowire;
+ }
+
+ /**
+ * Sets autowire for the composite
+ *
+ * @param autowire true if autowire is enabled for the composite
+ */
+ public void setAutowire(boolean autowire) {
+ this.autowire = autowire;
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org