serviceDescriptionList.add(serviceDescription.toBuilder().setServiceTemplateId(serviceTemplate.getId()).build()); modification = true; } else { } else { serviceDescriptionList.add(serviceDescription.toBuilder().setType(serviceTemplate.getType()).build()); modification = true;
@Override public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification { UnitConfig.Builder unitConfig = entry.getMessage().toBuilder(); boolean modification = false; for (ServiceConfig.Builder serviceConfig : unitConfig.getServiceConfigBuilderList()) { ServiceDescription.Builder serviceDescription = serviceConfig.getServiceDescriptionBuilder(); if (serviceDescription.getServiceTemplateId().isEmpty()) { if (!serviceDescription.hasType()) { throw new NotAvailableException("ServiceType"); } serviceDescription.setServiceTemplateId(getServiceIdByType(serviceDescription.getType())); modification = true; } } if (modification) { throw new EntryModification(entry.setMessage(unitConfig), this); } }
for (ServiceTemplateConfigType.ServiceTemplateConfig serviceTemplateConfig : unitTemplateConfig.getServiceTemplateConfigList()) { ServiceConfigType.ServiceConfig.Builder serviceConfig = ServiceConfigType.ServiceConfig.newBuilder().setBindingConfig(BindingConfigType.BindingConfig.newBuilder().setBindingId(deviceClass.getBindingConfig().getBindingId())); serviceConfig.setServiceDescription(ServiceDescription.newBuilder().setType(serviceTemplateConfig.getServiceType())); serviceConfigs.add(serviceConfig.build());
@Override public void init(final ActionDescription actionDescription) throws InitializationException, InterruptedException { try { // verify this.verifyActionDescription(actionDescription); // prepare this.actionDescriptionBuilder = actionDescription.toBuilder(); this.serviceAttribute = serviceJSonProcessor.deserialize(actionDescription.getServiceStateDescription().getServiceAttribute(), actionDescription.getServiceStateDescription().getServiceAttributeType()); // verify service attribute Services.verifyServiceState(serviceAttribute); // since its an action it has to be an operation service pattern this.serviceDescription = ServiceDescription.newBuilder().setType(actionDescription.getServiceStateDescription().getServiceType()).setPattern(ServicePattern.OPERATION).build(); // set resource allocation interval if not defined yet if (!actionDescription.getResourceAllocation().getSlot().hasBegin()) { ActionDescriptionProcessor.updateResourceAllocationSlot(actionDescriptionBuilder); } } catch (CouldNotPerformException ex) { throw new InitializationException(this, ex); } }
@Override public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification { UnitConfig.Builder unitConfig = entry.getMessage().toBuilder(); UnitGroupConfig.Builder unitGroup = unitConfig.getUnitGroupConfigBuilder(); boolean modification = false; for (ServiceDescription.Builder serviceDescription : unitGroup.getServiceDescriptionBuilderList()) { if (serviceDescription.getServiceTemplateId().isEmpty()) { if (!serviceDescription.hasType()) { throw new NotAvailableException("ServiceType"); } serviceDescription.setServiceTemplateId(getServiceIdByType(serviceDescription.getType())); modification = true; } } if (modification) { throw new EntryModification(entry.setMessage(unitConfig), this); } }
MockServiceDescription(ServiceType type, ServicePattern servicePattern) { ServiceDescription.Builder descriptionBuilder = ServiceDescription.newBuilder(); descriptionBuilder.setType(type); descriptionBuilder.setPattern(servicePattern); this.description = descriptionBuilder.build(); }