/** * Process a {@link XADLHostInstanceEvent}. * * @param event */ private void process(XADLHostInstanceEvent event) { IHostedArchInstance instance = modelRoot.getHostedArchInstance(event.getArchitectureRuntimeId()); IHost host = DBLUtils.createHost(instance, event.getHostId(), modelRoot.getHostpropertyContext()); switch (event.getXadlEventType()) { case ADD: logger.info("Adding host " + event.getHostId()); host.setDescription( DBLUtils.createDescription(event.getDescription(), modelRoot.getHostpropertyContext())); break; case REMOVE: logger.info("Removing host " + event.getHostId()); // we only remove the host if it is empty if (host.getAllHostsComponents().isEmpty() && host.getAllHostsConnectors().isEmpty() && host.getAllHostsGroups().isEmpty() && host.getAllSubhosts().isEmpty()) { instance.removeHost(host); } break; case UPDATE: default: // not supported break; } }