⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectconverter.java

📁 Java开发最新的日志记录工具slf4j的源码
💻 JAVA
字号:
/*  * Copyright (c) 2004-2008 QOS.ch * All rights reserved. *  * Permission is hereby granted, free  of charge, to any person obtaining * a  copy  of this  software  and  associated  documentation files  (the * "Software"), to  deal in  the Software without  restriction, including * without limitation  the rights to  use, copy, modify,  merge, publish, * distribute,  sublicense, and/or sell  copies of  the Software,  and to * permit persons to whom the Software  is furnished to do so, subject to * the following conditions: *  * The  above  copyright  notice  and  this permission  notice  shall  be * included in all copies or substantial portions of the Software. *  * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND, * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */package org.slf4j.migrator;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import javax.swing.SwingUtilities;import org.slf4j.migrator.internal.MigratorFrame;import org.slf4j.migrator.internal.ProgressListener;import org.slf4j.migrator.line.RuleSet;public class ProjectConverter {  private RuleSet ruleSet;  private List<ConversionException> exception;  ProgressListener progressListener;  public static void main(String[] args) throws IOException {    SwingUtilities.invokeLater(new Runnable() {      public void run() {        MigratorFrame inst = new MigratorFrame();        inst.setLocationRelativeTo(null);        inst.setVisible(true);      }    });  }  /**   * Ask for concrete matcher implementation depending on the conversion mode   * Ask for user confirmation to convert the selected source directory if valid   * Ask for user confirmation in case of number of files to convert > 1000   *    * @return true if init operation complete   * @throws IOException   */  public ProjectConverter(int conversionType, ProgressListener progressListener) {    this.progressListener = progressListener;    ruleSet = RuleSetFactory.getMatcherImpl(conversionType);    if (ruleSet == null) {      addException(new ConversionException(ConversionException.NOT_IMPLEMENTED));    }  }  public void convertProject(File folder) {    FileSelector fs = new FileSelector(progressListener);    List<File> fileList = fs.selectJavaFilesInFolder(folder);    scanFileList(fileList);    progressListener.onDone();  }  /**   * Convert a list of files   *    * @param lstFiles   */  private void scanFileList(List<File> lstFiles) {    progressListener.onFileScanBegin();    Iterator<File> itFile = lstFiles.iterator();    while (itFile.hasNext()) {      File currentFile = itFile.next();      progressListener.onFileScan(currentFile);      scanFile(currentFile);    }  }  /**   * Convert the specified file Read each line and ask matcher implementation   * for conversion Rewrite the line returned by matcher   *    * @param file   */  private void scanFile(File file) {    try {      InplaceFileConverter fc = new InplaceFileConverter(ruleSet,          progressListener);      fc.convert(file);    } catch (IOException exc) {      addException(new ConversionException(exc.toString()));    }  }  public void addException(ConversionException exc) {    if (exception == null) {      exception = new ArrayList<ConversionException>();    }    exception.add(exc);  }  public void printException() {    if (exception != null) {      Iterator<ConversionException> iterator = exception.iterator();      while (iterator.hasNext()) {        ConversionException exc = (ConversionException) iterator.next();        exc.print();      }      exception = null;    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -