Author: echatellier Date: 2016-02-16 15:37:42 +0100 (Tue, 16 Feb 2016) New Revision: 1810 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1810 Log: Update code for java 8 synthax Modified: i18nastparsingtest/pom.xml i18nastparsingtest/src/main/java/org/test/parsing/I18nASTParsingTest.java Modified: i18nastparsingtest/pom.xml =================================================================== --- i18nastparsingtest/pom.xml 2015-07-20 10:10:04 UTC (rev 1809) +++ i18nastparsingtest/pom.xml 2016-02-16 14:37:42 UTC (rev 1810) @@ -4,17 +4,22 @@ <artifactId>AntlrTest</artifactId> <version>0.0.1-SNAPSHOT</version> + <properties> + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + </properties> + <dependencies> <dependency> <groupId>org.nuiton</groupId> <artifactId>nuiton-utils</artifactId> - <version>2.2</version> + <version>3.0-rc-11</version> </dependency> <dependency> - <groupId>com.google.code.javaparser</groupId> - <artifactId>javaparser</artifactId> - <version>1.0.1</version> + <groupId>com.github.javaparser</groupId> + <artifactId>javaparser-core</artifactId> + <version>2.3.0</version> </dependency> </dependencies> </project> \ No newline at end of file Modified: i18nastparsingtest/src/main/java/org/test/parsing/I18nASTParsingTest.java =================================================================== --- i18nastparsingtest/src/main/java/org/test/parsing/I18nASTParsingTest.java 2015-07-20 10:10:04 UTC (rev 1809) +++ i18nastparsingtest/src/main/java/org/test/parsing/I18nASTParsingTest.java 2016-02-16 14:37:42 UTC (rev 1810) @@ -25,20 +25,26 @@ package org.test.parsing; -import static org.nuiton.i18n.I18n._; -import static org.nuiton.i18n.I18n.n_; -import japa.parser.JavaParser; -import japa.parser.ast.CompilationUnit; -import japa.parser.ast.expr.MethodCallExpr; -import japa.parser.ast.visitor.VoidVisitorAdapter; +import static org.nuiton.i18n.I18n.l; +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.function.Consumer; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.ClassPathI18nInitializer; +import com.github.javaparser.JavaParser; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.expr.MethodCallExpr; +import com.github.javaparser.ast.visitor.VoidVisitorAdapter; + /** * Test. * @@ -65,21 +71,30 @@ I18n.init(new ClassPathI18nInitializer(), null); // ca par contre oui - I18n._("ca par contre oui"); + I18n.t("ca par contre oui"); // ca aussi, multiligne - String mastringtellementlonguequecavapasseralaligne = _( - "ca par contre oui"); + String mastringtellementlonguequecavapasseralaligne = t( + "ca aussi"); // voir ca : c'est plus dur - String trans = _("toto" + "tutu"); + String trans = t("toto" + "tutu"); // ca non - n_("ca aussi"); - _(mastringtellementlonguequecavapasseralaligne); + n("et ca aussi"); + l(Locale.FRENCH, mastringtellementlonguequecavapasseralaligne); // parsing parseMeJavaParser(); + + List<String> test = new ArrayList<>(); + test.removeIf(s -> s.isEmpty()); + test.forEach(s -> t(s)); + test.forEach((s) -> t("new string found", s)); + test.forEach(s -> t("new string found 2")); + + Consumer<String> translator = s -> t("new string in consumer"); + test.forEach(translator); } protected static void parseMeJavaParser() { @@ -86,29 +101,23 @@ String meResource = I18nASTParsingTest.class.getName().replace(".", "/") + ".java"; + File file = new File("src/main/java/" + meResource); - try { + try (InputStream meAsStream = new FileInputStream(file)) { //InputStream meAsStream = AntrlTest.class.getResourceAsStream("/" + meResource); - File file = new File("src/main/java/" + meResource); - InputStream meAsStream = new FileInputStream(file); + System.out.println("Reading file " + file); - CompilationUnit cu; - try { - // parse the file - cu = JavaParser.parse(meAsStream); - } finally { - meAsStream.close(); - } + CompilationUnit cu = JavaParser.parse(meAsStream); // visit and print the methods names new MethodVisitor().visit(cu, null); - + } catch (Exception e) { e.printStackTrace(); // test dans un bloc - _("test dans n bloc"); + t("test dans un bloc"); } } @@ -118,8 +127,8 @@ static class MethodVisitor extends VoidVisitorAdapter { @Override public void visit(MethodCallExpr n, Object arg) { - - if (n.getName().matches("[nl]?_")) { + + if (n.getName().matches("[nlt]")) { if (!n.getArgs().isEmpty()) { String firstArgs = n.getArgs().get(0).toString(); if (firstArgs.matches("^\"[^\"]+\"$")) { @@ -130,5 +139,6 @@ } } } + } }