You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Paul Neyens (JIRA)" <ji...@apache.org> on 2009/01/27 10:51:00 UTC
[jira] Created: (FELIX-901) Webconsole creates a new configuration
everytime a factory configuration is updated
Webconsole creates a new configuration everytime a factory configuration is updated
-----------------------------------------------------------------------------------
Key: FELIX-901
URL: https://issues.apache.org/jira/browse/FELIX-901
Project: Felix
Issue Type: Bug
Components: Web Console
Affects Versions: webconsole-1.2.2
Environment: felix-1.4.1
org.apache.felix.configadmin-1.0.4
org.apache.felix.metatype-1.0.2
org.apache.felix.webconsole-1.2.2
org.osgi.compendium-1.2.0
pax-web-service-0.5.1
Reporter: Paul Neyens
When using the webconsole to update/edit configurations for a ManagedServiceFactory, it always creates a new configuration when pressing the 'save' button.
Note:
I 'm not sure how to set the 'pid' attribute in the metatype's Designate element when a factory pid is available. In any case, the factory does not show up in the webconsole unless the 'pid' value is identical to the 'factoryPid' value.
Tested with following code: (I can provide a bundle if required)
package trial;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedServiceFactory;
import java.util.Dictionary;
import java.util.HashSet;
import java.util.Set;
import java.util.Hashtable;
public class TrialManagedServiceFactory implements ManagedServiceFactory, BundleActivator {
private static final String PID = "trial.TrialManagedServiceFactory";
private Set<String> pids = new HashSet<String>();
public void start(BundleContext bundleContext) throws Exception {
Hashtable props = new Hashtable(5);
props.put(Constants.SERVICE_PID, PID);
bundleContext.registerService("org.osgi.service.cm.ManagedServiceFactory", this, props);
}
public void stop(BundleContext bundleContext) throws Exception {
}
public String getName() {
return PID;
}
public void updated(String s, Dictionary dictionary) throws ConfigurationException {
if (pids.add(s)) {
System.out.println("TrialManagedServiceFactory: Received new pid " + s);
} else {
System.out.println("TrialManagedServiceFactory: Received pid update " + s);
}
System.out.println(dictionary);
}
public void deleted(String s) {
if (pids.remove(s)) {
System.out.println("TrialManagedServiceFactory: Deleted pid " + s);
} else {
System.out.println("TrialManagedServiceFactory: Cannot delete unknown pid " + s);
}
}
}
metatype:
<?xml version="1.0" encoding="UTF-8"?>
<MetaData xmlns="http://www.osgi.org/xmlns/metatype/v1.0.0">
<OCD name="Trial Factory" id="trial.TrialManagedServiceFactory"
description="Trial ManagedServiceFactory">
<AD name="Param 1" id="trial.param.1" type="String"/>
<AD name="Param 2" id="trial.param.2" type="Integer"/>
</OCD>
<Designate pid="trial.TrialManagedServiceFactory" factoryPid="trial.TrialManagedServiceFactory">
<Object ocdref="trial.TrialManagedServiceFactory"/>
</Designate>
</MetaData>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (FELIX-901) Webconsole creates a new configuration
everytime a factory configuration is updated
Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Felix Meschberger closed FELIX-901.
-----------------------------------
Resolution: Duplicate
I assume this can be closed a duplicate
> Webconsole creates a new configuration everytime a factory configuration is updated
> -----------------------------------------------------------------------------------
>
> Key: FELIX-901
> URL: https://issues.apache.org/jira/browse/FELIX-901
> Project: Felix
> Issue Type: Bug
> Components: Web Console
> Affects Versions: webconsole-1.2.2
> Environment: felix-1.4.1
> org.apache.felix.configadmin-1.0.4
> org.apache.felix.metatype-1.0.2
> org.apache.felix.webconsole-1.2.2
> org.osgi.compendium-1.2.0
> pax-web-service-0.5.1
> Reporter: Paul Neyens
> Assignee: Felix Meschberger
>
> When using the webconsole to update/edit configurations for a ManagedServiceFactory, it always creates a new configuration when pressing the 'save' button.
> Note:
> I 'm not sure how to set the 'pid' attribute in the metatype's Designate element when a factory pid is available. In any case, the factory does not show up in the webconsole unless the 'pid' value is identical to the 'factoryPid' value.
> Tested with following code: (I can provide a bundle if required)
> package trial;
> import org.osgi.framework.BundleActivator;
> import org.osgi.framework.BundleContext;
> import org.osgi.framework.Constants;
> import org.osgi.service.cm.ConfigurationException;
> import org.osgi.service.cm.ManagedServiceFactory;
> import java.util.Dictionary;
> import java.util.HashSet;
> import java.util.Set;
> import java.util.Hashtable;
> public class TrialManagedServiceFactory implements ManagedServiceFactory, BundleActivator {
> private static final String PID = "trial.TrialManagedServiceFactory";
> private Set<String> pids = new HashSet<String>();
> public void start(BundleContext bundleContext) throws Exception {
> Hashtable props = new Hashtable(5);
> props.put(Constants.SERVICE_PID, PID);
> bundleContext.registerService("org.osgi.service.cm.ManagedServiceFactory", this, props);
> }
> public void stop(BundleContext bundleContext) throws Exception {
> }
> public String getName() {
> return PID;
> }
> public void updated(String s, Dictionary dictionary) throws ConfigurationException {
> if (pids.add(s)) {
> System.out.println("TrialManagedServiceFactory: Received new pid " + s);
> } else {
> System.out.println("TrialManagedServiceFactory: Received pid update " + s);
> }
> System.out.println(dictionary);
> }
> public void deleted(String s) {
> if (pids.remove(s)) {
> System.out.println("TrialManagedServiceFactory: Deleted pid " + s);
> } else {
> System.out.println("TrialManagedServiceFactory: Cannot delete unknown pid " + s);
> }
> }
> }
> metatype:
> <?xml version="1.0" encoding="UTF-8"?>
> <MetaData xmlns="http://www.osgi.org/xmlns/metatype/v1.0.0">
> <OCD name="Trial Factory" id="trial.TrialManagedServiceFactory"
> description="Trial ManagedServiceFactory">
> <AD name="Param 1" id="trial.param.1" type="String"/>
> <AD name="Param 2" id="trial.param.2" type="Integer"/>
> </OCD>
> <Designate pid="trial.TrialManagedServiceFactory" factoryPid="trial.TrialManagedServiceFactory">
> <Object ocdref="trial.TrialManagedServiceFactory"/>
> </Designate>
> </MetaData>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (FELIX-901) Webconsole creates a new configuration
everytime a factory configuration is updated
Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Felix Meschberger reassigned FELIX-901:
---------------------------------------
Assignee: Felix Meschberger
> Webconsole creates a new configuration everytime a factory configuration is updated
> -----------------------------------------------------------------------------------
>
> Key: FELIX-901
> URL: https://issues.apache.org/jira/browse/FELIX-901
> Project: Felix
> Issue Type: Bug
> Components: Web Console
> Affects Versions: webconsole-1.2.2
> Environment: felix-1.4.1
> org.apache.felix.configadmin-1.0.4
> org.apache.felix.metatype-1.0.2
> org.apache.felix.webconsole-1.2.2
> org.osgi.compendium-1.2.0
> pax-web-service-0.5.1
> Reporter: Paul Neyens
> Assignee: Felix Meschberger
>
> When using the webconsole to update/edit configurations for a ManagedServiceFactory, it always creates a new configuration when pressing the 'save' button.
> Note:
> I 'm not sure how to set the 'pid' attribute in the metatype's Designate element when a factory pid is available. In any case, the factory does not show up in the webconsole unless the 'pid' value is identical to the 'factoryPid' value.
> Tested with following code: (I can provide a bundle if required)
> package trial;
> import org.osgi.framework.BundleActivator;
> import org.osgi.framework.BundleContext;
> import org.osgi.framework.Constants;
> import org.osgi.service.cm.ConfigurationException;
> import org.osgi.service.cm.ManagedServiceFactory;
> import java.util.Dictionary;
> import java.util.HashSet;
> import java.util.Set;
> import java.util.Hashtable;
> public class TrialManagedServiceFactory implements ManagedServiceFactory, BundleActivator {
> private static final String PID = "trial.TrialManagedServiceFactory";
> private Set<String> pids = new HashSet<String>();
> public void start(BundleContext bundleContext) throws Exception {
> Hashtable props = new Hashtable(5);
> props.put(Constants.SERVICE_PID, PID);
> bundleContext.registerService("org.osgi.service.cm.ManagedServiceFactory", this, props);
> }
> public void stop(BundleContext bundleContext) throws Exception {
> }
> public String getName() {
> return PID;
> }
> public void updated(String s, Dictionary dictionary) throws ConfigurationException {
> if (pids.add(s)) {
> System.out.println("TrialManagedServiceFactory: Received new pid " + s);
> } else {
> System.out.println("TrialManagedServiceFactory: Received pid update " + s);
> }
> System.out.println(dictionary);
> }
> public void deleted(String s) {
> if (pids.remove(s)) {
> System.out.println("TrialManagedServiceFactory: Deleted pid " + s);
> } else {
> System.out.println("TrialManagedServiceFactory: Cannot delete unknown pid " + s);
> }
> }
> }
> metatype:
> <?xml version="1.0" encoding="UTF-8"?>
> <MetaData xmlns="http://www.osgi.org/xmlns/metatype/v1.0.0">
> <OCD name="Trial Factory" id="trial.TrialManagedServiceFactory"
> description="Trial ManagedServiceFactory">
> <AD name="Param 1" id="trial.param.1" type="String"/>
> <AD name="Param 2" id="trial.param.2" type="Integer"/>
> </OCD>
> <Designate pid="trial.TrialManagedServiceFactory" factoryPid="trial.TrialManagedServiceFactory">
> <Object ocdref="trial.TrialManagedServiceFactory"/>
> </Designate>
> </MetaData>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.