Index: lutinprocessor/src/java/org/codelutin/processor/Processor.java diff -u lutinprocessor/src/java/org/codelutin/processor/Processor.java:1.1.1.1 lutinprocessor/src/java/org/codelutin/processor/Processor.java:1.2 --- lutinprocessor/src/java/org/codelutin/processor/Processor.java:1.1.1.1 Wed Jan 14 16:25:05 2004 +++ lutinprocessor/src/java/org/codelutin/processor/Processor.java Mon May 30 13:22:47 2005 @@ -23,9 +23,9 @@ * * @author * Copyright Code Lutin -* @version $Revision: 1.1.1.1 $ +* @version $Revision: 1.2 $ * -* Mise a jour: $Date: 2004/01/14 16:25:05 $ +* Mise a jour: $Date: 2005/05/30 13:22:47 $ * par : $Author: bpoussin $ */ @@ -34,6 +34,8 @@ import org.codelutin.processor.filters.*; import org.codelutin.processor.filters.Filter; import java.io.*; +import java.util.logging.Level; +import java.util.logging.Logger; /* * This class is a generic sources processor @@ -41,6 +43,9 @@ */ public class Processor { + /** to use log facility, just put in your code: log.info(\"...\"); */ + static private Logger log = Logger.getLogger("org.codelutin.processor.Processor"); + protected Filter [] inputFilter = new Filter[]{new NoActionFilter()}; protected Filter outputFilter = new NoActionFilter(); @@ -69,14 +74,19 @@ /** Process all available data */ public void process (Reader externalInput, Writer externalOutput) throws IOException { + log.finest("Debug du process"); BufferedReader input = getReader(externalInput); ProcessorWriter output = new ProcessorWriter(new BufferedWriter(externalOutput), outputFilter); - String line; - while (input.ready()) { - line = input.readLine(); + log.finest("input: " + input); + log.finest("output: " + output); + + String line = input.readLine(); + while (line != null) { + log.finest("Ligne lu: " + line); output.writeLine(line); + line = input.readLine(); } output.flush(); } Index: lutinprocessor/src/java/org/codelutin/processor/ProcessorReader.java diff -u lutinprocessor/src/java/org/codelutin/processor/ProcessorReader.java:1.4 lutinprocessor/src/java/org/codelutin/processor/ProcessorReader.java:1.5 --- lutinprocessor/src/java/org/codelutin/processor/ProcessorReader.java:1.4 Mon Aug 16 20:47:12 2004 +++ lutinprocessor/src/java/org/codelutin/processor/ProcessorReader.java Mon May 30 13:22:48 2005 @@ -23,10 +23,10 @@ * * @author * Copyright Code Lutin -* @version $Revision: 1.4 $ +* @version $Revision: 1.5 $ * -* Mise a jour: $Date: 2004/08/16 20:47:12 $ -* par : $Author: pineau $ +* Mise a jour: $Date: 2005/05/30 13:22:48 $ +* par : $Author: bpoussin $ */ package org.codelutin.processor; @@ -65,12 +65,18 @@ public String readLine() throws IOException { if (input.ready()) { String line = input.readLine(); - if (!(input instanceof ProcessorReader)){ - line += lineSeparator; + if(line != null){ + if (!(input instanceof ProcessorReader)){ + line += lineSeparator; + } + return filter.parse(line); } - return filter.parse(line); } - return filter.flush(); + if(filter.hasCachedData()){ + return filter.flush(); + } else { + return null; + } } public boolean ready() {