Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Minor
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 0.2
-
Component/s: deployment
-
Labels:None
Description
According to SCA Assembly spec a component element can have zero or more implementation elements as its child. But the method getActivator(component) in Deployment.java you can find the following code:
private Activator getActivator(ComponentModel component) {
|
String type = component.getImplementation().getType();
|
Activator activator = _componentActivators.get(type);
|
|
|
if (activator == null) {
|
throw new RuntimeException("Unknown configuration component type '" + type + "'. No Activator implementation registered for this type.");
|
}
|
|
|
return activator;
|
}
|
I noticed this while working on SWITCHYARD-201 which also contains an example of the config that I'm using (See Keith's last comment)
I wonder what the use case is for allowing a component with no implementation? I took a peek at the latest committee draft of the assembly spec (http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-assembly) and the spec appears to contradict itself between sections 4 and 4.1. In any case, the schema currently lists it as optional (minOccurs="0"), so I guess we have to go with that.
At this point, I don't see a compelling use case for a component without an implementation in SwitchYard, so I'm going to set the priority of this to Minor. I think it's great that you filed this though; we definitely want to log issues where our behavior diverges from something in the spec.