Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-584

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • webconsole-1.2.0
    • Web Console
    • None

    Description

      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 );
      }

      Attachments

        1. FELIX-584-1.png
          69 kB
          Felix Meschberger
        2. AjaxConfigManagerAction.java.diff
          2 kB
          Dieter Wimberger

        Issue Links

          Activity

            People

              fmeschbe Felix Meschberger
              wimpi Dieter Wimberger
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: