You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2006/08/08 16:25:48 UTC
svn commit: r429659 -
/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
Author: jboynes
Date: Tue Aug 8 07:25:47 2006
New Revision: 429659
URL: http://svn.apache.org/viewvc?rev=429659&view=rev
Log:
handle bound references
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java?rev=429659&r1=429658&r2=429659&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/ReferenceLoader.java Tue Aug 8 07:25:47 2006
@@ -34,6 +34,8 @@
import org.apache.tuscany.spi.model.Multiplicity;
import org.apache.tuscany.spi.model.ReferenceDefinition;
import org.apache.tuscany.spi.model.ServiceContract;
+import org.apache.tuscany.spi.model.Binding;
+import org.apache.tuscany.spi.model.BoundReferenceDefinition;
import org.apache.tuscany.spi.annotation.Autowire;
/**
@@ -59,22 +61,35 @@
)
throws XMLStreamException, LoaderException {
assert REFERENCE.equals(reader.getName());
- ReferenceDefinition referenceDefinition = new ReferenceDefinition();
- referenceDefinition.setName(reader.getAttributeValue(null, "name"));
- referenceDefinition.setMultiplicity(
- StAXUtil.multiplicity(reader.getAttributeValue(null, "multiplicity"), Multiplicity.ONE_ONE));
+ String name = reader.getAttributeValue(null, "name");
+ Multiplicity multiplicity = StAXUtil.multiplicity(reader.getAttributeValue(null, "multiplicity"), Multiplicity.ONE_ONE);
+ Binding binding = null;
+ ServiceContract serviceContract = null;
while (true) {
switch (reader.next()) {
case START_ELEMENT:
ModelObject o = registry.load(parent, reader, deploymentContext);
if (o instanceof ServiceContract) {
- referenceDefinition.setServiceContract((ServiceContract) o);
+ serviceContract = (ServiceContract) o;
+ } else if (o instanceof Binding) {
+ binding = (Binding) o;
}
reader.next();
break;
case END_ELEMENT:
- return referenceDefinition;
+ if (binding == null) {
+ ReferenceDefinition referenceDefinition = new ReferenceDefinition(name, serviceContract);
+ referenceDefinition.setMultiplicity(multiplicity);
+ return referenceDefinition;
+ } else {
+ BoundReferenceDefinition<Binding> referenceDefinition = new BoundReferenceDefinition<Binding>();
+ referenceDefinition.setName(name);
+ referenceDefinition.setServiceContract(serviceContract);
+ referenceDefinition.setMultiplicity(multiplicity);
+ referenceDefinition.setBinding(binding);
+ return referenceDefinition;
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org