17ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu/** 27ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * Copyright (c) 2004-2011 QOS.ch 37ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * All rights reserved. 47ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 57ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * Permission is hereby granted, free of charge, to any person obtaining 67ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * a copy of this software and associated documentation files (the 77ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * "Software"), to deal in the Software without restriction, including 87ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * without limitation the rights to use, copy, modify, merge, publish, 97ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * distribute, sublicense, and/or sell copies of the Software, and to 107ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * permit persons to whom the Software is furnished to do so, subject to 117ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * the following conditions: 127ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 137ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * The above copyright notice and this permission notice shall be 147ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * included in all copies or substantial portions of the Software. 157ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 167ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 177ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 187ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 197ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 207ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 217ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 227ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 237ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 247ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu */ 25a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcupackage org.slf4j.migrator.line; 26a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 27a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcuimport java.util.ArrayList; 28a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcuimport java.util.Iterator; 29a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcuimport java.util.regex.Pattern; 30a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 31a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu/** 329f10490a05f7344f4b3ef657e8991f5d51934e2fCeki Gulcu * This class represents java.util.logging (JUL) to SLF4J conversion rules 33a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu * 34a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu * @author Jean-Noel Charpin 35a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu * @author Ceki Gulcu 36a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu */ 37a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcupublic class JULRuleSet implements RuleSet { 38a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 3931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu private ArrayList<ConversionRule> conversionRuleList; 40a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 4131212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu public JULRuleSet() { 42a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 4331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crImport0 = new SingleConversionRule(Pattern.compile("import\\s*+java.util.logging.Logger;"), "import org.slf4j.Logger;", 4431212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu "import org.slf4j.LoggerFactory;"); 45a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 4631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crImport1 = new SingleConversionRule(Pattern.compile("import\\s*+org.apache.log4j.LogManager;"), "import org.slf4j.LoggerFactory;"); 47a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 4831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crImport2 = new SingleConversionRule(Pattern.compile("import\\s*+java.util.logging.*;"), "import org.slf4j.Logger;", 4931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu "import org.slf4j.LoggerFactory;"); 50a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 5131212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crFactory0 = new SingleConversionRule(Pattern.compile("Logger.getLogger\\("), "LoggerFactory.getLogger("); 52a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 5331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crFactory1 = new SingleConversionRule(Pattern.compile("LogManager.getLogger\\("), "LoggerFactory.getLogger("); 5431212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu 5531212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crWarning = new SingleConversionRule(Pattern.compile("\\.warning\\("), ".warn("); 5631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu SingleConversionRule crSevere = new SingleConversionRule(Pattern.compile("\\.severe\\("), ".error("); 5731212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu 5831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList = new ArrayList<ConversionRule>(); 5931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crImport0); 6031212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crImport1); 6131212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crImport2); 6231212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crFactory0); 6331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crFactory1); 6431212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crWarning); 6531212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu conversionRuleList.add(crSevere); 6631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu } 6731212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu 6831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu public Iterator<ConversionRule> iterator() { 6931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu return conversionRuleList.iterator(); 7031212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu } 71a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu 72a1fd0bc2a038901a43a6f5db93fcea2e5b927f0aCeki Gulcu} 73