當前位置: 首頁>>代碼示例>>Java>>正文


Java ConfigurationAdmin.getConfiguration方法代碼示例

本文整理匯總了Java中org.osgi.service.cm.ConfigurationAdmin.getConfiguration方法的典型用法代碼示例。如果您正苦於以下問題:Java ConfigurationAdmin.getConfiguration方法的具體用法?Java ConfigurationAdmin.getConfiguration怎麽用?Java ConfigurationAdmin.getConfiguration使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.osgi.service.cm.ConfigurationAdmin的用法示例。


在下文中一共展示了ConfigurationAdmin.getConfiguration方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: creating

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
@Test(timeout = 5000)
public void creating() throws IOException {
    ServiceReference<ConfigurationAdmin> reference = bundleContext
            .getServiceReference(ConfigurationAdmin.class);
    ConfigurationAdmin configurationAdmin = bundleContext.getService(reference);

    org.osgi.service.cm.Configuration configuration = configurationAdmin.getConfiguration("new");

    Hashtable<String, Object> update = new Hashtable<>();
    update.put("test", "passed");
    configuration.update(update);

    Map<String, String> config = new HashMap<>();

    do {
        try {
            config = ConfigFileReader.read("lib/new.cfg", new FileInputStream("lib/new.cfg"));
        } catch (IOException e) {}
    } while (config.get("test") == null || !config.get("test").contentEquals("passed"));

}
 
開發者ID:yrashk,項目名稱:etcetera,代碼行數:22,代碼來源:BackendConfigurationTest.java

示例2: getConfig

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
private Configuration getConfig(String pid) throws IOException {
  //If bundle's serviceReference is null (e.g., when you only install driver without start),
  //use loc, it setup bundle's location forcibly
  //String loc = null;
  BundleContext ctx = context;
  Bundle[] bundles = ctx.getBundles();
  for (Bundle bun : bundles) {
    if (bun.getSymbolicName().contains(pid)) {
      ctx = bun.getBundleContext();
      //loc = bun.getLocation();
      break;
    }
  }
  ServiceReference configurationAdminReference
      = ctx.getServiceReference(ConfigurationAdmin.class.getName());
  if (configurationAdminReference != null) {
    ConfigurationAdmin configurationAdmin = (ConfigurationAdmin) ctx.getService(configurationAdminReference);
    Configuration config = (Configuration) configurationAdmin.getConfiguration(pid);
    return config;
  }
  return null;
}
 
開發者ID:semiotproject,項目名稱:semiot-platform,代碼行數:23,代碼來源:WebConfigurator.java

示例3: configuringBundle

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
public void configuringBundle(BundleContext ctx, HashMap<String, BundleContext> contextBundles) {
  if (pid != null && properties != null) {
    if(contextBundles.containsKey(pid)) {
      ctx = contextBundles.get(pid);
    }
    ServiceReference configurationAdminReference =
        ctx.getServiceReference(ConfigurationAdmin.class.getName());

    if (configurationAdminReference != null) {
      ConfigurationAdmin configurationAdmin =
          (ConfigurationAdmin) ctx.getService(configurationAdminReference);
      try {
        Configuration config = configurationAdmin.getConfiguration(pid);
        config.update(properties);
      } catch (IOException e) {
        logger.error(e.getMessage(), e);
      }
    }
  }
}
 
開發者ID:semiotproject,項目名稱:semiot-platform,代碼行數:21,代碼來源:ABundle.java

示例4: doPost

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	String length = request.getParameter("length");
	String width = request.getParameter("width");
	String height = request.getParameter("height");
	try { 
		ConfigurationAdmin c = (ConfigurationAdmin) new InitialContext().lookup("blueprint:comp/configAdminRef");
		Configuration config = c.getConfiguration (PID, null);
		Dictionary<String, Object> dict = new Hashtable<String, Object>();
		dict.put("length", length);
		dict.put("width", width);
		dict.put("height", height);
		config.update(dict);
		response.getWriter().println ("<html><head/><body>Config updated. Click <a href=\"/test.wab.frontEnd/index.html\">here</a> to input new configuration.</body></html>");
		
		// Exercise the custom blueprint namespace handler
		SomeService s = (SomeService) new InitialContext().lookup("blueprint:comp/someServiceRef");
		s.doSomething();

	} catch (Exception e) { 
		e.printStackTrace(response.getWriter());
	}
}
 
開發者ID:WASdev,項目名稱:sample.osgi.blueprint-cm,代碼行數:23,代碼來源:TestServlet.java

示例5: persistConfiguration

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
@Override
public void persistConfiguration(Map<String, Object> newConfiguration) throws InvocationException {
    Dictionary<String, Object> newConfigDictionary = new Hashtable<>();
    for(String key : newConfiguration.keySet()){
        newConfigDictionary.put(key, newConfiguration.get(key));
    }
    
    ConfigurationAdmin admin = configurationAdminTracker.getService();
    
    
    try {
        Configuration config = admin.getConfiguration(ocd.getID());
        config.update(newConfigDictionary);
    } catch (IOException | IllegalArgumentException | IllegalStateException ex) {
        throw new InvocationException("Failed to update configuration", ex);
    }
}
 
開發者ID:TDC-Netdesign,項目名稱:ManagedProperties,代碼行數:18,代碼來源:ConfigurationAdminProvider.java

示例6: configure

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
protected Configuration configure( final String pid, final String location, final boolean withProps )
{
    final ConfigurationAdmin ca = getConfigurationAdmin();
    try
    {
        final Configuration config = ca.getConfiguration( pid, location );
        if ( withProps )
        {
            config.update( theConfig );
        }
        return config;
    }
    catch ( IOException ioe )
    {
        TestCase.fail( "Failed updating configuration " + pid + ": " + ioe.toString() );
        return null; // keep the compiler quiet
    }
}
 
開發者ID:mcculls,項目名稱:osgi-in-action,代碼行數:19,代碼來源:ConfigurationTestBase.java

示例7: ConfigureThread

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
public ConfigureThread( final ConfigurationAdmin configAdmin, final String pid, final boolean isFactory )
    throws IOException
{
    // ensure configuration and disown it
    final Configuration config;
    if ( isFactory )
    {
        config = configAdmin.createFactoryConfiguration( pid );
    }
    else
    {
        config = configAdmin.getConfiguration( pid );
    }
    config.setBundleLocation( null );

    Hashtable<String, Object> props = new Hashtable<String, Object>();
    props.put( "prop1", "aValue" );
    props.put( "prop2", 4711 );

    this.config = config;
    this.props = props;
}
 
開發者ID:mcculls,項目名稱:osgi-in-action,代碼行數:23,代碼來源:ConfigureThread.java

示例8: getConfiguration

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
/**
 *
 * @return
 */
protected Properties getConfiguration() {
    ConfigurationAdmin ca = getConfigurationAdmin();
    Properties props = null;

    if(ca != null) {
        try {
            Configuration configuration = ca.getConfiguration(m_pid);
            if(configuration != null) {
                props = getConfiguration(configuration.getProperties());
            }
        } catch(Exception e) {
            LOGGER.warn("Exception",e);
        }
    }

    if(props == null) {
        LOGGER.warn("No configuration for {}",m_pid);
    }

    return props;
}
 
開發者ID:lburgazzoli,項目名稱:lb-karaf,代碼行數:26,代碼來源:AbstractManagedService.java

示例9: prepareConfiguration

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
protected void prepareConfiguration(ConfigurationAdmin configAdmin) throws Exception {
	initProperties();
	Properties localCopy = (Properties) props.clone();
	localCopy.setProperty("string", SIMPLE);
	// prepare simple
	Configuration cfg = configAdmin.getConfiguration(SIMPLE);
	cfg.update(localCopy);

	// prepare simple prototype
	cfg = configAdmin.getConfiguration(PROTO);
	localCopy.setProperty("string", PROTO);
	cfg.update(localCopy);

	// prepare container managed
	cfg = configAdmin.getConfiguration(CMNG);
	localCopy.setProperty("string", CMNG);
	cfg.update(localCopy);

	// bean managed
	cfg = configAdmin.getConfiguration(BMNG);
	localCopy.setProperty("string", BMNG);
	cfg.update(localCopy);
}
 
開發者ID:BeamFoundry,項目名稱:spring-osgi,代碼行數:24,代碼來源:ManagedPropertiesTest.java

示例10: prepareConfiguration

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
private void prepareConfiguration() throws Exception {

		ServiceReference ref = OsgiServiceReferenceUtils.getServiceReference(bundleContext,
			ConfigurationAdmin.class.getName(), null);

		ConfigurationAdmin admin = (ConfigurationAdmin) bundleContext.getService(ref);
		Configuration config = admin.getConfiguration(ID);
		config.update(DICT);
	}
 
開發者ID:eclipse,項目名稱:gemini.blueprint,代碼行數:10,代碼來源:PropertyPlaceholderTest.java

示例11: testConfigAdmin

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
@Test
public void testConfigAdmin() throws IOException {
    final String pid = "TEST_" + getClass().getName() + UUID.randomUUID();
    
    final ConfigurationAdmin ca = teleporter.getService(ConfigurationAdmin.class);
    assertNotNull("Teleporter should provide a ConfigurationAdmin", ca);
    
    final Configuration cfg = ca.getConfiguration(pid);
    assertNotNull("Expecting to get a Configuration", cfg);
    assertEquals("Expecting the correct pid", pid, cfg.getPid());
}
 
開發者ID:apache,項目名稱:sling-org-apache-sling-launchpad-integration-tests,代碼行數:12,代碼來源:BasicTeleporterTest.java

示例12: configureLogger

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
/**
 * Replaces the PAX logging configuration against a more sane minecraft-like configuration.
 * TODO: This might be better located in the development bundle and/or flange.
 */
private void configureLogger(@Nonnull BundleContext ctx) throws IOException {
  // extract configuration to an accessible location
  File configFile = ctx.getDataFile("log4j2.xml");

  try (InputStream inputStream = this.getClass().getResourceAsStream("/log4j2.xml")) {
    try (FileOutputStream outputStream = new FileOutputStream(configFile)) {
      ByteStreams.copy(inputStream, outputStream);
    }
  }

  // push config to pax logging
  ServiceReference<?> serviceReference = ctx
      .getServiceReference(ConfigurationAdmin.class.getName());

  if (serviceReference == null) {
    logger.warn("Could not replace logging configuration");
    logger.warn("You are about to experience a mindboggling amount of log messages!");
    return;
  }

  ConfigurationAdmin configurationAdmin = (ConfigurationAdmin) ctx.getService(serviceReference);
  Configuration configuration = configurationAdmin
      .getConfiguration("org.ops4j.pax.logging", null);
  Dictionary<String, Object> properties = configuration.getProperties();

  if (properties == null) {
    properties = new Hashtable<>();
  }

  properties.put("org.ops4j.pax.logging.log4j2.config.file", configFile.toString());
  configuration.update(properties);

  logger.info("Loggers have been adjusted to sane levels.");
}
 
開發者ID:BasinMC,項目名稱:Basin,代碼行數:39,代碼來源:SinkActivator.java

示例13: afterPropertiesSet

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
@Override
public void afterPropertiesSet() throws Exception {
	BundleContext bandleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
	ServiceReference refrenceByConfigAdmin = bandleContext.getServiceReference(ConfigurationAdmin.class.getName());
	Assert.notNull(refrenceByConfigAdmin, "Failed to get the configuration admin, it is null.");
	ConfigurationAdmin configAdmin = (ConfigurationAdmin) bandleContext.getService(refrenceByConfigAdmin);
	Configuration config = configAdmin.getConfiguration(osmp_PID);
	Assert.notNull(config, "Could not find the PID configuration information, PID : " + osmp_PID);
	this.updated(config.getProperties());
}
 
開發者ID:javen-hao,項目名稱:osmp,代碼行數:11,代碼來源:ResourceConfigImpl.java

示例14: updating

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
@Test(timeout = 5000)
public void updating() throws IOException {
    ServiceReference<ConfigurationAdmin> reference = bundleContext
            .getServiceReference(ConfigurationAdmin.class);
    ConfigurationAdmin configurationAdmin = bundleContext.getService(reference);

    org.osgi.service.cm.Configuration configuration = configurationAdmin.getConfiguration("test");

    Hashtable<String, Object> update = new Hashtable<>();
    update.put("test2", "updated2");
    update.put("test3", "updated3");
    configuration.update(update);

    Map<String, String> config;

    do {
        config = ConfigFileReader.read("data/test.cfg", new FileInputStream("data/test.cfg"));
    } while (config.get("test2") == null || !config.get("test2").contentEquals("updated2"));

    // No other keys have leaked
    assertEquals(1, config.size());

    do {
        config = ConfigFileReader.read("bin/test.cfg", new FileInputStream("bin/test.cfg"));
    } while (config.get("test2") == null || !config.get("test2").contentEquals("updated2"));

    // Unknown keys should propagate here
    assertEquals("updated3", config.get("test3"));

    // service.pid should not leak
    assertNull(config.get("service.pid"));

}
 
開發者ID:yrashk,項目名稱:etcetera,代碼行數:34,代碼來源:BackendConfigurationTest.java

示例15: configureLogger

import org.osgi.service.cm.ConfigurationAdmin; //導入方法依賴的package包/類
/**
 * Replaces the PAX logging configuration against a more sane minecraft-like configuration.
 * TODO: This might be better located in the development bundle and/or flange.
 */
private void configureLogger(@Nonnull BundleContext ctx) throws IOException {
  // extract configuration to an accessible location
  File configFile = ctx.getDataFile("log4j2.xml");

  try (InputStream inputStream = this.getClass().getResourceAsStream("/log4j2.xml")) {
    try (FileOutputStream outputStream = new FileOutputStream(configFile)) {
      ByteStreams.copy(inputStream, outputStream);
    }
  }

  // push config to pax logging
  ServiceReference<?> serviceReference = ctx
      .getServiceReference(ConfigurationAdmin.class.getName());

  if (serviceReference == null) {
    logger.warn("Could not replace logging configuration");
    logger.warn("You are about to experience a mindboggling amount of log messages!");
    return;
  }

  ConfigurationAdmin configurationAdmin = (ConfigurationAdmin) ctx.getService(serviceReference);
  Configuration configuration = configurationAdmin
      .getConfiguration("org.ops4j.pax.logging", null);
  Dictionary<String, Object> properties = configuration.getProperties();

  if (properties == null) {
    properties = new Hashtable<>();
  }

  properties.put("org.ops4j.pax.logging.log4j2.config.file", configFile.toString());

  configuration.update(properties);
  logger.info("Loggers have been adjusted to sane levels.");
}
 
開發者ID:BasinMC,項目名稱:Sink,代碼行數:39,代碼來源:SinkActivator.java


注:本文中的org.osgi.service.cm.ConfigurationAdmin.getConfiguration方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。