private Configuration createConfiguration(ConfigurationAdmin configurationAdmin, String pid, String factoryPid) throws IOException, InvalidSyntaxException { if (factoryPid != null) { return configurationAdmin.createFactoryConfiguration(pid, null); } else { return configurationAdmin.getConfiguration(pid, null); } }
final Configuration getConfiguration( String pid, String factoryPid ) throws IOException { if ( factoryPid != null && ( pid == null || pid.equals( ConfigManager.PLACEHOLDER_PID ) ) ) { return this.service.createFactoryConfiguration( factoryPid, null ); } return this.service.getConfiguration( pid, null ); }
final Configuration getConfiguration( String pid, String factoryPid ) throws IOException { if ( factoryPid != null && ( pid == null || pid.equals( ConfigManager.PLACEHOLDER_PID ) ) ) { return this.service.createFactoryConfiguration( factoryPid, null ); } return this.service.getConfiguration( pid, null ); }
protected Configuration createConfiguration(ConfigurationAdmin configurationAdmin, String pid, String factoryPid) throws IOException, InvalidSyntaxException { if (factoryPid != null) { return configurationAdmin.createFactoryConfiguration(pid, null); } else { return configurationAdmin.getConfiguration(pid, null); } }
/** * Create a new instance configuration for a given factoryPid, returning the * instance PID. * * @param factoryPid * the factory PID * @return the instance PID */ public String createInstance(String factoryPid) throws IOException { return cm.createFactoryConfiguration(factoryPid, "?").getPid(); }
private void configureFactory(String pid, String... params) throws IOException { Configuration conf = m_config.createFactoryConfiguration(pid, null); Dictionary properties = conf.getProperties(); if (properties == null) { properties = new Properties(); } boolean changed = false; for (int i = 0; i < params.length; i += 2) { if (!params[i + 1].equals(properties.get(params[i]))) { properties.put(params[i], params[i + 1]); changed = true; } } if (changed) { conf.update(properties); } }
/** * This example shows how to create a factory configuration. */ @Tooltip("Create a a factory configuration for pid='factory', this activates the ManagedServiceFactory component") public void factory() throws IOException { Configuration a = cm.createFactoryConfiguration("factory", "?"); Hashtable<String, Object> map = new Hashtable<String, Object>(); map.put("msg", "Hello Factory"); a.update(map); }
@Activate void activate(Map<String, ?> configuration) throws Exception { boolean standalone = "true".equalsIgnoreCase((String) configuration.get("standalone")); String factoryPid = standalone ? "io.fabric8.mq.fabric.standalone.server" : "io.fabric8.mq.fabric.clustered.server"; config = configurationAdmin.get().createFactoryConfiguration(factoryPid, null); config.update(toDictionary(configuration)); }
@Override public String createFactoryConfiguration(String factoryPid, String alias, Map<String, Object> properties) throws IOException { Configuration config = configAdmin.createFactoryConfiguration(factoryPid, "?"); TypedProperties props = new TypedProperties(); File file = null; if (alias != null && !"".equals(alias.trim())) { file = new File(new File(System.getProperty("karaf.etc")), factoryPid + "-" + alias + ".cfg"); } else { file = File.createTempFile(factoryPid + "-", ".cfg", new File(System.getProperty("karaf.etc"))); } props.putAll(properties); props.save(file); props.put(FILEINSTALL_FILE_NAME, file.toURI().toString()); config.update(new Hashtable<>(props)); return config.getPid(); }
@Override public String createFactoryConfiguration(String factoryPid, String alias, Map<String, Object> properties) throws IOException { Configuration config = configAdmin.createFactoryConfiguration(factoryPid, "?"); TypedProperties props = new TypedProperties(); File file = null; if (alias != null && !"".equals(alias.trim())) { file = new File(new File(System.getProperty("karaf.etc")), factoryPid + "-" + alias + ".cfg"); } else { file = File.createTempFile(factoryPid + "-", ".cfg", new File(System.getProperty("karaf.etc"))); } props.putAll(properties); props.save(file); props.put(FILEINSTALL_FILE_NAME, file.toURI().toString()); config.update(new Hashtable<>(props)); return config.getPid(); }
protected Configuration getConfiguration(ConfigurationAdmin configurationAdmin, String pid, String factoryPid) throws IOException, InvalidSyntaxException { if (factoryPid != null) { Configuration[] configs = configurationAdmin.listConfigurations("(|(" + ALIAS_KEY + "=" + pid + ")(.alias_factory_pid=" + factoryPid + "))"); if (configs == null || configs.length == 0) { return configurationAdmin.createFactoryConfiguration(pid, null); } else { return configs[0]; } } else { return configurationAdmin.getConfiguration(pid, null); } }
private Configuration getConfiguration(String pidString, String pid, String factoryPid) throws Exception { Configuration oldConfiguration = findExistingConfiguration(pidString); if (oldConfiguration != null) { return oldConfiguration; } else { Configuration newConfiguration; if (factoryPid != null) { newConfiguration = cm.createFactoryConfiguration(pid, null); } else { newConfiguration = cm.getConfiguration(pid, null); } return newConfiguration; } }
private Configuration saveOsgiConfig(String factoryPid, String componentName, Map<String, Object> properties) { try { List<Configuration> configurations = getOsgiConfigurationsFromFactory(factoryPid, componentName); Configuration configuration = null; if (configurations == null || configurations.isEmpty()) { configuration = configurationAdmin.createFactoryConfiguration(factoryPid); } else { configuration = configurations.get(0); } properties = filterBeforeSave(properties); configuration.update(OsgiUtils.toDictionary(properties)); return configuration; } catch (IOException e) { log.error("Cannot create configuration with factory {}", factoryPid, e); } return null; }
/** * Updates the configuration to the {@link ConfigurationAdmin} service. * * @param admin * @param pid * @param props * @throws IOException */ public void updateConfiguration(ConfigurationAdmin admin, String pid, Dictionary<String, Object> props) throws IOException { Configuration cfg = admin.getConfiguration(pid, null); if (cfg.getProperties() == null) { String[] pids = parsePid(pid); if (pids[1] != null) { cfg = admin.createFactoryConfiguration(pids[0], null); } } cfg.update(props); }
/** * @see org.apache.felix.jmood.compendium.ConfigAdminManagerMBean#createFactoryConfiguration(java.lang.String) */ public String createFactoryConfiguration(String pid) throws Exception { ConfigurationAdmin cad=ac.getConfigurationAdmin(); if (cad != null) { Configuration conf = cad.createFactoryConfiguration(pid); refresh(); return this.getObjectName(conf); } else return null; }
/** * @see org.apache.felix.jmood.compendium.ConfigAdminManagerMBean#createFactoryConfiguration(java.lang.String, java.lang.String) */ public String createFactoryConfiguration(String pid, String location) throws Exception { ConfigurationAdmin cad=ac.getConfigurationAdmin(); if (cad != null) { Configuration conf = cad.createFactoryConfiguration(pid, location); refresh(); return this.getObjectName(conf); } else return null; } /**
protected Configuration getConfiguration(String pid, String factoryPid) throws IOException, InvalidSyntaxException { ConfigurationAdmin configurationAdmin = activator.getConfigurationAdmin(); if (factoryPid != null) { Configuration[] configs = configurationAdmin.listConfigurations("(|(" + ALIAS_KEY + "=" + pid + ")(.alias_factory_pid=" + factoryPid + "))"); if (configs == null || configs.length == 0) { return configurationAdmin.createFactoryConfiguration(pid, null); } else { return configs[0]; } } else { return configurationAdmin.getConfiguration(pid, null); } }
@Override public void create(String name, String driverName, String driverClass, String databaseName, String url, String user, String password, String databaseType) throws Exception { if (driverName == null && driverClass == null) { throw new IllegalStateException("No driverName or driverClass supplied"); } if (datasources().contains(name)) { throw new IllegalArgumentException("There is already a DataSource with the name " + name); } Dictionary<String, String> properties = new Hashtable<>(); properties.put(DataSourceFactory.JDBC_DATASOURCE_NAME, name); put(properties, DataSourceFactory.OSGI_JDBC_DRIVER_NAME, driverName); put(properties, DataSourceFactory.OSGI_JDBC_DRIVER_CLASS, driverClass); put(properties, DataSourceFactory.JDBC_DATABASE_NAME, databaseName); put(properties, DataSourceFactory.JDBC_URL, url); put(properties, DataSourceFactory.JDBC_USER, user); put(properties, DataSourceFactory.JDBC_PASSWORD, password); put(properties, "dataSourceType", databaseType); Configuration config = configAdmin.createFactoryConfiguration("org.ops4j.datasource", null); config.update(properties); }
private void serialize(final String identityName, final E entity, final ConfigurationAdmin admin) throws IOException { //find existing configuration of gateway final BooleanBox updated = BooleanBox.of(false); forEachConfiguration(admin, createIdentityFilter(identityName, entity), config -> { serialize(identityName, entity, config); updated.set(true); }); //no existing configuration, creates a new configuration if (!updated.get()) { final String persistentID = getFactoryPersistentID(entity); if (isNullOrEmpty(persistentID)) throw new IOException(String.format("Configuration entity %s could not be saved because its type is not specified", identityName)); else serialize(identityName, entity, admin.createFactoryConfiguration(persistentID, null)); } }
Configuration getConfiguration(String zooKeeperPid, String pid, String factoryPid) throws Exception { String filter = "(" + FABRIC_ZOOKEEPER_PID + "=" + zooKeeperPid + ")"; Configuration[] oldConfiguration = getConfigAdmin().listConfigurations(filter); if (oldConfiguration != null && oldConfiguration.length > 0) { return oldConfiguration[0]; } else { Configuration newConfiguration; if (factoryPid != null) { newConfiguration = getConfigAdmin().createFactoryConfiguration(pid, null); } else { newConfiguration = getConfigAdmin().getConfiguration(pid, null); } return newConfiguration; } }