Skip to content

Commit

Permalink
support for Category conversion on slf4j-migrator
Browse files Browse the repository at this point in the history
  • Loading branch information
ceki committed Feb 23, 2014
1 parent 39c7a28 commit c4f2232
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 118 deletions.
23 changes: 21 additions & 2 deletions slf4j-migrator/src/main/java/org/slf4j/migrator/line/Log4jRuleSet.java 100644 → 100755
Expand Up @@ -40,7 +40,12 @@ public Log4jRuleSet() {
.compile("import\\s*+org.apache.log4j.Logger;"),
"import org.slf4j.Logger;",
"import org.slf4j.LoggerFactory;");


SingleConversionRule catImport = new SingleConversionRule(Pattern
.compile("import\\s*+org.apache.log4j.Category;"),
"import org.slf4j.Logger;",
"import org.slf4j.LoggerFactory;");

SingleConversionRule crImport1 = new SingleConversionRule(Pattern
.compile("import\\s*+org.apache.log4j.LogManager;"),
"import org.slf4j.LoggerFactory;");
Expand All @@ -59,15 +64,29 @@ public Log4jRuleSet() {
.compile("Logger.getLogger\\("), "LoggerFactory.getLogger(");

SingleConversionRule crFactory1 = new SingleConversionRule(Pattern
.compile("LogManager.getLogger\\("), "LoggerFactory.getLogger(");
.compile("\\sCategory.getInstance\\("), " LoggerFactory.getLogger(");

SingleConversionRule crFactory2 = new SingleConversionRule(Pattern
.compile("LogManager.getLogger\\("), "LoggerFactory.getLogger(");

SingleConversionRule variable0 = new SingleConversionRule(Pattern
.compile("(\\sCategory\\b)")," Logger");

SingleConversionRule variable1 = new SingleConversionRule(Pattern
.compile("(^Category\\b)"),"Logger");

conversionRuleList = new ArrayList<ConversionRule>();
conversionRuleList.add(crImport0);
conversionRuleList.add(catImport);
conversionRuleList.add(crImport1);
conversionRuleList.add(crImport2);
conversionRuleList.add(crImportMDC);
conversionRuleList.add(crFactory0);
conversionRuleList.add(crFactory1);
conversionRuleList.add(crFactory2);

conversionRuleList.add(variable0);
conversionRuleList.add(variable1);
}

public Iterator<ConversionRule> iterator() {
Expand Down
21 changes: 9 additions & 12 deletions slf4j-migrator/src/test/java/org/slf4j/migrator/AllTest.java 100644 → 100755
Expand Up @@ -24,18 +24,15 @@
*/
package org.slf4j.migrator;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

public class AllTest extends TestCase {
@RunWith(Suite.class)
@SuiteClasses({org.slf4j.migrator.PackageTest.class,
org.slf4j.migrator.line.PackageTest.class,
org.slf4j.migrator.helper.PackageTest.class})

public class AllTest {

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(org.slf4j.migrator.PackageTest.suite());
suite.addTest(org.slf4j.migrator.line.PackageTest.suite());
suite.addTest(org.slf4j.migrator.helper.PackageTest.suite());

return suite;
}
}
17 changes: 7 additions & 10 deletions slf4j-migrator/src/test/java/org/slf4j/migrator/PackageTest.java 100644 → 100755
Expand Up @@ -24,15 +24,12 @@
*/
package org.slf4j.migrator;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class PackageTest extends TestCase {
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(AternativeApproach.class);
return suite;
}
}
@RunWith(Suite.class)
@SuiteClasses({AternativeApproach.class})
public class PackageTest {
}
17 changes: 7 additions & 10 deletions slf4j-migrator/src/test/java/org/slf4j/migrator/helper/PackageTest.java 100644 → 100755
Expand Up @@ -24,15 +24,12 @@
*/
package org.slf4j.migrator.helper;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

public class PackageTest extends TestCase {
@RunWith(Suite.class)
@SuiteClasses({AbbreviatorTest.class})
public class PackageTest {
}

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(AbbreviatorTest.class);
return suite;
}
}
25 changes: 23 additions & 2 deletions slf4j-migrator/src/test/java/org/slf4j/migrator/line/Log4jRuleSetTest.java 100644 → 100755
Expand Up @@ -26,15 +26,20 @@

import java.util.Arrays;

import org.junit.Test;
import org.slf4j.migrator.line.LineConverter;
import org.slf4j.migrator.line.Log4jRuleSet;

import junit.framework.TestCase;

public class Log4jRuleSetTest extends TestCase {
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class Log4jRuleSetTest {

LineConverter log4jConverter = new LineConverter(new Log4jRuleSet());


@Test
public void testImportReplacement() {
// LogFactory import replacement
assertEquals("import org.slf4j.LoggerFactory;", log4jConverter
Expand All @@ -45,6 +50,7 @@ public void testImportReplacement() {
log4jConverter.getReplacement("import org.apache.log4j.Logger;")));
}

@Test
public void testLogManagerGetLoggerReplacement() {
// Logger declaration and instanciation without modifier
assertEquals(" Logger l = LoggerFactory.getLogger(MyClass.class);",
Expand Down Expand Up @@ -83,6 +89,7 @@ public void testLogManagerGetLoggerReplacement() {
.getOneLineReplacement("// myLog = LogManager.getLogger(MyClass.class);//logger instanciation"));
}

@Test
public void testLoggerGetLoggerReplacement() {
// Logger declaration and instanciation without modifier
assertEquals("Logger l = LoggerFactory.getLogger(MyClass.class);",
Expand Down Expand Up @@ -121,6 +128,7 @@ public void testLoggerGetLoggerReplacement() {
.getOneLineReplacement("// myLog = Logger.getLogger(MyClass.class);//logger instanciation"));
}

@Test
public void testLogDeclarationReplacement() {
// simple Logger declaration
assertEquals("Logger mylog;", log4jConverter.getOneLineReplacement("Logger mylog;"));
Expand All @@ -139,6 +147,7 @@ public void testLogDeclarationReplacement() {
.getOneLineReplacement("//private Logger myLog;"));
}

@Test
public void testMultiLineReplacement() {
// Logger declaration on a line
assertEquals("protected Logger log =", log4jConverter
Expand All @@ -156,4 +165,16 @@ public void testMultiLineReplacement() {
log4jConverter
.getOneLineReplacement(" = LogManager.getLogger(MyComponent.class);"));
}


@Test
public void categoryReplacement() {
// Category declaration on a line
assertEquals("protected Logger cat =", log4jConverter
.getOneLineReplacement("protected Category cat ="));

assertEquals(" LoggerFactory.getLogger(MyComponent.class);", log4jConverter
.getOneLineReplacement(" Category.getInstance(MyComponent.class);"));
}

}
27 changes: 10 additions & 17 deletions slf4j-migrator/src/test/java/org/slf4j/migrator/line/PackageTest.java 100644 → 100755
Expand Up @@ -24,21 +24,14 @@
*/
package org.slf4j.migrator.line;

import org.slf4j.migrator.line.JCLRuleSetTest;
import org.slf4j.migrator.line.Log4jRuleSetTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

public class PackageTest extends TestCase {

public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(TrivialMatcherTest.class);
suite.addTestSuite(JCLRuleSetTest.class);
suite.addTestSuite(Log4jRuleSetTest.class);
suite.addTestSuite(NoConversionTest.class);
return suite;
}
}
@RunWith(Suite.class)
@SuiteClasses({TrivialMatcherTest.class,
JCLRuleSetTest.class,
Log4jRuleSetTest.class,
NoConversionTest.class})
public class PackageTest {
}

This file was deleted.

7 changes: 7 additions & 0 deletions slf4j-site/src/site/pages/news.html
Expand Up @@ -33,6 +33,13 @@ <h3>2014 - Release of SLF4J 1.7.7 (or 1.8)</h3>

<p>SFL4J API now uses generics. </p>

<p>The slf4j-migrator can now convert statements using the long deprecated
<code>Category</code> class. The following statement
</p>
<pre>Category cat = Category.getInstance(Foo.class);</pre>
<p>will be converted as</p>
<pre>Logger cat = LoggerFactory.getLogger(Foo.class);</pre>

<h3>February 5th, 2014 - Release of SLF4J 1.7.6</h3>

<p>Added slf4j-android module to the slf4j distribution. This
Expand Down

0 comments on commit c4f2232

Please sign in to comment.