They should be working for Java types. Could you open a Jira and
post the two component classes (particularly the interfaces) you are
trying to wire together along with the SCDL? I'll try and take a look
this weekend.
Jim
On Apr 27, 2006, at 1:08 PM, Ignacio Silva-Lepe wrote:
Not sure whether references with multiplicity *..n are available
yet. If they're not I can wait. But in case they are, I am getting
the following exception:
Exception in thread "main"
org.apache.tuscany.core.builder.BuilderConfigException:
Incompatible source and target interface types for reference
[warehouses]
Context stack trace: [tuscany.root][supplychain][supplychain]
[RetailerComponent][WarehouseComponent1][tuscany.root]
at org.apache.tuscany.core.builder.impl.DefaultWireBuilder.connect
(DefaultWireBuilder.java:64)
at org.apache.tuscany.core.runtime.RuntimeContextImpl.connect
(RuntimeContextImpl.java:166)
at
org.apache.tuscany.core.context.impl.AbstractCompositeContext.connect(
AbstractCompositeContext.java:793)
at
org.apache.tuscany.core.context.impl.AbstractCompositeContext.wireSour
ce(AbstractCompositeContext.java:594)
at
org.apache.tuscany.core.context.impl.AbstractCompositeContext.start
(AbstractCompositeContext.java:165)
at
org.apache.tuscany.core.context.scope.CompositeScopeContext.registerFa
ctory(CompositeScopeContext.java:95)
at
org.apache.tuscany.core.context.impl.AbstractCompositeContext.register
Configuration(AbstractCompositeContext.java:474)
at
org.apache.tuscany.core.context.impl.AbstractCompositeContext.register
ModelObject(AbstractCompositeContext.java:421)
at org.apache.tuscany.core.client.BootstrapHelper.registerModule
(BootstrapHelper.java:133)
at org.apache.tuscany.core.client.TuscanyRuntime.<init>
(TuscanyRuntime.java:104)
at org.apache.tuscany.samples.supplychain.SupplychainClient.main
(SupplychainClient.java:43)
when I try to use the following component impl:
@Service(Retailer.class)
public class RetailerComponentImpl implements Retailer {
@Reference(name="warehouses", required=true)
private List<Warehouse> warehouses;
public void submitOrder(String order) {
for (Warehouse warehouse : warehouses) {
warehouse.fulfillOrder(order + ", submitted");
}
}
}
for the following set of definitions:
<component name="RetailerComponent">
<implementation.java
class="org.apache.tuscany.samples.supplychain.RetailerComponentImpl"/>
<references>
<v:warehouses>WarehouseComponent1</v:warehouses>
<v:warehouses>WarehouseComponent2</v:warehouses>
</references>
</component>
<component name="WarehouseComponent1">
<implementation.java
class="org.apache.tuscany.samples.supplychain.WarehouseComponentImpl"/
>
<references>
<v:shipper>ShipperComponent</v:shipper>
</references>
</component>
<component name="WarehouseComponent2">
<implementation.java
class="org.apache.tuscany.samples.supplychain.WarehouseComponentImpl"/
>
<references>
<v:shipper>ShipperComponent</v:shipper>
</references>
</component>