@RequestMapping(value="/containers/add", method=RequestMethod.GET) public String addContainerInit(final Model model) throws URISyntaxException { ServiceDescriptor containerDescriptor = new ServiceDescriptor(); containerDescriptor.setType("container"); containerDescriptor.setVersion("1.0.0"); model.addAttribute("containerDescriptor", containerDescriptor); model.addAttribute("availableServiceProtocols", ServiceRegistryConstants.ALL_KNOWN_SERVICE_PROTOCOLS); return "console.platform.container.add"; }
private ServiceDescriptorList createContainerListObject() { List<ServiceDescriptor> serviceDescriptors = new ArrayList<ServiceDescriptor>(); ServiceDescriptorList descriptorList = new ServiceDescriptorList(); descriptorList.setServiceDescriptors(serviceDescriptors); ServiceDescriptor serviceDescriptor = new ServiceDescriptor(); serviceDescriptors.add(serviceDescriptor); String containerNameToUse; if (containerName == null) { containerNameToUse = "TestContainer"; } else { containerNameToUse = containerName; } serviceDescriptor.setServiceId(containerNameToUse); URI uri = URI.create("rmi://127.0.0.1:"+rmiPort+"/platform-serviceContainer"); ConnectionDescriptor connectionDescriptor= new ConnectionDescriptor(uri, ServiceRegistryConstants.SERVICE_PROTOCOL_RMI, Collections.emptyMap()); serviceDescriptor.setServiceLocations(Collections.singletonList(connectionDescriptor)); return descriptorList; }
/** * Creates service descriptor for new service. */ private ServiceDescriptor createServiceDescriptor(final LocalService service, final ServiceDeployment serviceDeployment) { final ServiceDescriptor serviceDescriptor = new ServiceDescriptor(service); serviceDescriptor.setServicePriority(serviceDeployment.getServicePriority()); String bundleId = serviceDeployment.getBundleId(); String serviceDefinitionId = serviceDeployment.getServiceDefinitionId(); SpringContextServiceFactory serviceFactory = serviceFactoryContext.getServiceFactory(bundleId, serviceDefinitionId); if (serviceFactory == null) { throw new ServiceCreationException("Service of definition id '{}' and bundle id '{}' not found in bundle context.", serviceDefinitionId, bundleId); } ServiceDefinition serviceDefinition = serviceFactory.getServiceDefinition(); if (serviceDefinition.isStateful()) { serviceDescriptor.getFeatures().put("stateful", "true"); } deployedServicesData.setServiceDescriptor(service.getServiceId(), serviceDescriptor); return serviceDescriptor; }
/** * Create new ServiceDescriptor based on given as a parameter and limit serviceLocations and generate service globalId * @param candidate * @param queryCriteria * @return */ private ServiceDescriptor modifyServiceDescriptor(final ServiceCandidate candidate, final QueryCriteria queryCriteria) { final ServiceDescriptor origDescriptor = candidate.getServiceInformation().getDescriptor(); final Collection<String> acceptableProtocols = queryCriteria.getAcceptableProtocols(); final ServiceDescriptor modifiedDescriptor = new ServiceDescriptor(); modifiedDescriptor.setServiceId(origDescriptor.getServiceId()); modifiedDescriptor.setType(origDescriptor.getType()); modifiedDescriptor.setVersion(origDescriptor.getVersion()); modifiedDescriptor.setFeatures(origDescriptor.getFeatures()); modifiedDescriptor.setGlobalId(origDescriptor.getGlobalId()); modifiedDescriptor.setServiceLocations(limitServiceLocations(origDescriptor.getServiceLocations(), acceptableProtocols)); modifiedDescriptor.setServicePriority(origDescriptor.getServicePriority()); return modifiedDescriptor; }