Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 31930 invoked from network); 10 Sep 2009 05:51:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 10 Sep 2009 05:51:20 -0000 Received: (qmail 4813 invoked by uid 500); 10 Sep 2009 05:51:20 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 4654 invoked by uid 500); 10 Sep 2009 05:51:19 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 4644 invoked by uid 99); 10 Sep 2009 05:51:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Sep 2009 05:51:19 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Sep 2009 05:51:17 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 87D27234C004 for ; Wed, 9 Sep 2009 22:50:57 -0700 (PDT) Message-ID: <759681800.1252561857540.JavaMail.jira@brutus> Date: Wed, 9 Sep 2009 22:50:57 -0700 (PDT) From: "haruhiko nishi (JIRA)" To: issues@commons.apache.org Subject: [jira] Commented: (IO-218) Introduce new filter input stream with replacement facilities In-Reply-To: <2135603947.1252255197455.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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.