Java Code Examples for org.osgi.framework.Constants

The following code examples are extracted from open source projects. You can click to vote up the examples that are useful to you.

Example 1

From project Android_1, under directory /org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/.

Source file: AdvertisedService.java

  19 
vote

public AdvertisedService(ServiceReference ref){
  Assert.isNotNull(ref);
  this.serviceReference=ref;
  this.uuid=UUID.randomUUID().toString();
  String services[]=(String[])this.serviceReference.getProperty(Constants.OBJECTCLASS);
  for (  String k : this.serviceReference.getPropertyKeys()) {
    Object value=this.serviceReference.getProperty(k);
    if (value instanceof String && ((String)value).contains("localhost")) {
      this.properties.put(k,((String)value).replace("localhost",Geo.getHost()));
      continue;
    }
    this.properties.put(k,this.serviceReference.getProperty(k));
  }
  IServiceTypeID serviceTypeID=ServiceIDFactory.getDefault().createServiceTypeID(DiscoveryContainer.getSingleton().getConnectNamespace(),services,IServiceTypeID.DEFAULT_PROTO);
  serviceTypeID=new ZooServiceTypeID((DiscoveryNamespace)DiscoveryContainer.getSingleton().getConnectNamespace(),serviceTypeID,this.serviceReference.getProperty(Constants.SERVICE_ID).toString());
  serviceID=new ZooServiceID(DiscoveryContainer.getSingleton().getConnectNamespace(),serviceTypeID,Geo.getLocation());
  super.properties=new ServiceProperties(this.properties);
  this.properties.put(Constants.OBJECTCLASS,arrayToString(services));
  this.properties.put(LOCATION,Geo.getLocation());
  this.properties.put(WEIGHT,getWeight());
  this.properties.put(PRIORITY,getPriority());
  this.properties.put(NODE_PROPERTY_NAME_PROTOCOLS,arrayToString(IServiceTypeID.DEFAULT_PROTO));
  this.properties.put(NODE_PROPERTY_NAME_SCOPE,arrayToString(IServiceTypeID.DEFAULT_SCOPE));
  this.properties.put(NODE_PROPERTY_NAME_NA,IServiceTypeID.DEFAULT_NA);
  publishedServices.put(serviceTypeID.getInternal(),this);
}
 

Example 2

From project ant4eclipse, under directory /org.ant4eclipse.lib.pde/src/org/ant4eclipse/lib/pde/model/pluginproject/.

Source file: BundleSource.java

  19 
vote

/** 
 * <p> Returns the 'Bundle-Classpath' entries or <code>.</code> if no 'Bundle-Classpath' has been specified (default value). </p>
 * @return the 'Bundle-Classpath' entries or <code>.</code> if no 'Bundle-Classpath' has been specified.
 */
public String[] getBundleClasspath(){
  String[] bundleClasspath=ManifestElement.getArrayFromList(this._bundleManifest.getMainAttributes().getValue(Constants.BUNDLE_CLASSPATH));
  if ((bundleClasspath == null) || (bundleClasspath.length < 1)) {
    bundleClasspath=new String[]{"."};
  }
  return bundleClasspath;
}
 

Example 3

From project arkadiko, under directory /src/com/liferay/arkadiko/.

Source file: AKBeanPostProcessor.java

  19 
vote

/** 
 * Creates the filter.
 * @param bundleContext the bundle context
 * @param beanId the bean id
 * @param interfaces the interfaces
 * @return the filter
 * @throws AKBeansException the aK beans exception
 */
protected Filter createFilter(BundleContext bundleContext,String beanId,List<Class<?>> interfaces) throws AKBeansException {
  StringBuffer sb=new StringBuffer(interfaces.size() * 5 + 10);
  sb.append(AKConstants.OPEN_PAREN_AND_AMP);
  if (!isStrictMatching() && (interfaces.size() > 1)) {
    sb.append(AKConstants.OPEN_PAREN_AND_PIPE);
  }
  for (  Class<?> clazz : interfaces) {
    sb.append(AKConstants.OPEN_PAREN);
    sb.append(Constants.OBJECTCLASS);
    sb.append(AKConstants.EQUAL);
    sb.append(clazz.getName());
    sb.append(AKConstants.CLOSE_PAREN);
  }
  if (!isStrictMatching() && (interfaces.size() > 1)) {
    sb.append(AKConstants.CLOSE_PAREN);
  }
  sb.append(AKConstants.OPEN_PAREN);
  sb.append(AKConstants.BEAN_ID);
  sb.append(AKConstants.EQUAL);
  sb.append(beanId);
  sb.append(AKConstants.CP_OP_EX_OP);
  sb.append(AKConstants.ORIGINAL_BEAN);
  sb.append(AKConstants.EQ_STAR_CP_CP_CP);
  try {
    return bundleContext.createFilter(sb.toString());
  }
 catch (  InvalidSyntaxException e) {
    throw new AKBeansException(e.getMessage(),e);
  }
}
 

Example 4

From project arquillian-container-osgi, under directory /container-common/src/main/java/org/jboss/arquillian/container/osgi/.

Source file: AbstractOSGiApplicationArchiveProcessor.java

  19 
vote

private void enhanceApplicationArchive(Archive<?> appArchive,TestClass testClass,Manifest manifest){
  if (ClassContainer.class.isAssignableFrom(appArchive.getClass()) == false)   throw new IllegalArgumentException("ClassContainer expected: " + appArchive);
  Class<?> javaClass=testClass.getJavaClass();
  String path=javaClass.getName().replace('.','/') + ".class";
  if (appArchive.contains(path) == false)   ((ClassContainer<?>)appArchive).addClass(javaClass);
  final OSGiManifestBuilder builder=OSGiManifestBuilder.newInstance();
  Attributes attributes=manifest.getMainAttributes();
  for (  Entry<Object,Object> entry : attributes.entrySet()) {
    String key=entry.getKey().toString();
    String value=(String)entry.getValue();
    if (key.equals("Manifest-Version"))     continue;
    if (key.equals(Constants.IMPORT_PACKAGE)) {
      String[] imports=value.split(",");
      builder.addImportPackages(imports);
      continue;
    }
    if (key.equals(Constants.EXPORT_PACKAGE)) {
      String[] exports=value.split(",");
      builder.addExportPackages(exports);
      continue;
    }
    builder.addManifestHeader(key,value);
  }
  builder.addExportPackages(javaClass);
  addImportsForClass(builder,javaClass);
  builder.addImportPackages("org.jboss.arquillian.container.test.api","org.jboss.arquillian.junit","org.jboss.arquillian.osgi","org.jboss.arquillian.test.api");
  builder.addImportPackages("org.jboss.shrinkwrap.api","org.jboss.shrinkwrap.api.asset","org.jboss.shrinkwrap.api.spec");
  builder.addImportPackages("org.junit","org.junit.runner","javax.inject","org.osgi.framework");
  appArchive.delete(ArchivePaths.create(JarFile.MANIFEST_NAME));
  appArchive.add(new Asset(){
    public InputStream openStream(){
      return builder.openStream();
    }
  }
,JarFile.MANIFEST_NAME);
}
 

Example 5

From project blueprint-namespaces, under directory /blueprint/blueprint-annotation-itest/src/test/java/org/apache/aries/blueprint/itests/.

Source file: AbstractIntegrationTest.java

  19 
vote

protected <T>T getOsgiService(BundleContext bc,Class<T> type,String filter,long timeout){
  ServiceTracker tracker=null;
  try {
    String flt;
    if (filter != null) {
      if (filter.startsWith("(")) {
        flt="(&(" + Constants.OBJECTCLASS + "="+ type.getName()+ ")"+ filter+ ")";
      }
 else {
        flt="(&(" + Constants.OBJECTCLASS + "="+ type.getName()+ ")("+ filter+ "))";
      }
    }
 else {
      flt="(" + Constants.OBJECTCLASS + "="+ type.getName()+ ")";
    }
    Filter osgiFilter=FrameworkUtil.createFilter(flt);
    tracker=new ServiceTracker(bc == null ? bundleContext : bc,osgiFilter,null);
    tracker.open();
    srs.add(tracker);
    Object svc=type.cast(tracker.waitForService(timeout));
    if (svc == null) {
      throw new RuntimeException("Gave up waiting for service " + flt);
    }
    return type.cast(svc);
  }
 catch (  InvalidSyntaxException e) {
    throw new IllegalArgumentException("Invalid filter",e);
  }
catch (  InterruptedException e) {
    throw new RuntimeException(e);
  }
}
 

Example 6

From project bndtools, under directory /bndtools.core/src/bndtools/classpath/.

Source file: BndContainerInitializer.java

  19 
vote

static void calculateWorkspaceBundleAccessRules(Map<Project,List<IAccessRule>> projectAccessRules,Container c){
  String packageList=c.getAttributes().get("packages");
  if (packageList != null) {
    List<IAccessRule> tmp=new LinkedList<IAccessRule>();
    StringTokenizer tokenizer=new StringTokenizer(packageList,",");
    while (tokenizer.hasMoreTokens()) {
      String token=tokenizer.nextToken();
      String pathStr=token.replace('.','/') + "/*";
      tmp.add(JavaCore.newAccessRule(new Path(pathStr),IAccessRule.K_ACCESSIBLE));
    }
    addAccessRules(projectAccessRules,c.getProject(),tmp);
  }
 else   if (isProjectContainer(c)) {
    addAccessRules(projectAccessRules,c.getProject(),null);
  }
 else   if (c.getType() == TYPE.PROJECT) {
    Manifest mf=null;
    try {
      mf=JarUtils.loadJarManifest(new FileInputStream(c.getFile()));
    }
 catch (    IOException e) {
      logger.logError("Unable to generate access rules from bundle " + c.getFile(),e);
      return;
    }
    Parameters exportPkgs=new Parameters(mf.getMainAttributes().getValue(new Name(Constants.EXPORT_PACKAGE)));
    List<IAccessRule> tmp=new LinkedList<IAccessRule>();
    for (    String exportPkg : exportPkgs.keySet()) {
      String pathStr=exportPkg.replace('.','/') + "/*";
      tmp.add(JavaCore.newAccessRule(new Path(pathStr),IAccessRule.K_ACCESSIBLE));
    }
    addAccessRules(projectAccessRules,c.getProject(),tmp);
  }
}
 

Example 7

From project bundlemaker, under directory /main/org.bundlemaker.core.osgi/src/org/bundlemaker/core/osgi/manifest/.

Source file: DefaultManifestCreator.java

  19 
vote

/** 
 * <p> </p>
 * @param packageName
 * @param modules
 * @param requiredBundles
 */
protected void importWithRequiredBundle(String packageName,List<IModuleArtifact> modules,List<IModule> requiredBundles){
  for (  IModuleArtifact exportingModuleArtifact : modules) {
    if (exportingModuleArtifact.isVirtual()) {
      continue;
    }
    IModule exportingModule=exportingModuleArtifact.getAssociatedModule();
    if (exportingModule.equals(getModuleArtifact().getAssociatedModule())) {
      continue;
    }
    IModule exportingHostModule=ManifestUtils.getFragmentHost(exportingModule);
    if (exportingHostModule.equals(getModuleArtifact().getAssociatedModule())) {
      continue;
    }
    if (requiredBundles.contains(exportingHostModule)) {
      continue;
    }
    if (isExcludedRequiredBundle(exportingHostModule)) {
      continue;
    }
    if (ManifestUtils.isHostForResourceModule(exportingModuleArtifact.getAssociatedModule(),getResourceModule())) {
      continue;
    }
    String symbolicName=getModularizedSystem().getExecutionEnvironment().equals(exportingHostModule) ? Constants.SYSTEM_BUNDLE_SYMBOLICNAME : exportingHostModule.getModuleIdentifier().getName();
    RequiredBundle requiredBundle=getBundleManifest().getRequireBundle().addRequiredBundle(symbolicName);
    if (getModularizedSystem().getModules(exportingHostModule.getModuleIdentifier().getName()).size() > 1) {
      requiredBundle.setBundleVersion(new VersionRange("[" + exportingHostModule.getModuleIdentifier().getVersion() + ","+ exportingHostModule.getModuleIdentifier().getVersion()+ "]"));
    }
    if (getManifestPreferences().isReexportRequiredBundles()) {
      requiredBundle.setVisibility(Visibility.REEXPORT);
    }
    HeaderDeclaration headerDeclaration=getMostSpecificPackageTemplate(IManifestConstants.HEADER_REQUIRE_BUNDLE_TEMPLATE,exportingHostModule.getModuleIdentifier().getName());
    if (headerDeclaration != null) {
      requiredBundle.getAttributes().putAll(headerDeclaration.getAttributes());
      requiredBundle.getDirectives().putAll(headerDeclaration.getDirectives());
    }
    requiredBundles.add(exportingHostModule);
  }
}
 

Example 8

From project camel-osgi, under directory /component/src/main/java/org/apache/camel/osgi/service/.

Source file: OsgiComponent.java

  19 
vote

@Override protected Endpoint createEndpoint(String uri,String path,Map<String,Object> params) throws Exception {
  OsgiEndpointType endpointType=OsgiEndpointType.fromPath(path);
  OsgiDefaultEndpoint endpoint=endpointType.createEndpoint(uri,this);
  setProperties(endpoint,params);
  Map<String,Object> props=new HashMap<String,Object>();
  props.put(Constants.OBJECTCLASS,OBJECT_CLASS);
  props.put(SERVICE_NAME_PROP,endpointType.getName(path));
  for (Iterator<Entry<String,Object>> iter=params.entrySet().iterator(); iter.hasNext(); ) {
    Entry<String,Object> entry=iter.next();
    props.put(entry.getKey(),entry.getValue());
    iter.remove();
  }
  convertProperties(props);
  endpoint.setProps(props);
  return endpoint;
}
 

Example 9

From project CIShell, under directory /clients/gui/org.cishell.reference.gui.datamanager/src/org/cishell/reference/gui/datamanager/.

Source file: Activator.java

  19 
vote

protected static AlgorithmFactory getService(String service){
  ServiceReference[] refs;
  try {
    refs=context.getServiceReferences(AlgorithmFactory.class.getName(),"(&(" + Constants.SERVICE_PID + "="+ service+ "))");
    if (refs != null && refs.length > 0) {
      return (AlgorithmFactory)context.getService(refs[0]);
    }
 else {
      return null;
    }
  }
 catch (  InvalidSyntaxException e) {
    e.printStackTrace();
    return null;
  }
}
 

Example 10

From project cxf-dosgi, under directory /discovery/distributed/cxf-discovery/src/main/java/org/apache/cxf/dosgi/discovery/zookeeper/.

Source file: Activator.java

  19 
vote

private Dictionary getCMDefaults(){
  Dictionary props=new Hashtable();
  props.put("zookeeper.timeout","3000");
  props.put("zookeeper.port","2181");
  props.put(Constants.SERVICE_PID,"org.apache.cxf.dosgi.discovery.zookeeper");
  return props;
}
 

Example 11

From project DirectMemory, under directory /itests/osgi/src/test/java/org/apache/directmemory/tests/osgi/cache/.

Source file: CacheServiceTest.java

  19 
vote

@Configuration public Option[] configure() throws IOException {
  return combine(getDynamicMemoryOptions(),bundle(newBundle().add(SimpleObject.class).add(CacheServiceExportingActivator.class).set(Constants.BUNDLE_ACTIVATOR,CacheServiceExportingActivator.class.getCanonicalName()).set(Constants.BUNDLE_SYMBOLICNAME,"org.apache.directmemory.tests.osgi.cacheservice.exporter").set(Constants.BUNDLE_VERSION,"1.0.0").set(Constants.DYNAMICIMPORT_PACKAGE,"*").build()).start(),new Customizer(){
    @Override public InputStream customizeTestProbe(    InputStream testProbe){
      return modifyBundle(testProbe).set(Constants.DYNAMICIMPORT_PACKAGE,"*").build();
    }
  }
,felix(),equinox());
}
 

Example 12

From project droolsjbpm-build-distribution, under directory /drools-osgi-bundles/org.drools.osgi.test/src/test/java/org/drools/osgi/test/utils/.

Source file: EclipseArtifactFinder.java

  19 
vote

private void addPlugin(Set<Plugin> plugins,Resource resource,Manifest man,boolean isExploded){
  Attributes attrs=man.getMainAttributes();
  String symbolicName=attrs.getValue(Constants.BUNDLE_SYMBOLICNAME);
  if (symbolicName != null) {
    symbolicName=symbolicName.replace("singleton:=true","");
    symbolicName=symbolicName.trim().replace(";","");
    String version=attrs.getValue(Constants.BUNDLE_VERSION);
    if (symbolicName != null && version != null)     plugins.add(new Plugin(symbolicName,version,resource,isExploded));
  }
}
 

Example 13

From project eclipse-instasearch, under directory /instasearch/src/it/unibz/instasearch/ui/.

Source file: ReportErrorDialog.java

  19 
vote

private String getStatusContent(IStatus status){
  StringWriter stringWriter=new StringWriter();
  PrintWriter printWriter=new PrintWriter(stringWriter);
  addProperty(printWriter,"version",InstaSearchPlugin.getVersion());
  addSystemProperty(printWriter,"osgi.framework.version");
  addSystemProperty(printWriter,"eclipse.buildId");
  addSystemProperty(printWriter,"java.version");
  addBundleProperty(printWriter,Constants.FRAMEWORK_VERSION);
  addBundleProperty(printWriter,Constants.FRAMEWORK_OS_NAME);
  addBundleProperty(printWriter,Constants.FRAMEWORK_OS_VERSION);
  addStatusContent(printWriter,status);
  for (  IStatus st : status.getChildren())   addStatusContent(printWriter,st);
  return stringWriter.toString();
}
 

Example 14

From project eclipse-integration-commons, under directory /org.springframework.ide.eclipse.uaa/src/org/springframework/ide/eclipse/internal/uaa/.

Source file: UaaManager.java

  19 
vote

protected void registerFeature(String usedPlugin,Map<String,String> featureData){
  if (featureData == null) {
    featureData=Collections.emptyMap();
  }
  String featureVersion=null;
  Bundle bundle=Platform.getBundle(usedPlugin);
  if (bundle != null) {
    String version=(String)bundle.getHeaders().get(Constants.BUNDLE_VERSION);
    if (version != null) {
      featureVersion=version.toString();
    }
  }
  FeatureUse feature=VersionHelper.getFeatureUse(usedPlugin,featureVersion);
  try {
    byte[] existingData=service.getFeatureUseData(product,feature);
    byte[] newData=JSONObject.toJSONString(featureData).getBytes("UTF-8");
    service.registerFeatureUsage(product,feature,mergeData(existingData,newData));
  }
 catch (  UnsupportedEncodingException e) {
  }
}
 

Example 15

From project eclipse.pde.build, under directory /org.eclipse.pde.build/src/org/eclipse/pde/internal/build/site/.

Source file: PluginRegistryConverter.java

  19 
vote

public void addRegistryToState(){
  PluginModel[] plugins=registry.getPlugins();
  PluginFragmentModel[] fragments=registry.getFragments();
  for (int i=0; i < plugins.length; i++) {
    BundleDescription bd=state.getFactory().createBundleDescription(getNextId(),plugins[i].getPluginId(),Version.parseVersion(plugins[i].getVersion()),plugins[i].getLocation(),createBundleSpecification(plugins[i].getRequires()),(HostSpecification)null,null,null,null,true);
    String libs=createClasspath(plugins[i].getRuntime());
    Properties manifest=new Properties();
    if (libs != null)     manifest.put(Constants.BUNDLE_CLASSPATH,libs);
    loadPropertyFileIn(manifest,new File(fragments[i].getLocation()));
    bd.setUserObject(manifest);
    addBundleDescription(bd);
  }
  for (int i=0; i < fragments.length; i++) {
    HostSpecification host=state.getFactory().createHostSpecification(fragments[i].getPluginId(),new VersionRange(fragments[i].getPluginVersion()));
    BundleDescription bd=state.getFactory().createBundleDescription(getNextId(),fragments[i].getId(),Version.parseVersion(fragments[i].getVersion()),fragments[i].getLocation(),createBundleSpecification(fragments[i].getRequires()),host,null,null,null,true);
    String libs=createClasspath(fragments[i].getRuntime());
    Properties manifest=new Properties();
    if (libs != null)     manifest.put(Constants.BUNDLE_CLASSPATH,libs);
    loadPropertyFileIn(manifest,new File(fragments[i].getLocation()));
    bd.setUserObject(manifest);
    addBundleDescription(bd);
  }
}
 

Example 16

From project eik, under directory /plugins/info.evanchik.eclipse.karaf.core/src/main/java/info/evanchik/eclipse/karaf/core/model/.

Source file: GenericKarafPlatformDetails.java

  19 
vote

@Override public String getDescription(){
  final String description;
  try {
    final Manifest manifest=platformDetailsBundle.getManifest();
    if (manifest == null) {
      description="";
    }
 else {
      final String bundleDescription=manifest.getMainAttributes().getValue(Constants.BUNDLE_DESCRIPTION);
      if (bundleDescription == null) {
        description="";
      }
 else {
        description=bundleDescription;
      }
    }
  }
 catch (  final IOException e) {
    return "";
  }
  return description;
}
 

Example 17

From project examples_1, under directory /datanucleus/com.paremus.example.datanucleus.service/src/com/paremus/example/datanucleus/service/rest/.

Source file: Publisher.java

  19 
vote

private int findHttpPort(BundleContext context) throws Exception {
  ServiceReference[] refs=context.getAllServiceReferences(null,"(jetty.port=*)");
  if (refs == null || refs.length == 0) {
    System.err.println("====> WARNING: Unable to find Jetty port, defaulting to " + DEFAULT_HTTP_PORT);
    return DEFAULT_HTTP_PORT;
  }
  if (refs.length > 2)   System.err.println("====> WARNING: More than one Jetty port appears to be opening, using first");
  int portNum;
  Object portObj=refs[0].getProperty("jetty.port");
  if (portObj instanceof Number)   portNum=((Number)portObj).intValue();
 else   if (portObj instanceof String)   portNum=Integer.parseInt((String)portObj);
 else   throw new Exception(String.format("Invalid type for property jetty.port on service ID %d. Expected number or String, was %s.",refs[0].getProperty(Constants.SERVICE_ID),portObj.getClass().getName()));
  System.out.println("====> Returning jetty.port=" + portNum);
  return portNum;
}
 

Example 18

From project Extensions2Services, under directory /eu.wwuk.eclipse.extsvcs.core/src/eu/wwuk/eclipse/extsvcs/core/internal/.

Source file: Utils.java

  19 
vote

public static final String buildFilter(String objectClass,String extraFilter){
  String result;
  if (extraFilter != null && extraFilter.length() > 0) {
    result=String.format("(&(%s=%s)%s)",Constants.OBJECTCLASS,objectClass,extraFilter);
  }
 else {
    result=String.format("(%s=%s)",Constants.OBJECTCLASS,objectClass);
  }
  return result;
}
 

Example 19

From project Foglyn, under directory /com.foglyn.core/src/com/foglyn/core/.

Source file: FoglynCorePlugin.java

  19 
vote

private String getBundleVersion(){
  Dictionary<?,?> headers=getBundle().getHeaders();
  Object version=headers.get(Constants.BUNDLE_VERSION);
  if (version == null) {
    return null;
  }
  return String.valueOf(version);
}
 

Example 20

From project Gemini-Blueprint, under directory /core/src/main/java/org/eclipse/gemini/blueprint/blueprint/container/support/.

Source file: BlueprintContainerServicePublisher.java

  19 
vote

private void registerService(ApplicationContext applicationContext){
  final Dictionary<String,Object> serviceProperties=new Hashtable<String,Object>();
  Bundle bundle=bundleContext.getBundle();
  String symName=bundle.getSymbolicName();
  serviceProperties.put(Constants.BUNDLE_SYMBOLICNAME,symName);
  serviceProperties.put(BLUEPRINT_SYMNAME,symName);
  Version version=OsgiBundleUtils.getBundleVersion(bundle);
  serviceProperties.put(Constants.BUNDLE_VERSION,version);
  serviceProperties.put(BLUEPRINT_VERSION,version);
  log.info("Publishing BlueprintContainer as OSGi service with properties " + serviceProperties);
  final String[] serviceNames=new String[]{BlueprintContainer.class.getName()};
  if (log.isDebugEnabled())   log.debug("Publishing service under classes " + ObjectUtils.nullSafeToString(serviceNames));
  AccessControlContext acc=SecurityUtils.getAccFrom(applicationContext);
  if (System.getSecurityManager() != null) {
    registration=AccessController.doPrivileged(new PrivilegedAction<ServiceRegistration>(){
      public ServiceRegistration run(){
        return bundleContext.registerService(serviceNames,blueprintContainer,serviceProperties);
      }
    }
,acc);
  }
 else {
    registration=bundleContext.registerService(serviceNames,blueprintContainer,serviceProperties);
  }
}