* @param aRequired Required services by the system.
*/
public Container(String aName, ServiceRegistry aRegistry, Component[] aSystems,
- ProvidedInterfaceDescriptor[] aProvided, RequiredInterfaceDescriptor[] aRequired) {
+ ProvidedInterface[] aProvided, RequiredInterface[] aRequired) {
super(aName, aRegistry, aProvided, aRequired);
_systems = aSystems;
validate();
* Also logs a warning in case of superfluous requirements.
*/
private void validate() {
- List<ProvidedInterfaceDescriptor> provided = new ArrayList<ProvidedInterfaceDescriptor>();
+ List<ProvidedInterface> provided = new ArrayList<ProvidedInterface>();
for (Component system : _systems) {
provided.addAll(Arrays.asList(system.getProvidedServices()));
}
- List<RequiredInterfaceDescriptor> required = new ArrayList<RequiredInterfaceDescriptor>();
+ List<RequiredInterface> required = new ArrayList<RequiredInterface>();
for (Component system : _systems) {
required.addAll(Arrays.asList(system.getRequiredServices()));
}
- for (InterfaceDescriptor service : getProvidedServices()) {
+ for (ProvidedInterface service : getProvidedServices()) {
if (!(provided.contains(service))) {
throw new SystemAssemblyException(getName() + ": Service '" + service
+ "' is not provided by any of the subsystems");
}
}
- for (RequiredInterfaceDescriptor service : getRequiredServices()) {
+ for (RequiredInterface service : getRequiredServices()) {
if (!(required.contains(service))) {
info("Service '"
+ service
}
}
- List<RequiredInterfaceDescriptor> reallyRequired = new ArrayList<RequiredInterfaceDescriptor>(
+ List<RequiredInterface> reallyRequired = new ArrayList<RequiredInterface>(
required);
- for (ProvidedInterfaceDescriptor service : provided) {
+ for (ProvidedInterface service : provided) {
reallyRequired.remove(service);
}
- for (RequiredInterfaceDescriptor service: getRequiredServices()) {
+ for (RequiredInterface service: getRequiredServices()) {
reallyRequired.remove(service);
}
String missingRequired = "";
- for (RequiredInterfaceDescriptor service: reallyRequired) {
+ for (RequiredInterface service: reallyRequired) {
missingRequired += service + "\n";
}
if ( missingRequired.length() > 0 ) {
@Override
protected void doStart(String aContext, Service[] aRequiredServices) {
- List<ProvidedInterfaceDescriptor> descriptors = new ArrayList<ProvidedInterfaceDescriptor>();
+ List<ProvidedInterface> descriptors = new ArrayList<ProvidedInterface>();
for (Service service : aRequiredServices) {
descriptors.add(service.getDescriptor());
}
SystemAssembler assembler = new SystemAssembler(aContext + "." + getName(), _systems,
- descriptors.toArray(new ProvidedInterfaceDescriptor[0]));
+ descriptors.toArray(new ProvidedInterface[0]));
assembler.start(getRegistry(), aRequiredServices);
}