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

Add common utility method for converting object (array) to string

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: webconsole-3.0.0
    • Fix Version/s: webconsole-3.1.0
    • Component/s: Web Console
    • Labels:
      None

      Description

      Currently few plugins are making their own methods to convert an object (array) to string. And usually uses different approaches for converting the arrays:

      #1 The following methods will convert array to string like "1, 2, 3". They use StringBuffer and append elements one by one.
      ServicesServlet.propertyAsString()
      ConfigurationRendere.asString()

      #2 Another approach that is used, converts the array to List, and then toString() which returns "[1, 2, 3]"
      ComponentConfigurationPrinter.listProperties()
      ComponentServlet.listProperties()

      #3 in event plugin the code from the method below prints "[1, 2, 3]" but uses approach similar to #1
      PluginServlet.eventJson

      The smaller problem is that we have duplicate code. The bigger problem is that the code ... will not work correctly, if the array is from primitive types (see https://issues.apache.org/jira/browse/FELIX-2142).


      So my proposal is to add a new utility method,
      WebConsoleUtil.toString(Object val, boolean addBracesIfArray);

      The other option is to remove addBracesIfArray and always assume, that if it is array, the value is wrapped with [] braces.


      WDYT?

        Attachments

          Activity

            People

            • Assignee:
              v_valchev Valentin Valchev
              Reporter:
              v_valchev Valentin Valchev
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: