Index: lutinprocessor/src/java/org/codelutin/processor/filters/GeneratorTemplatesFilter.java diff -u lutinprocessor/src/java/org/codelutin/processor/filters/GeneratorTemplatesFilter.java:1.12 lutinprocessor/src/java/org/codelutin/processor/filters/GeneratorTemplatesFilter.java:1.13 --- lutinprocessor/src/java/org/codelutin/processor/filters/GeneratorTemplatesFilter.java:1.12 Wed Jun 23 10:48:28 2004 +++ lutinprocessor/src/java/org/codelutin/processor/filters/GeneratorTemplatesFilter.java Thu Dec 9 15:27:42 2004 @@ -23,10 +23,10 @@ * * @author * Copyright Code Lutin - * @version $Revision: 1.12 $ + * @version $Revision: 1.13 $ * - * Mise a jour: $Date: 2004/06/23 10:48:28 $ - * par : $Author: bpoussin $ + * Mise a jour: $Date: 2004/12/09 15:27:42 $ + * par : $Author: pineau $ */ /** @@ -35,6 +35,10 @@ package org.codelutin.processor.filters; +import java.io.IOException; +import java.io.Writer; + + /* * Classe principale du filtre de génération. Ce filtre recherche tout ce qu'il * y a entre les tag /*{ et }*/ a l'interieur de ces tags un autre filtre @@ -128,5 +132,13 @@ return "}*/"; } - + public static void main(String[] args) { + Filter filter = new GeneratorTemplatesFilter(); + String res = filter.parse(" public void generatePackageStatement(Writer output, ObjectModelClassifier clazz) throws IOException {\n/*{\n package <%=clazz.getPackageName()%>.persistence.jdo; \n}*/ }"); + System.out.println(res); + res = filter.flush(); + System.out.println(res); + } + + } Index: lutinprocessor/src/java/org/codelutin/processor/filters/DefaultFilter.java diff -u lutinprocessor/src/java/org/codelutin/processor/filters/DefaultFilter.java:1.5 lutinprocessor/src/java/org/codelutin/processor/filters/DefaultFilter.java:1.6 --- lutinprocessor/src/java/org/codelutin/processor/filters/DefaultFilter.java:1.5 Tue Dec 7 17:19:09 2004 +++ lutinprocessor/src/java/org/codelutin/processor/filters/DefaultFilter.java Thu Dec 9 15:27:42 2004 @@ -23,9 +23,9 @@ * * @author Copyright Code Lutin * - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ * - * Mise a jour: $Date: 2004/12/07 17:19:09 $ par : $Author: pineau $ + * Mise a jour: $Date: 2004/12/09 15:27:42 $ par : $Author: pineau $ */ package org.codelutin.processor.filters; @@ -80,7 +80,7 @@ currentState = State.SEARCH_HEADER; cachedContent.setLength(0); int matchingEndIndex = matchingIndex + getMatchLengthFor(getFooter()); - return performInFilter(content.substring(0, matchingEndIndex)) + return performInFilter(performHeaderFooterFilter(content.substring(0, matchingEndIndex))) + parse(content.substring(matchingEndIndex)); } // No footer found ! @@ -90,6 +90,10 @@ return "INVALID STATE in DefaultFilter !"; } + public String performHeaderFooterFilter(String ch) { + return ch.substring(getHeader().length(), ch.length()-getFooter().length()); + } + public int getMatchIndexFor(String input, String sequence) { return input.indexOf(sequence); } Index: lutinprocessor/src/java/org/codelutin/processor/filters/I18nFilter.java diff -u lutinprocessor/src/java/org/codelutin/processor/filters/I18nFilter.java:1.2 lutinprocessor/src/java/org/codelutin/processor/filters/I18nFilter.java:1.3 --- lutinprocessor/src/java/org/codelutin/processor/filters/I18nFilter.java:1.2 Tue Dec 7 17:19:09 2004 +++ lutinprocessor/src/java/org/codelutin/processor/filters/I18nFilter.java Thu Dec 9 15:27:42 2004 @@ -23,9 +23,9 @@ * * @author Copyright Code Lutin * - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ * - * Mise a jour: $Date: 2004/12/07 17:19:09 $ par : $Author: pineau $ + * Mise a jour: $Date: 2004/12/09 15:27:42 $ par : $Author: pineau $ */ package org.codelutin.processor.filters; @@ -97,9 +97,13 @@ * @return ce qu'il faut ecrire dans le fichier de sortie */ protected String performInFilter(String ch) { - return ch.substring(ch.indexOf('"')+1, ch.lastIndexOf('"')).replaceAll("\"\\s*\\+\\s*\"","") + "="; + return ch.replaceAll("\"\\s*\\+\\s*\"","") + "="; } + public String performHeaderFooterFilter(String ch) { + return ch.substring(ch.indexOf('"')+1, ch.lastIndexOf('"')); + } + /** * methode appele lorsqu'on a la chaine entiere a l'exterieur du * header/footer