Author: jncharpin
Date: Fri Aug  3 11:04:43 2007
New Revision: 859

Added:
   slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Constant.java
Modified:
   
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/AbstractMatcher.java
   slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Converter.java
   slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/JCLMatcher.java
   slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Writer.java
   
slf4j/trunk/slf4j-converter/src/test/java/org/slf4j/converter/JCLMatcherTest.java

Log:
AbstractMatcher replacement method refactoring
Removing slf4j logging call
Params management

Modified: 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/AbstractMatcher.java
==============================================================================
--- 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/AbstractMatcher.java
  (original)
+++ 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/AbstractMatcher.java
  Fri Aug  3 11:04:43 2007
@@ -5,43 +5,27 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.slf4j.Logger;
 
 public abstract class AbstractMatcher {
 
-       protected Logger logger;
-
        protected TreeMap<PatternWrapper, ReplacementWrapper> rulesMap;
 
-       protected Writer writer;
-
        protected boolean commentConversion = true;
 
        protected boolean blockComment = false;
 
-       private final static String LINE_COMMENT = "//";
-
-       private final static String BLOCK_COMMENT_START = "/*";
-
-       private final static String BLOCK_COMMENT_END = "*/";
 
        public AbstractMatcher() {
        }
 
-       public static AbstractMatcher getMatcherImpl() {
-               // TODO criterias to select concrete matcher impl. and 
comentConversion mode
-               return new JCLMatcher();
+       public static AbstractMatcher getMatcherImpl(int conversionType) {
+               if(conversionType==Constant.JCL_TO_SLF4J){
+                       return new JCLMatcher();
+               }
+               return null;
        }
 
-       public void setWriter(Writer writer) {
-               this.writer = writer;
-       }
-       
-       public Writer getWriter(){
-               return writer;
-       }
-       
-       public void setCommentConversion(boolean commentConversion){
+       public void setCommentConversion(boolean commentConversion) {
                this.commentConversion = commentConversion;
        }
 
@@ -49,7 +33,7 @@
         * 
         * @param text
         */
-       public void matches(String text) {
+       public String replace(String text) {
                if (isTextConvertible(text)) {
                        PatternWrapper patternWrapper;
                        Pattern pattern;
@@ -57,43 +41,35 @@
                        String replacementText;
                        ReplacementWrapper replacementWrapper;
                        Iterator rulesIter = rulesMap.keySet().iterator();
-                       boolean found = false;
                        while (rulesIter.hasNext()) {
                                patternWrapper = (PatternWrapper) 
rulesIter.next();
                                pattern = patternWrapper.getPattern();
                                matcher = pattern.matcher(text);
                                if (matcher.matches()) {
-                                       logger.info("matching " + text);
+                                       System.out.println("matching " + text);
                                        replacementWrapper = 
rulesMap.get(patternWrapper);
                                        StringBuffer replacementBuffer = new 
StringBuffer();
                                        for (int group = 0; group <= 
matcher.groupCount(); group++) {
                                                replacementText = 
replacementWrapper.getReplacement(group);
                                                if (replacementText != null) {
-                                                       logger.info("replacing 
group " + group + " : "
-                                                                       + 
matcher.group(group) + " with "
-                                                                       + 
replacementText);
+                                                       
System.out.println("replacing group " + group + " : "
+                                                               + 
matcher.group(group) + " with "
+                                                               + 
replacementText);
                                                        
replacementBuffer.append(replacementText);
-                                               } else if (group > 0) {
-                                                        
logger.info("conserving group " + group + " : "
-                                                        + 
matcher.group(group));
-                                                       
replacementBuffer.append(matcher.group(group));
+                                               } 
+                                               else if (group > 0) {
+                                               System.out.println("conserving 
group " + group + " : "
+                                                + matcher.group(group));
+                                               
replacementBuffer.append(matcher.group(group));
                                                }
                                        }
-                                       writer.rewrite(matcher, 
replacementBuffer.toString());
-                                       found = true;
-                                       break;
+                                       return replacementBuffer.toString();    
                                
                                }
                        }
-                       if (!found) {
-                               writer.write(text);
-                       }
-               } else {
-                       writer.write(text);
                }
+               return text;
        }
 
-       
-       
        /**
         * 
         * @param text
@@ -105,14 +81,13 @@
                        isConvertible = false;
                } else if (commentConversion) {
                        isConvertible = true;
-               } else if (blockComment || text.startsWith(LINE_COMMENT)) {
+               } else if (blockComment || 
text.startsWith(Constant.LINE_COMMENT)) {
                        isConvertible = false;
-               }
-               else if (text.startsWith(BLOCK_COMMENT_START)) {
+               } else if (text.startsWith(Constant.BLOCK_COMMENT_START)) {
                        blockComment = true;
                        isConvertible = false;
                }
-               if (text.endsWith(BLOCK_COMMENT_END)) {
+               if (text.endsWith(Constant.BLOCK_COMMENT_END)) {
                        blockComment = false;
                }
                return isConvertible;

Added: 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Constant.java
==============================================================================
--- (empty file)
+++ slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Constant.java 
Fri Aug  3 11:04:43 2007
@@ -0,0 +1,13 @@
+package org.slf4j.converter;
+
+public class Constant {
+
+       public final static int    JCL_TO_SLF4J = 1;
+       
+       public final static String LINE_COMMENT = "//";
+
+       public final static String BLOCK_COMMENT_START = "/*";
+
+       public final static String BLOCK_COMMENT_END = "*/";
+       
+}

Modified: 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Converter.java
==============================================================================
--- 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Converter.java    
    (original)
+++ 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Converter.java    
    Fri Aug  3 11:04:43 2007
@@ -12,11 +12,8 @@
 import java.util.List;
 import java.util.ArrayList;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class Converter {
-       private Logger logger;
 
        private List<File> javaFiles;
 
@@ -27,6 +24,12 @@
        private String source;
 
        private String destination;
+       
+       private boolean delDestination;
+       
+       private int conversionType; 
+       
+       private boolean commentConversion;
 
        /**
         * @param args
@@ -34,31 +37,45 @@
        public static void main(String[] args) {
 
                Converter converter = new Converter();
-               converter.init();
-
-               converter.getPaths();
-               File fileSource = converter.initSource();
-               File fileDest = converter.initDestination();
-               converter.copy(fileSource);
-               converter.selectFiles(fileDest);
-               converter.convert(converter.javaFiles);
+               
+               int params = args.length;
+               String param;
+               for(int i=0; i<params; i++){
+                       param = args[i];
+                       if(param.startsWith("src=")){
+                               converter.source = param.substring(4);
+                       }
+                       else if(param.startsWith("dest=")){
+                               converter.destination = param.substring(5);
+                       }
+                       else if(param.startsWith("del=")){
+                               converter.delDestination = 
Boolean.parseBoolean(param.substring(4));
+                       }
+                       else if(param.startsWith("all=")){
+                               converter.commentConversion = 
Boolean.parseBoolean(param.substring(4));
+                       }
+               }
+               
+               converter.conversionType = Constant.JCL_TO_SLF4J;
+               if(converter.init()){
+                       File fileSource = converter.initSource();
+                       File fileDest = converter.initDestination();
+                       converter.copy(fileSource);
+                       converter.selectFiles(fileDest);
+                       converter.convert(converter.javaFiles);
+               }
        }
 
-       public void init() {
-               logger = LoggerFactory.getLogger(Converter.class);
-               matcher = AbstractMatcher.getMatcherImpl();
-               writer = new Writer();
-               matcher.setWriter(writer);
+       public boolean init() {
+               matcher = AbstractMatcher.getMatcherImpl(conversionType);
+               if(matcher==null){
+                       return false;
+               }
+               matcher.setCommentConversion(commentConversion);
+               writer = new Writer();          
+               return true;
        }
 
-       /**
-        * 
-        * 
-        */
-       private void getPaths() {
-               source = 
"/Users/jean-noelcharpin/dev/slf4j/slf4j-converter/jcl";
-               destination = 
"/Users/jean-noelcharpin/dev/slf4j/slf4j-converter/witness";
-       }
 
        /**
         * 
@@ -67,7 +84,7 @@
        private File initSource() {
                File fileSource = new File(source);
                if (!fileSource.isDirectory()) {
-                       logger.info("source path is not a valid source 
directory");
+                       System.out.println("source path is not a valid source 
directory");
                }
                return fileSource;
        }
@@ -78,7 +95,7 @@
         */
        private File initDestination() {
                File fileDest = new File(destination);
-               if (fileDest.exists()) {
+               if (fileDest.exists() && delDestination) {
                        delete(fileDest);
                }
                fileDest.mkdir();
@@ -98,9 +115,7 @@
                                }
                        }
                        fdest.delete();
-                       // logger.info("Deleting " + fdest.getName());
                } else {
-                       // logger.info("Deleting " + fdest.getName());
                        fdest.delete();
                }
        }
@@ -114,9 +129,7 @@
                                source.length());
                File fdest = new File(destination + "/" + curentFileName);
                if (fsource.isDirectory()) {
-                       // logger.info("Current directory " + 
fsource.getAbsolutePath());
                        fdest.mkdir();
-                       // logger.info("New directory " + 
fdest.getAbsolutePath());
                        File[] files = fsource.listFiles();
                        if (files != null) {
                                for (int i = 0; i < files.length; i++) {
@@ -128,6 +141,11 @@
                }
        }
 
+       /**
+        * 
+        * @param fsource
+        * @param fdest
+        */
        private void copy(File fsource, File fdest) {
                try {
                        FileInputStream fis = new FileInputStream(fsource);
@@ -136,17 +154,16 @@
                        FileChannel channelDest = fos.getChannel();
                        if (channelSource.isOpen() && channelDest.isOpen()) {
                                channelSource.transferTo(0, 
channelSource.size(), channelDest);
-                               // logger.info("file " + fsource.getName() + " 
transfered");
                                channelSource.close();
                                channelDest.close();
                        } else {
-                               logger.error("error copying file " + 
fsource.getAbsolutePath());
+                               System.out.println("error copying file " + 
fsource.getAbsolutePath());
                        }
 
                } catch (FileNotFoundException exc) {
-                       logger.error(exc.toString());
+                       System.out.println(exc.toString());
                } catch (IOException e) {
-                       logger.error(e.toString());
+                       System.out.println(e.toString());
                }
        }
 
@@ -169,7 +186,6 @@
                } else {
                        if (file.getName().endsWith(".java")) {
                                javaFiles.add(file);
-                               // logger.info("Adding java file " + 
file.getAbsolutePath());
                        }
                }
                return javaFiles;
@@ -183,29 +199,37 @@
                Iterator<File> itFile = lstFiles.iterator();
                while (itFile.hasNext()) {
                        File currentFile = itFile.next();
-                       File newFile = new File(currentFile.getAbsolutePath() + 
"new");
-                       // logger.info("reading file " + 
currentFile.getAbsolutePath());
-                       try {
-                               boolean isEmpty = false;
-                               writer.initFileWriter(newFile);
-                               FileReader freader = new 
FileReader(currentFile);
-                               BufferedReader breader = new 
BufferedReader(freader);
-                               String line;
-                               while (!isEmpty) {
-                                       line = breader.readLine();
-                                       if (line != null) {
-                                               // logger.info("reading line " 
+ line);
-                                               matcher.matches(line);
-                                       } else {
-                                               isEmpty = true;
-                                               writer.closeFileWriter();
-                                               copy(newFile, currentFile);
-                                               delete(newFile);
-                                       }
+                       convert(currentFile);
+               }
+       }
+       
+       /**
+        * 
+        * @param file
+        */
+       private void convert(File file){
+               File newFile = new File(file.getAbsolutePath() + "new");
+               try {
+                       boolean isEmpty = false;
+                       writer.initFileWriter(newFile);
+                       FileReader freader = new FileReader(file);
+                       BufferedReader breader = new BufferedReader(freader);
+                       String line;
+                       String newLine;
+                       while (!isEmpty) {
+                               line = breader.readLine();
+                               if (line != null) {
+                                       newLine = matcher.replace(line);
+                                       writer.write(newLine);
+                               } else {
+                                       isEmpty = true;
+                                       writer.closeFileWriter();
+                                       copy(newFile, file);
+                                       delete(newFile);
                                }
-                       } catch (IOException exc) {
-                               logger.error("error reading file " + exc);
                        }
+               } catch (IOException exc) {
+                       System.out.println("error reading file " + exc);
                }
        }
 }

Modified: 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/JCLMatcher.java
==============================================================================
--- 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/JCLMatcher.java   
    (original)
+++ 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/JCLMatcher.java   
    Fri Aug  3 11:04:43 2007
@@ -3,13 +3,11 @@
 import java.util.TreeMap;
 import java.util.regex.Pattern;
 
-import org.slf4j.LoggerFactory;
 
 public class JCLMatcher extends AbstractMatcher {
 
        public JCLMatcher() {
                super();
-               logger = LoggerFactory.getLogger(JCLMatcher.class);
                initRules();
        }
 

Modified: 
slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Writer.java
==============================================================================
--- slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Writer.java   
(original)
+++ slf4j/trunk/slf4j-converter/src/main/java/org/slf4j/converter/Writer.java   
Fri Aug  3 11:04:43 2007
@@ -6,19 +6,15 @@
 import java.io.IOException;
 import java.util.regex.Matcher;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class Writer {
 
-       Logger logger;
 
        BufferedWriter bwriter;
 
        boolean isFirstLine;
 
        public Writer() {
-               logger = LoggerFactory.getLogger(Writer.class);
        }
 
        public void initFileWriter(File file) {
@@ -27,7 +23,7 @@
                        bwriter = new BufferedWriter(fileWriter);
                        isFirstLine = true;
                } catch (IOException exc) {
-                       logger.error("error creating filewriter " + 
file.getAbsolutePath());
+                       System.out.println("error creating filewriter " + 
file.getAbsolutePath());
                }
        }
 
@@ -37,7 +33,7 @@
                                bwriter.flush();
                                bwriter.close();
                        } catch (IOException e) {
-                               logger.error("error closing filewriter " + 
bwriter.toString());
+                               System.out.println("error closing filewriter " 
+ bwriter.toString());
                        }
                }
        }
@@ -52,9 +48,9 @@
                                        isFirstLine = false;
                                }
                                bwriter.write(text);
-                               logger.info("new entry " + text);
+                               System.out.println("new entry " + text);
                        } catch (IOException exc) {
-                               logger.error("error writing file " + 
bwriter.toString());
+                               System.out.println("error writing file " + 
bwriter.toString());
                        }
                }
        }
@@ -68,8 +64,9 @@
                                        isFirstLine = false;
                                }
                                bwriter.write(text);
+                               System.out.println("new entry " + text);
                        } catch (IOException exc) {
-                               logger.error("error writing file " + 
bwriter.toString());
+                               System.out.println("error writing file " + 
bwriter.toString());
                        }
                }
        }

Modified: 
slf4j/trunk/slf4j-converter/src/test/java/org/slf4j/converter/JCLMatcherTest.java
==============================================================================
--- 
slf4j/trunk/slf4j-converter/src/test/java/org/slf4j/converter/JCLMatcherTest.java
   (original)
+++ 
slf4j/trunk/slf4j-converter/src/test/java/org/slf4j/converter/JCLMatcherTest.java
   Fri Aug  3 11:04:43 2007
@@ -1,8 +1,7 @@
 package org.slf4j.converter;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
+
+
 import java.io.IOException;
 
 import junit.framework.TestCase;
@@ -12,54 +11,27 @@
        
        
        public void testConversion() throws IOException {
-               AbstractMatcher jclMatcher = AbstractMatcher.getMatcherImpl();
-               Writer writer = new Writer();
-               File jclFile = new File("jclConversionTest");
-               writer.initFileWriter(jclFile);
-               jclMatcher.setWriter(writer);
+               AbstractMatcher jclMatcher = AbstractMatcher.getMatcherImpl(1);
                jclMatcher.setCommentConversion(true);
-
-               jclMatcher.matches("import 
org.apache.commons.logging.LogFactory;");
-               jclMatcher.matches("import org.apache.commons.logging.Log;");
-               jclMatcher.matches("Log l = LogFactory.getLog(MyClass.class);");
-               jclMatcher.matches("public Log 
mylog=LogFactory.getLog(MyClass.class);");
-               jclMatcher.matches("public static Log mylog1 = 
LogFactory.getLog(MyClass.class);");
-               jclMatcher.matches("Log 
log3=LogFactory.getFactory().getInstance(MyClass.class);");
-               jclMatcher.matches("Log mylog4 = 
LogFactory.getFactory().getInstance(MyClass.class);//logger instanciation");
-               jclMatcher.matches("Log myLog6;//logger declaration");
-               
jclMatcher.matches("//log7=LogFactory.getFactory().getInstance(MyClass.class);");
-               jclMatcher.matches("log8 
=LogFactory.getFactory().getInstance(MyClass.class);");
-               jclMatcher.matches("myLog9 = 
LogFactory.getLog(MyClass.class);");
-               jclMatcher.matches("private Log mylog10;");
-               jclMatcher.matches("protected final Log myLog11;");
-               jclMatcher.matches("public static final Log myLog12;");
-               jclMatcher.matches("System.out.println(\"Log\") 
;System.out.println(\"Log2\");  public static final Log myLog13;");
-               jclMatcher.matches("public static final Log 
myLog14;System.out.println(\"Log\");");
-               jclMatcher.matches("System.out.println(\"\");public static 
final Log myLog15;System.out.println(\"Log\")  ;System.out.println(\"Log2\");");
-               
jclMatcher.matches("((Pojo)pojo.getPojo()).get(\"pojo\",pojo);public static 
final Log myLog16;");
-               
-               jclMatcher.getWriter().closeFileWriter();
-               BufferedReader breader = new BufferedReader(new 
FileReader(jclFile));
-       
-               
-               assertEquals(breader.readLine(),"import 
org.slf4j.LoggerFactory;");
-               assertEquals(breader.readLine(),"import org.slf4j.Logger;");
-               assertEquals(breader.readLine(),"Logger l = 
LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"public Logger 
mylog=LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"public static Logger mylog1 = 
LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"Logger 
log3=LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"Logger mylog4 = 
LoggerFactory.getLogger(MyClass.class);//logger instanciation");
-               assertEquals(breader.readLine(),"Logger myLog6;//logger 
declaration");
-               
assertEquals(breader.readLine(),"//log7=LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"log8 
=LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"myLog9 = 
LoggerFactory.getLogger(MyClass.class);");
-               assertEquals(breader.readLine(),"private Logger mylog10;");
-               assertEquals(breader.readLine(),"protected final Logger 
myLog11;");
-               assertEquals(breader.readLine(),"public static final Logger 
myLog12;");
-               assertEquals(breader.readLine(),"System.out.println(\"Log\") 
;System.out.println(\"Log2\");  public static final Logger myLog13;");
-               assertEquals(breader.readLine(),"public static final Logger 
myLog14;System.out.println(\"Log\");");
-               
assertEquals(breader.readLine(),"System.out.println(\"\");public static final 
Logger myLog15;System.out.println(\"Log\")  ;System.out.println(\"Log2\");");
-               
assertEquals(breader.readLine(),"((Pojo)pojo.getPojo()).get(\"pojo\",pojo);public
 static final Logger myLog16;");
+                       
+               assertEquals(jclMatcher.replace("import 
org.apache.commons.logging.LogFactory;"),"import org.slf4j.LoggerFactory;");
+               assertEquals(jclMatcher.replace("import 
org.apache.commons.logging.Log;"),"import org.slf4j.Logger;");
+               assertEquals(jclMatcher.replace("Log l = 
LogFactory.getLog(MyClass.class);"),"Logger l = 
LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("public Log 
mylog=LogFactory.getLog(MyClass.class);"),"public Logger 
mylog=LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("public static Log mylog1 = 
LogFactory.getLog(MyClass.class);"),"public static Logger mylog1 = 
LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("Log 
log3=LogFactory.getFactory().getInstance(MyClass.class);"),"Logger 
log3=LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("Log mylog4 = 
LogFactory.getFactory().getInstance(MyClass.class);//logger 
instanciation"),"Logger mylog4 = 
LoggerFactory.getLogger(MyClass.class);//logger instanciation");
+               assertEquals(jclMatcher.replace("Log myLog6;//logger 
declaration"),"Logger myLog6;//logger declaration");
+               
assertEquals(jclMatcher.replace("//log7=LogFactory.getFactory().getInstance(MyClass.class);"),"//log7=LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("log8 
=LogFactory.getFactory().getInstance(MyClass.class);"),"log8 
=LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("myLog9 = 
LogFactory.getLog(MyClass.class);"),"myLog9 = 
LoggerFactory.getLogger(MyClass.class);");
+               assertEquals(jclMatcher.replace("private Log 
mylog10;"),"private Logger mylog10;");
+               assertEquals(jclMatcher.replace("protected final Log 
myLog11;"),"protected final Logger myLog11;");
+               assertEquals(jclMatcher.replace("public static final Log 
myLog12;"),"public static final Logger myLog12;");
+               assertEquals(jclMatcher.replace("System.out.println(\"Log\") 
;System.out.println(\"Log2\");  public static final Log 
myLog13;"),"System.out.println(\"Log\") ;System.out.println(\"Log2\");  public 
static final Logger myLog13;");
+               assertEquals(jclMatcher.replace("public static final Log 
myLog14;System.out.println(\"Log\");"),"public static final Logger 
myLog14;System.out.println(\"Log\");");
+               
assertEquals(jclMatcher.replace("System.out.println(\"\");public static final 
Log myLog15;System.out.println(\"Log\")  
;System.out.println(\"Log2\");"),"System.out.println(\"\");public static final 
Logger myLog15;System.out.println(\"Log\")  ;System.out.println(\"Log2\");");
+               
assertEquals(jclMatcher.replace("((Pojo)pojo.getPojo()).get(\"pojo\",pojo);public
 static final Log myLog16;"),"((Pojo)pojo.getPojo()).get(\"pojo\",pojo);public 
static final Logger myLog16;");
        }
        
 
_______________________________________________
dev mailing list
[email protected]
http://www.slf4j.org/mailman/listinfo/dev

Reply via email to