/** * @see org.osgi.service.cm.Configuration#getFactoryPid() */ public String getFactoryPid() { return configuration.getFactoryPid(); }
@Override String getType(final Configuration config) { return SUPERVISOR_PID_REPLACEMENT.matcher(config.getFactoryPid()).replaceFirst(""); }
@Override String getType(final Configuration config) { return GATEWAY_PID_REPLACEMENT.matcher(config.getFactoryPid()).replaceFirst(""); }
@Override String getType(final Configuration config) { return CONNECTOR_PID_REPLACEMENT.matcher(config.getFactoryPid()).replaceFirst(""); }
private String getObjectName(Configuration configuration) { StringBuffer posfix = new StringBuffer(); posfix.append("pid=" + configuration.getPid()); if (configuration.getFactoryPid() != null) posfix.append( ",isFactory=true,FactoryPid=" + configuration.getFactoryPid()); else posfix.append(",isFactory=false"); String oname = ObjectNames.CM_OBJECT + posfix.toString(); return oname; } }
@Override public Configuration getConfiguration(String pid) throws IOException { for (Configuration config : configurations) { if (config.getPid().equals(pid) && config.getFactoryPid() == null) { return config; } } Hashtable<String, Object> cfg = new Hashtable<>(); cfg.put(Constants.SERVICE_PID, pid); return new StaticConfigurationImpl(pid, null, cfg); }
@Override public Configuration getConfiguration(String pid) throws IOException { for (Configuration config : configurations) { if (config.getPid().equals(pid) && config.getFactoryPid() == null) { return config; } } Hashtable<String, Object> cfg = new Hashtable<>(); cfg.put(Constants.SERVICE_PID, pid); return new StaticConfigurationImpl(pid, null, cfg); }
@PostConstruct public void init() { Configuration[] configs; try { configs = admin.listConfigurations(null); } catch (Exception e) { return; } Collection<String> pids = new ArrayList<String>(); for (Configuration config : configs) { if (config.getFactoryPid() != null) { pids.add(config.getFactoryPid()); } else { pids.add(config.getPid()); } } delegate.getStrings().addAll(pids); }
protected void doExecute(ConfigurationAdmin admin) throws Exception { Configuration[] configs = admin.listConfigurations(query); for (Configuration config : configs) { System.out.println("----------------------------------------------------------------"); System.out.println("Pid: " + config.getPid()); if (config.getFactoryPid() != null) { System.out.println("FactoryPid: " + config.getFactoryPid()); } System.out.println("BundleLocation: " + config.getBundleLocation()); if (config.getProperties() != null) { System.out.println("Properties:"); Dictionary props = config.getProperties(); for (Enumeration e = props.keys(); e.hasMoreElements();) { Object key = e.nextElement(); System.out.println(" " + key + " = " + props.get(key)); } } } } }
protected void doExecute(ConfigurationAdmin admin) throws Exception { Configuration[] configs = admin.listConfigurations(query); for (Configuration config : configs) { io.out.println("----------------------------------------------------------------"); io.out.println("Pid: " + config.getPid()); if (config.getFactoryPid() != null) { io.out.println("FactoryPid: " + config.getFactoryPid()); } io.out.println("BundleLocation: " + config.getBundleLocation()); if (config.getProperties() != null) { io.out.println("Properties:"); Dictionary props = config.getProperties(); for (Enumeration e = props.keys(); e.hasMoreElements();) { Object key = e.nextElement(); io.out.println(" " + key + " = " + props.get(key)); } } } } }
@Override public ManagedServiceFactory addingService(ServiceReference<ManagedServiceFactory> reference) { ManagedServiceFactory factory = context.getService(reference); Object pidObj = reference.getProperty(Constants.SERVICE_PID); if (pidObj instanceof String) { String pid = (String) pidObj; for (Configuration config : configurations) { if (config.getPid().equals(pid) && config.getFactoryPid() != null) { try { factory.updated(config.getFactoryPid(), config.getProperties()); } catch (ConfigurationException e) { e.printStackTrace(); } } } } else { System.err.println("Unsupported pid: " + pidObj); } return factory; }
public void init() { Configuration[] configs; try { configs = admin.listConfigurations(null); if (configs == null) { return; } } catch (Exception e) { return; } Collection<String> pids = new ArrayList<String>(); for (Configuration config : configs) { if (config.getFactoryPid() != null) { pids.add(config.getFactoryPid()); } else { pids.add(config.getPid()); } } delegate.getStrings().addAll(pids); }
@Override public ManagedServiceFactory addingService(ServiceReference<ManagedServiceFactory> reference) { ManagedServiceFactory factory = context.getService(reference); Object pidObj = reference.getProperty(Constants.SERVICE_PID); if (pidObj instanceof String) { String pid = (String) pidObj; for (Configuration config : configurations) { if (config.getPid().equals(pid) && config.getFactoryPid() != null) { try { factory.updated(config.getFactoryPid(), config.getProperties()); } catch (ConfigurationException e) { e.printStackTrace(); } } } } else { System.err.println("Unsupported pid: " + pidObj); } return factory; }
@Override public String getName() { return "OSGIConfig:pid="+ (osgiConfiguration.getPid()!=null?osgiConfiguration.getPid():osgiConfiguration.getFactoryPid()); }
protected ServiceComponentProp map(ServiceComponent component, Configuration config) { Dictionary configProps = null; if (config != null) { try { configProps = config.getProperties(); } catch (IllegalStateException ise) { // the configuration may have beed deleted already } } ServiceComponentProp scp = map(component, configProps); if (config != null) { // set the service PID & Factory Pid String pid = config.getPid(); String fpid = config.getFactoryPid(); if (pid != null) scp.properties.put(Constants.SERVICE_PID, pid); if (fpid != null) scp.properties.put(ConfigurationAdmin.SERVICE_FACTORYPID, fpid); } return scp; }
@Override public void configurationEvent(ConfigurationEvent event) { if (event.getType() == ConfigurationEvent.CM_UPDATED && event.getFactoryPid() != null && event.getFactoryPid().startsWith(config.getFactoryPid())) { latch.countDown(); } } }, null);
public static void writeConfigurations(final Configuration[] cs, final PrintWriter w) { writeLines(PRE, w); for (final Configuration cfg : cs) { if (cfg.getFactoryPid() != null) { w.println("<factoryconfiguration factorypid=\"" + cfg.getFactoryPid() + "\" mode=\"update\">"); writeProperties(cfg.getProperties(), w); w.println("</factoryconfiguration>"); } else { w.println("<configuration pid=\"" + cfg.getPid() + "\" mode=\"new\">"); writeProperties(cfg.getProperties(), w); w.println("</configuration>"); } } writeLines(POST, w); }
public static void writeConfigurations(final Configuration[] cs, final PrintWriter w) { writeLines(PRE, w); for (final Configuration cfg : cs) { if (cfg.getFactoryPid() != null) { w.println("<factoryconfiguration factorypid=\"" + cfg.getFactoryPid() + "\" mode=\"update\">"); writeProperties(cfg.getProperties(), w); w.println("</factoryconfiguration>"); } else { w.println("<configuration pid=\"" + cfg.getPid() + "\" mode=\"new\">"); writeProperties(cfg.getProperties(), w); w.println("</configuration>"); } } writeLines(POST, w); }
public synchronized void registerFactory(IPojoFactory factory) { m_factories.put(factory.getFactoryName(), factory); ServiceLocator<ConfigurationAdmin> locator = new ServiceLocator<ConfigurationAdmin>(ConfigurationAdmin .class, m_context); final ConfigurationAdmin admin = locator.get(); if (admin == null) { return; } List<Configuration> configurations = findFactoryConfiguration(admin, factory); for (Configuration configuration : configurations) { try { factory.updated(configuration.getPid(), configuration.getProperties()); } catch (ConfigurationException e) { m_logger.log(Log.ERROR, "Cannot reconfigure instance " + configuration.getPid() + " from " + configuration.getFactoryPid() + " with the configuration : " + configuration.getProperties(), e); } } }
public synchronized void registerFactory(IPojoFactory factory) { m_factories.put(factory.getFactoryName(), factory); ServiceLocator<ConfigurationAdmin> locator = new ServiceLocator<ConfigurationAdmin>(ConfigurationAdmin .class, m_context); final ConfigurationAdmin admin = locator.get(); if (admin == null) { return; } List<Configuration> configurations = findFactoryConfiguration(admin, factory); for (Configuration configuration : configurations) { try { factory.updated(configuration.getPid(), configuration.getProperties()); } catch (ConfigurationException e) { m_logger.log(Log.ERROR, "Cannot reconfigure instance " + configuration.getPid() + " from " + configuration.getFactoryPid() + " with the configuration : " + configuration.getProperties(), e); } } }