You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/04/13 19:06:29 UTC
svn commit: r528553 - in /incubator/tuscany/java/sca/modules: ./
assembly/src/main/java/org/apache/tuscany/assembly/
assembly/src/main/java/org/apache/tuscany/assembly/impl/
assembly/src/main/java/org/apache/tuscany/assembly/util/
implementation-script/
Author: jsdelfino
Date: Fri Apr 13 10:06:27 2007
New Revision: 528553
URL: http://svn.apache.org/viewvc?view=rev&rev=528553
Log:
Keep track of what CompositeReferences promote ComponentReferences and what CompositeServices promote ComponentServices.
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java
incubator/tuscany/java/sca/modules/implementation-script/pom.xml
incubator/tuscany/java/sca/modules/pom.xml
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java Fri Apr 13 10:06:27 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.assembly;
+import java.util.List;
+
/**
* An instance of a reference associated with a particular component.
*
@@ -53,4 +55,13 @@
*/
void setAutowire(boolean autowire);
+
+ /**
+ * Derived relationship. Returns the list of composite references that
+ * promote this reference.
+ *
+ * @return
+ */
+ List<CompositeReference> promotedAs();
+
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java Fri Apr 13 10:06:27 2007
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.assembly;
+import java.util.List;
+
/**
* An addressable instance of a service associated with a particular component.
*
@@ -39,4 +41,12 @@
*/
void setService(Service service);
+ /**
+ * Derived relationship. Returns the list of composite services that
+ * promote this service.
+ *
+ * @return
+ */
+ List<CompositeService> promotedAs();
+
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java Fri Apr 13 10:06:27 2007
@@ -19,7 +19,11 @@
package org.apache.tuscany.assembly.impl;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.CompositeReference;
import org.apache.tuscany.assembly.Reference;
/**
@@ -30,6 +34,7 @@
public class ComponentReferenceImpl extends ReferenceImpl implements ComponentReference {
private Reference reference;
private boolean autowire;
+ private List<CompositeReference> promotedAs = new ArrayList<CompositeReference>();
/**
* Constructs a new component reference.
@@ -62,4 +67,9 @@
public void setAutowire(boolean autowire) {
this.autowire = autowire;
}
+
+ public List<CompositeReference> promotedAs() {
+ return promotedAs;
+ }
+
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java Fri Apr 13 10:06:27 2007
@@ -19,7 +19,11 @@
package org.apache.tuscany.assembly.impl;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.CompositeService;
import org.apache.tuscany.assembly.Service;
/**
@@ -29,6 +33,7 @@
*/
public class ComponentServiceImpl extends ServiceImpl implements ComponentService {
private Service service;
+ private List<CompositeService> promotedAs = new ArrayList<CompositeService>();
/**
* Constructs a new component service.
@@ -53,4 +58,7 @@
this.service = service;
}
+ public List<CompositeService> promotedAs() {
+ return promotedAs;
+ }
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java Fri Apr 13 10:06:27 2007
@@ -25,11 +25,9 @@
import javax.xml.namespace.QName;
import org.apache.tuscany.assembly.Component;
-import org.apache.tuscany.assembly.ComponentType;
import org.apache.tuscany.assembly.Composite;
import org.apache.tuscany.assembly.CompositeReference;
import org.apache.tuscany.assembly.CompositeService;
-import org.apache.tuscany.assembly.ConstrainingType;
import org.apache.tuscany.assembly.Property;
import org.apache.tuscany.assembly.Reference;
import org.apache.tuscany.assembly.Service;
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Fri Apr 13 10:06:27 2007
@@ -20,10 +20,8 @@
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.apache.tuscany.assembly.AssemblyFactory;
import org.apache.tuscany.assembly.Base;
@@ -288,7 +286,6 @@
// Index and bind all component services and references
Map<String, ComponentService> componentServices = new HashMap<String, ComponentService>();
Map<String, ComponentReference> componentReferences = new HashMap<String, ComponentReference>();
- Set<ComponentReference> promotedComponentReferences = new HashSet<ComponentReference>();
for (Component component : composite.getComponents()) {
int i =0;
@@ -332,6 +329,7 @@
ComponentService resolved = componentServices.get(componentService.getName());
if (resolved != null) {
compositeService.setPromotedService(resolved);
+ resolved.promotedAs().add(compositeService);
} else {
problems.add(compositeService);
}
@@ -348,7 +346,7 @@
componentReferences.get(componentReference.getName());
if (resolved != null) {
promotedReferences.set(i, resolved);
- promotedComponentReferences.add(resolved);
+ resolved.promotedAs().add(compositeReference);
} else {
problems.add(compositeReference);
}
@@ -428,11 +426,10 @@
// Validate that references are wired or promoted, according
// to their multiplicity
for (ComponentReference componentReference : componentReferences.values()) {
- boolean promoted = promotedComponentReferences.contains(componentReference);
if (!ReferenceUtil.validateMultiplicityAndTargets(
componentReference.getMultiplicity(),
componentReference.getTargets(),
- promoted)) {
+ componentReference.promotedAs())) {
problems.add(componentReference);
}
}
Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java Fri Apr 13 10:06:27 2007
@@ -43,14 +43,13 @@
}
public static boolean validateMultiplicityAndTargets(Multiplicity multiplicity,
- List<?> targets, boolean promoted) {
+ List<?> targets, List<?> promotedAs) {
// Count targets
int count = targets.size();
- if (promoted) {
+ if (!promotedAs.isEmpty()) {
if (count == 0) {
- // A promoted reference counts as one target
- count = 1;
+ count = promotedAs.size();
} else {
// A reference cannot be promoted and wired at the same time
return false;
Modified: incubator/tuscany/java/sca/modules/implementation-script/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-script/pom.xml?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-script/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/implementation-script/pom.xml Fri Apr 13 10:06:27 2007
@@ -78,12 +78,14 @@
<version>1.0-incubating-SNAPSHOT</version>
</dependency>
+<!--
<dependency>
<groupId>org.apache.bsf</groupId>
<artifactId>bsf-all</artifactId>
<version>3.0-beta1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
+-->
<dependency>
<groupId>asm</groupId>
Modified: incubator/tuscany/java/sca/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Fri Apr 13 10:06:27 2007
@@ -39,12 +39,14 @@
<module>assembly</module>
<module>assembly-xml</module>
<!--
- <module>binding-axis2</module>
<module>binding-jms</module>
<module>binding-jsonrpc</module>
<module>binding-rmi</module>
-->
<module>binding-ws</module>
+ <!--
+ <module>binding-ws-axis2</module>
+ -->
<module>binding-ws-xml</module>
<module>contribution</module>
<module>contribution-impl</module>
@@ -54,11 +56,11 @@
<module>core-spring</module>
<module>databinding</module>
<module>databinding-axiom</module>
- <!--
<module>core-databinding</module>
<module>databinding-jaxb</module>
<module>databinding-sdo</module>
<module>databinding-sdo-axiom</module>
+ <!--
<module>discovery-jms</module>
-->
<module>host-embedded</module>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org