[
https://issues.apache.org/jira/browse/IO-218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12753434#action_12753434
]
haruhiko nishi commented on IO-218:
-----------------------------------
I've tried ReplaceFilterInputStream and got the following and got Exception.
all I did was
ReplaceFilterInputStream in=new ReplaceFilterInputStream(new
FileInputStream("test.html"),map);
where map is
map.put("yahoo".getBytes(),"google".getBytes());
then I get
Exception in thread "main" java.io.IOException: Push back buffer is full
at java.io.PushbackInputStream.unread(PushbackInputStream.java:215)
at
jp.co.alibaba.util.template.reverse.groovy.ReplaceFilterInputStream.replaceWithExpand(ReplaceFilterInputStream.java:467)
at
jp.co.alibaba.util.template.reverse.groovy.ReplaceFilterInputStream.tryToReplace(ReplaceFilterInputStream.java:405)
at
jp.co.alibaba.util.template.reverse.groovy.ReplaceFilterInputStream.doRead(ReplaceFilterInputStream.java:340)
at
jp.co.alibaba.util.template.reverse.groovy.ReplaceFilterInputStream.read(ReplaceFilterInputStream.java:239)
at TestMain.main(TestMain.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
> Introduce new filter input stream with replacement facilities
> -------------------------------------------------------------
>
> Key: IO-218
> URL: https://issues.apache.org/jira/browse/IO-218
> Project: Commons IO
> Issue Type: Improvement
> Components: Filters
> Affects Versions: 1.4
> Environment: all environments
> Reporter: Denis Zhdanov
> Fix For: 1.4, 2.0
>
> Attachments: ReplaceFilterInputStream.java,
> ReplaceFilterInputStreamTest.java
>
> Original Estimate: 120h
> Remaining Estimate: 120h
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.