Commons IO
  1. Commons IO
  2. IO-218

Introduce new filter input stream with replacement facilities

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.4
    • Fix Version/s: None
    • Component/s: Filters
    • Labels:
      None
    • Environment:

      all environments

      Description

      It seems convenient to have a FilterInputStream that allows to apply predefined repalcement rules against the read data.
      For example we may want to configure the following replacements:

      {1, 2} -> {7, 8}
      {1} -> {9}
      {3, 2} -> {}
      

      and apply them to the input like

      {4, 3, 2, 1, 2, 1, 3}
      

      in order to get a result like

      {4, 7, 8, 9, 3}
      

      I created the class that allows to do that and attached it to this ticket. Unit test class at junit4 format is attached as well.

      So, the task is to review the provided classes, consider if it's worth to add them to commons-io distribution and perform the inclusion in the case of possible result.

      1. ReplaceFilterInputStreamTest.java
        8 kB
        Denis Zhdanov
      2. ReplaceFilterInputStream.java
        26 kB
        Denis Zhdanov

        Issue Links

          Activity

          Denis Zhdanov created issue -
          Denis Zhdanov made changes -
          Field Original Value New Value
          Attachment ReplaceFilterInputStream.java [ 12418757 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStreamTest.java [ 12418758 ]
          Denis Zhdanov made changes -
          Description It seems convenient to have a FilterInputStream that allows to apply predefined repalcement rules against the read data.
          For example we may want to configure the following replacements:
          {noformat}
          {1, } -> {7, 8}
          {1} -> {9}
          {3, 2} -> {}
          {noformat}
          and apply them to the input like
          {noformat}
          {4, 3, 2, 1, 2, 1, 3}
          {noformat}
          in order to get a result like
          {noformat}
          {4, 7, 8, 9, 3}
          {noformat}

          I created the class that allows to do that and attached it to this ticket. Unit test class at junit4 format is attached as well.

          So, the task is to review the provided classes, consider if it's worth to add them to commons-io distribution and perform the inclusion in the case of possible result.
          It seems convenient to have a FilterInputStream that allows to apply predefined repalcement rules against the read data.
          For example we may want to configure the following replacements:
          {noformat}
          {1, 2} -> {7, 8}
          {1} -> {9}
          {3, 2} -> {}
          {noformat}
          and apply them to the input like
          {noformat}
          {4, 3, 2, 1, 2, 1, 3}
          {noformat}
          in order to get a result like
          {noformat}
          {4, 7, 8, 9, 3}
          {noformat}

          I created the class that allows to do that and attached it to this ticket. Unit test class at junit4 format is attached as well.

          So, the task is to review the provided classes, consider if it's worth to add them to commons-io distribution and perform the inclusion in the case of possible result.
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStream.java [ 12418757 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStreamTest.java [ 12418758 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStream.java [ 12419736 ]
          Attachment ReplaceFilterInputStreamTest.java [ 12419737 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStream.java [ 12419736 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStreamTest.java [ 12419737 ]
          Denis Zhdanov made changes -
          Attachment ReplaceFilterInputStream.java [ 12421203 ]
          Attachment ReplaceFilterInputStreamTest.java [ 12421204 ]
          Henri Yandell made changes -
          Fix Version/s 1.4 [ 12312101 ]
          Niall Pemberton made changes -
          Fix Version/s 2.1 [ 12315445 ]
          Fix Version/s 2.0 [ 12312961 ]
          Niall Pemberton made changes -
          Fix Version/s 2.1 [ 12315445 ]
          Mark Thomas made changes -
          Workflow jira [ 12475087 ] Default workflow, editable Closed status [ 12601901 ]
          Henri Yandell made changes -
          Original Estimate 120h [ 432000 ]
          Remaining Estimate 120h [ 432000 ]
          Fix Version/s 2.2 [ 12318448 ]
          Sebb made changes -
          Fix Version/s 2.2 [ 12318448 ]
          Sebb made changes -
          Link This issue relates to IO-199 [ IO-199 ]
          BELUGA BEHR made changes -
          Link This issue is related to IO-419 [ IO-419 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Denis Zhdanov
            • Votes:
              3 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development