Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-4590

Allow to use multiple names in result

    Details

      Description

      Allow to use multiple values in result tag name attribute and in Result annotation name.

      So this typical configuration:

      <action name="save">
          <result>success.jsp</result>
          <result name="error">input-form.jsp</result>
          <result name="input">input-form.jsp</result>
      </action>
      

      Can be shorten to that:

      <action name="save">
          <result>success.jsp</result>
          <result name="error, input">input-form.jsp</result>
      </action>
      

      And this annotations:

      @Action(results = {
          @Result(name="error", location="input-form.jsp"),
          @Result(name="input", location="input-form.jsp"),
          @Result(name="success", location="success.jsp")
      })
      

      To that:

      @Action(results = {
          @Result(name="error, input", location="input-form.jsp"),
          @Result(name="success", location="success.jsp")
      })
      

        Activity

        Hide
        githubbot ASF GitHub Bot added a comment -

        GitHub user aleksandr-m opened a pull request:

        https://github.com/apache/struts/pull/75

        WW-4590 - Allow to use multiple names in result

        Allow to use multiple values in `result` tag `name` attribute and in `Result` annotation `name`.

        So this typical configuration:

        ```
        <action name="save">
        <result>success.jsp</result>
        <result name="error">input-form.jsp</result>
        <result name="input">input-form.jsp</result>
        </action>
        ```

        Can be shorten to that:

        ```
        <action name="save">
        <result>success.jsp</result>
        <result name="error, input">input-form.jsp</result>
        </action>
        ```

        And this annotations:

        ```
        @Action(results =

        { @Result(name="error", location="input-form.jsp"), @Result(name="input", location="input-form.jsp"), @Result(name="success", location="success.jsp") }

        )
        ```

        To that:

        ```
        @Action(results =

        { @Result(name="error, input", location="input-form.jsp"), @Result(name="success", location="success.jsp") }

        )
        ```

        You can merge this pull request into a Git repository by running:

        $ git pull https://github.com/aleksandr-m/struts feature/multiple_result_names

        Alternatively you can review and apply these changes as the patch at:

        https://github.com/apache/struts/pull/75.patch

        To close this pull request, make a commit to your master/trunk branch
        with (at least) the following in the commit message:

        This closes #75


        commit 087cf610abcd262980a41c30a2f9360aa3f416e1
        Author: Aleksandr Mashchenko <aleksandr.7m@gmail.com>
        Date: 2016-01-18T19:23:46Z

        WW-4590 - Allow to use multiple names in result


        Show
        githubbot ASF GitHub Bot added a comment - GitHub user aleksandr-m opened a pull request: https://github.com/apache/struts/pull/75 WW-4590 - Allow to use multiple names in result Allow to use multiple values in `result` tag `name` attribute and in `Result` annotation `name`. So this typical configuration: ``` <action name="save"> <result>success.jsp</result> <result name="error">input-form.jsp</result> <result name="input">input-form.jsp</result> </action> ``` Can be shorten to that: ``` <action name="save"> <result>success.jsp</result> <result name="error, input">input-form.jsp</result> </action> ``` And this annotations: ``` @Action(results = { @Result(name="error", location="input-form.jsp"), @Result(name="input", location="input-form.jsp"), @Result(name="success", location="success.jsp") } ) ``` To that: ``` @Action(results = { @Result(name="error, input", location="input-form.jsp"), @Result(name="success", location="success.jsp") } ) ``` You can merge this pull request into a Git repository by running: $ git pull https://github.com/aleksandr-m/struts feature/multiple_result_names Alternatively you can review and apply these changes as the patch at: https://github.com/apache/struts/pull/75.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #75 commit 087cf610abcd262980a41c30a2f9360aa3f416e1 Author: Aleksandr Mashchenko <aleksandr.7m@gmail.com> Date: 2016-01-18T19:23:46Z WW-4590 - Allow to use multiple names in result
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50076520

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        the final resuly set will contain only `,`?

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50076520 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – the final resuly set will contain only `,`?
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-172754377

        Great idea!

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-172754377 Great idea!
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50079358

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        Currently it is allowed to have a result name as a `,`. And `TextParseUtil.commaDelimitedStringToSet` will produce empty set in that case. Note that it is trimmed so the result name can be something like "   ," also.

        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50079358 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – Currently it is allowed to have a result name as a `,`. And `TextParseUtil.commaDelimitedStringToSet` will produce empty set in that case. Note that it is trimmed so the result name can be something like "   ," also.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50080211

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        `if (",".equals(resultName.trim()))` assumes that the result name contains only `,` and then it will produce a set with `,` (value of `resultName`). `TextParseUtil.commaDelimitedStringToSet` is in the `else` section so it won't be used in this case.

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50080211 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – `if (",".equals(resultName.trim()))` assumes that the result name contains only `,` and then it will produce a set with `,` (value of `resultName`). `TextParseUtil.commaDelimitedStringToSet` is in the `else` section so it won't be used in this case.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50081302

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        Why not just do it this way instead of this `if..else`?
        `resultNamesSet = TextParseUtil.commaDelimitedStringToSet(resultName);`

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50081302 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – Why not just do it this way instead of this `if..else`? `resultNamesSet = TextParseUtil.commaDelimitedStringToSet(resultName);`
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user swiftelan commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-172880314

        Annotations allow multivalued attributes in the form of arrays. Using this makes it obvious that you can supply multiple result names for a single result configuration.

        @Action(results = {
        @Result(name=

        {"error", "input"}

        , location="input-form.jsp"),
        @Result(name="success", location="success.jsp")
        })

        Show
        githubbot ASF GitHub Bot added a comment - Github user swiftelan commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-172880314 Annotations allow multivalued attributes in the form of arrays. Using this makes it obvious that you can supply multiple result names for a single result configuration. @Action(results = { @Result(name= {"error", "input"} , location="input-form.jsp"), @Result(name="success", location="success.jsp") })
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50153311

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        You mean like this?

        Set<String> resultNamesSet = TextParseUtil.commaDelimitedStringToSet(resultName);
        if (resultNamesSet.isEmpty())

        { resultNamesSet.add(resultName); }

        Yeah, looks a bit cleaner to me. I'll change it.

        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50153311 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – You mean like this? Set<String> resultNamesSet = TextParseUtil.commaDelimitedStringToSet(resultName); if (resultNamesSet.isEmpty()) { resultNamesSet.add(resultName); } Yeah, looks a bit cleaner to me. I'll change it.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-172947410

        @swiftelan I was thinking about that too, BUT:

        • It will break backward compatibility
        • I kind of like that annotation attributes looks the same as in xml configuration
        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-172947410 @swiftelan I was thinking about that too, BUT: It will break backward compatibility I kind of like that annotation attributes looks the same as in xml configuration
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50163270

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        No, I think why `,` is a valid result name But that's ok, I mean your proposal

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50163270 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – No, I think why `,` is a valid result name But that's ok, I mean your proposal
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user swiftelan commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-172970495

        @aleksandr-m

        An annotation attribute that is defined as an array does not have to have the curly braces to define a single value for that attribute.

        Basing a Java API for configuration on XML syntax is a poor implementation. Why not support the entire XML configuration syntax in the annotation? Java has APIs to express a collection of items. It is much easier to utilize an array than a comma separated value attribute. The array allows the developer to clearly express their intent. Utilizing an array does not require parsing when the configuration value is accessed.

        Show
        githubbot ASF GitHub Bot added a comment - Github user swiftelan commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-172970495 @aleksandr-m An annotation attribute that is defined as an array does not have to have the curly braces to define a single value for that attribute. Basing a Java API for configuration on XML syntax is a poor implementation. Why not support the entire XML configuration syntax in the annotation? Java has APIs to express a collection of items. It is much easier to utilize an array than a comma separated value attribute. The array allows the developer to clearly express their intent. Utilizing an array does not require parsing when the configuration value is accessed.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-172982203

        @swiftelan So you are proposing to change only type? The name of the attribute will stay the same i.e `name`, right? There is still some chance that something going to break, note that `ResultInfo` depends on `Result`'s `name`. But it is better than changing the name.

        @lukaszlenart WDYT about changing `Result`'s `name` to `String[] name() default com.opensymphony.xwork2.Action.SUCCESS;` and probably removing `public ResultInfo(Result, PackageConfig, String, Class<?>, Map<String, ResultTypeConfig>)` constructor?

        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-172982203 @swiftelan So you are proposing to change only type? The name of the attribute will stay the same i.e `name`, right? There is still some chance that something going to break, note that `ResultInfo` depends on `Result`'s `name`. But it is better than changing the name. @lukaszlenart WDYT about changing `Result`'s `name` to `String[] name() default com.opensymphony.xwork2.Action.SUCCESS;` and probably removing `public ResultInfo(Result, PackageConfig, String, Class<?>, Map<String, ResultTypeConfig>)` constructor?
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50173826

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        It looks a bit odd, agree. But it is supported right now and it is better than mapping `,` to `success` or not creating result at all.

        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50173826 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – It looks a bit odd, agree. But it is supported right now and it is better than mapping `,` to `success` or not creating result at all.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on a diff in the pull request:

        https://github.com/apache/struts/pull/75#discussion_r50221451

        — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java —
        @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) {
        }
        params.putAll(resultParams);

        • ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass)
        • .addParams(params)
        • .location(DomHelper.getLocationObject(element))
        • .build();
        • results.put(resultConfig.getName(), resultConfig);
          + Set<String> resultNamesSet;
          + if (",".equals(resultName.trim())) {
          + resultNamesSet = new HashSet<>(1);
          + resultNamesSet.add(resultName);
            • End diff –

        Right, thanks for explanation!

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on a diff in the pull request: https://github.com/apache/struts/pull/75#discussion_r50221451 — Diff: core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java — @@ -777,11 +777,21 @@ protected Class verifyResultType(String className, Location loc) { } params.putAll(resultParams); ResultConfig resultConfig = new ResultConfig.Builder(resultName, resultClass) .addParams(params) .location(DomHelper.getLocationObject(element)) .build(); results.put(resultConfig.getName(), resultConfig); + Set<String> resultNamesSet; + if (",".equals(resultName.trim())) { + resultNamesSet = new HashSet<>(1); + resultNamesSet.add(resultName); End diff – Right, thanks for explanation!
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-173117164

        @aleksandr-m I'm ok with that and I agree with @swiftelan - let's follow standards

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-173117164 @aleksandr-m I'm ok with that and I agree with @swiftelan - let's follow standards
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user lukaszlenart commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-173142656

        I would like to merge this PR and start release process of BETA3

        Show
        githubbot ASF GitHub Bot added a comment - Github user lukaszlenart commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-173142656 I would like to merge this PR and start release process of BETA3
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user aleksandr-m commented on the pull request:

        https://github.com/apache/struts/pull/75#issuecomment-173253337

        Done. We should add notice in the release notes about breaking change in `ResultInfo` / `@Result` for those who use `Result.name()` or extend `ResultInfo`.

        Show
        githubbot ASF GitHub Bot added a comment - Github user aleksandr-m commented on the pull request: https://github.com/apache/struts/pull/75#issuecomment-173253337 Done. We should add notice in the release notes about breaking change in `ResultInfo` / `@Result` for those who use `Result.name()` or extend `ResultInfo`.
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit 087cf610abcd262980a41c30a2f9360aa3f416e1 in struts's branch refs/heads/master from Aleksandr Mashchenko
        [ https://git-wip-us.apache.org/repos/asf?p=struts.git;h=087cf61 ]

        WW-4590 - Allow to use multiple names in result

        Show
        jira-bot ASF subversion and git services added a comment - Commit 087cf610abcd262980a41c30a2f9360aa3f416e1 in struts's branch refs/heads/master from Aleksandr Mashchenko [ https://git-wip-us.apache.org/repos/asf?p=struts.git;h=087cf61 ] WW-4590 - Allow to use multiple names in result
        Hide
        jira-bot ASF subversion and git services added a comment -

        Commit 11561cb29998655c458b3f94cb7cf9431c4090a8 in struts's branch refs/heads/master from Lukasz Lenart
        [ https://git-wip-us.apache.org/repos/asf?p=struts.git;h=11561cb ]

        Merge branch 'WW-4590'

        Show
        jira-bot ASF subversion and git services added a comment - Commit 11561cb29998655c458b3f94cb7cf9431c4090a8 in struts's branch refs/heads/master from Lukasz Lenart [ https://git-wip-us.apache.org/repos/asf?p=struts.git;h=11561cb ] Merge branch ' WW-4590 '
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user asfgit closed the pull request at:

        https://github.com/apache/struts/pull/75

        Show
        githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/struts/pull/75
        Hide
        lukaszlenart Lukasz Lenart added a comment -

        PR merged, docs updated! Thanks!

        Show
        lukaszlenart Lukasz Lenart added a comment - PR merged, docs updated! Thanks!
        Show
        lukaszlenart Lukasz Lenart added a comment - Links to docs: https://cwiki.apache.org/confluence/display/WW/Result+Configuration#ResultConfiguration-Multiplenames https://cwiki.apache.org/confluence/display/WW/Convention+Plugin#ConventionPlugin-Multiplenames
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Struts-JDK7-master #414 (See https://builds.apache.org/job/Struts-JDK7-master/414/)
        WW-4590 - Allow to use multiple names in result (aleksandr.7m: rev 087cf610abcd262980a41c30a2f9360aa3f416e1)

        • plugins/convention/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java
        • core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultsTest.java
        • plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
        • core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
        • plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
        • plugins/convention/src/test/java/org/apache/struts2/convention/actions/result/ActionLevelResultsNamesAction.java
        • core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Struts-JDK7-master #414 (See https://builds.apache.org/job/Struts-JDK7-master/414/ ) WW-4590 - Allow to use multiple names in result (aleksandr.7m: rev 087cf610abcd262980a41c30a2f9360aa3f416e1) plugins/convention/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java core/src/test/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProviderResultsTest.java plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java plugins/convention/src/test/java/org/apache/struts2/convention/actions/result/ActionLevelResultsNamesAction.java core/src/test/resources/com/opensymphony/xwork2/config/providers/xwork-test-result-names.xml

          People

          • Assignee:
            aleksandr-m Aleksandr Mashchenko
            Reporter:
            aleksandr-m Aleksandr Mashchenko
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development