org.apache.felix.webconsole.internal.compendium.AjaxConfigManagerAction.applyConfiguration():
 "create" action is not handled properly
-------------------------------------------------------------------------------------------------------------------------------------

                 Key: FELIX-584
                 URL: https://issues.apache.org/jira/browse/FELIX-584
             Project: Felix
          Issue Type: Bug
          Components: Web Console
            Reporter: Dieter Wimberger


The current revision of the code (662145) creates the configuration, and 
returns true.

else if ( request.getParameter( "create" ) != null )
{
    // pid is a factory PID and we have to create a new configuration
    // we should actually also display that one !
    Configuration config = ca.createFactoryConfiguration( pid, null );

     // request.setAttribute(ATTR_REDIRECT_PARAMETERS, "pid=" +
    // config.getPid());
    return true;
 }

The problem with this approach is the fact that in many cases the Configuration 
instance will not be persisted or available until the update() method is used 
to set new properties.

Based on the fact that the "create" action may be called already with a 
complete set of properties edited in the form, I would suggest to only  
differentiate between factory "create" and "save" in the way the Configuration 
instance is created. i.e.:

 if ( request.getParameter( "create" ) != null )
 {
     // pid is a factory PID and we have to create a new configuration
     config = ca.createFactoryConfiguration( pid, null );
} else {
     // pid is managed service, get configuration
     config = ca.getConfiguration( pid, null );
}




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to