Projects
Eulaceura:Mainline
jaxb2-common-basics
_service:obs_scm:0001-Port-to-latest-version-of...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0001-Port-to-latest-version-of-javaparser.patch of Package jaxb2-common-basics
From f386ad4a22d650388b718aca4fea928f8d7ed04a Mon Sep 17 00:00:00 2001 From: Mat Booth <mat.booth@redhat.com> Date: Thu, 14 Feb 2019 10:40:37 +0000 Subject: [PATCH] Port to latest version of javaparser --- basic/pom.xml | 6 +- .../inheritance/util/JavaTypeParser.java | 26 ++++----- .../util/TypeToJTypeConvertingVisitor.java | 56 ++++++++++--------- .../inheritance/tests/JavaTypeParserTest.java | 34 +++++------ pom.xml | 6 +- 5 files changed, 64 insertions(+), 64 deletions(-) diff --git a/basic/pom.xml b/basic/pom.xml index 1961600..7257ceb 100644 --- a/basic/pom.xml +++ b/basic/pom.xml @@ -31,8 +31,8 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>com.google.code.javaparser</groupId> - <artifactId>javaparser</artifactId> + <groupId>com.github.javaparser</groupId> + <artifactId>javaparser-core</artifactId> </dependency> <dependency> <groupId>org.jvnet.jaxb2.maven2</groupId> @@ -97,4 +97,4 @@ </plugins> </pluginManagement> </build> -</project> \ No newline at end of file +</project> diff --git a/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/JavaTypeParser.java b/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/JavaTypeParser.java index 2d5d07a..6e94f62 100644 --- a/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/JavaTypeParser.java +++ b/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/JavaTypeParser.java @@ -1,16 +1,16 @@ package org.jvnet.jaxb2_commons.plugin.inheritance.util; -import japa.parser.JavaParser; -import japa.parser.ParseException; -import japa.parser.ast.CompilationUnit; -import japa.parser.ast.body.ClassOrInterfaceDeclaration; -import japa.parser.ast.body.TypeDeclaration; -import japa.parser.ast.type.ClassOrInterfaceType; +import com.github.javaparser.JavaParser; +import com.github.javaparser.ParseProblemException; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.NodeList; +import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; +import com.github.javaparser.ast.body.TypeDeclaration; +import com.github.javaparser.ast.type.ClassOrInterfaceType; import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingException; import java.util.Collections; -import java.util.List; import java.util.Map; import org.apache.commons.lang3.Validate; @@ -52,18 +52,16 @@ public class JavaTypeParser { final String text = "public class Ignored extends " + type + " {}"; try { CompilationUnit compilationUnit = JavaParser.parse( - new ByteArrayInputStream(text.getBytes("UTF-8")), "UTF-8"); - final List<TypeDeclaration> typeDeclarations = compilationUnit - .getTypes(); - final TypeDeclaration typeDeclaration = typeDeclarations.get(0); + new ByteArrayInputStream(text.getBytes("UTF-8"))); + final TypeDeclaration typeDeclaration = compilationUnit.getType(0); final ClassOrInterfaceDeclaration classDeclaration = (ClassOrInterfaceDeclaration) typeDeclaration; - final List<ClassOrInterfaceType> _extended = classDeclaration - .getExtends(); + final NodeList<ClassOrInterfaceType> _extended = classDeclaration + .getExtendedTypes(); final ClassOrInterfaceType classOrInterfaceType = _extended.get(0); return classOrInterfaceType.accept( this.typeToJTypeConvertingVisitor, codeModel); - } catch (ParseException pex) { + } catch (ParseProblemException pex) { throw new IllegalArgumentException( "Could not parse the type definition [" + type + "].", pex); } catch (UnsupportedEncodingException uex) { diff --git a/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/TypeToJTypeConvertingVisitor.java b/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/TypeToJTypeConvertingVisitor.java index 5b8a4b7..9f7ae21 100644 --- a/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/TypeToJTypeConvertingVisitor.java +++ b/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/inheritance/util/TypeToJTypeConvertingVisitor.java @@ -1,12 +1,15 @@ package org.jvnet.jaxb2_commons.plugin.inheritance.util; -import japa.parser.ast.type.ClassOrInterfaceType; -import japa.parser.ast.type.PrimitiveType; -import japa.parser.ast.type.ReferenceType; -import japa.parser.ast.type.Type; -import japa.parser.ast.type.VoidType; -import japa.parser.ast.type.WildcardType; -import japa.parser.ast.visitor.GenericVisitorAdapter; +import com.github.javaparser.ast.NodeList; +import com.github.javaparser.ast.type.ArrayType; +import com.github.javaparser.ast.type.ClassOrInterfaceType; +import com.github.javaparser.ast.type.PrimitiveType; +import com.github.javaparser.ast.type.PrimitiveType.Primitive; +import com.github.javaparser.ast.type.ReferenceType; +import com.github.javaparser.ast.type.Type; +import com.github.javaparser.ast.type.VoidType; +import com.github.javaparser.ast.type.WildcardType; +import com.github.javaparser.ast.visitor.GenericVisitorAdapter; import java.util.ArrayList; import java.util.List; @@ -36,21 +39,21 @@ public class TypeToJTypeConvertingVisitor extends @Override public JType visit(PrimitiveType type, JCodeModel codeModel) { switch (type.getType()) { - case Boolean: + case BOOLEAN: return codeModel.BOOLEAN; - case Char: + case CHAR: return codeModel.CHAR; - case Byte: + case BYTE: return codeModel.BYTE; - case Short: + case SHORT: return codeModel.SHORT; - case Int: + case INT: return codeModel.INT; - case Long: + case LONG: return codeModel.LONG; - case Float: + case FLOAT: return codeModel.FLOAT; - case Double: + case DOUBLE: return codeModel.DOUBLE; default: throw new AssertionError("Unknown primitive type [" @@ -59,11 +62,11 @@ public class TypeToJTypeConvertingVisitor extends } @Override - public JType visit(ReferenceType type, JCodeModel codeModel) { - final JType referencedType = type.getType().accept(this, codeModel); + public JType visit(ArrayType type, JCodeModel codeModel) { + final JType referencedType = type.getComponentType().accept(this, codeModel); JType referencedTypeArray = referencedType; - for (int index = 0; index < type.getArrayCount(); index++) { + for (int index = 0; index < type.getArrayLevel(); index++) { referencedTypeArray = referencedTypeArray.array(); } return referencedTypeArray; @@ -72,8 +75,8 @@ public class TypeToJTypeConvertingVisitor extends @Override public JType visit(WildcardType type, JCodeModel codeModel) { - if (type.getExtends() != null) { - final ReferenceType _extends = type.getExtends(); + if (type.getExtendedType().isPresent()) { + final ReferenceType _extends = type.getExtendedType().get(); final JType boundType = _extends.accept(this, codeModel); if (!(boundType instanceof JClass)) { @@ -83,7 +86,7 @@ public class TypeToJTypeConvertingVisitor extends final JClass boundClass = (JClass) boundType; return boundClass.wildcard(); - } else if (type.getSuper() != null) { + } else if (type.getSuperType().isPresent()) { // TODO throw new IllegalArgumentException( "Wildcard types with super clause are not supported at the moment."); @@ -99,10 +102,10 @@ public class TypeToJTypeConvertingVisitor extends final JClass knownClass = this.knownClasses.get(name); final JClass jclass = knownClass != null ? knownClass : codeModel .ref(name); - final List<Type> typeArgs = type.getTypeArgs(); - if (typeArgs == null || typeArgs.isEmpty()) { + if (!type.getTypeArguments().isPresent() || type.getTypeArguments().get().isEmpty()) { return jclass; } else { + final NodeList<Type> typeArgs = type.getTypeArguments().get(); final List<JClass> jtypeArgs = new ArrayList<JClass>( typeArgs.size()); for (Type typeArg : typeArgs) { @@ -119,12 +122,11 @@ public class TypeToJTypeConvertingVisitor extends } private String getName(ClassOrInterfaceType type) { - final String name = type.getName(); - final ClassOrInterfaceType scope = type.getScope(); - if (scope == null) { + final String name = type.getName().asString(); + if (!type.getScope().isPresent()) { return name; } else { - return getName(scope) + "." + name; + return getName(type.getScope().get()) + "." + name; } } } diff --git a/basic/src/test/java/org/jvnet/jaxb2_commons/plugin/inheritance/tests/JavaTypeParserTest.java b/basic/src/test/java/org/jvnet/jaxb2_commons/plugin/inheritance/tests/JavaTypeParserTest.java index 8566557..8903526 100644 --- a/basic/src/test/java/org/jvnet/jaxb2_commons/plugin/inheritance/tests/JavaTypeParserTest.java +++ b/basic/src/test/java/org/jvnet/jaxb2_commons/plugin/inheritance/tests/JavaTypeParserTest.java @@ -1,15 +1,15 @@ package org.jvnet.jaxb2_commons.plugin.inheritance.tests; -import japa.parser.JavaParser; -import japa.parser.ast.CompilationUnit; -import japa.parser.ast.body.ClassOrInterfaceDeclaration; -import japa.parser.ast.body.TypeDeclaration; -import japa.parser.ast.type.ClassOrInterfaceType; -import japa.parser.ast.type.ReferenceType; -import japa.parser.ast.type.Type; +import com.github.javaparser.JavaParser; +import com.github.javaparser.ast.CompilationUnit; +import com.github.javaparser.ast.NodeList; +import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; +import com.github.javaparser.ast.body.TypeDeclaration; +import com.github.javaparser.ast.type.ClassOrInterfaceType; +import com.github.javaparser.ast.type.ReferenceType; +import com.github.javaparser.ast.type.Type; import java.io.ByteArrayInputStream; -import java.util.List; import junit.framework.TestCase; @@ -20,29 +20,29 @@ public class JavaTypeParserTest extends TestCase { final String text = "public class Dummy implements java.util.Comparator<java.lang.Integer>{}"; final CompilationUnit compilationUnit = JavaParser.parse( - new ByteArrayInputStream(text.getBytes("UTF-8")), "UTF-8"); - final List<TypeDeclaration> typeDeclarations = compilationUnit + new ByteArrayInputStream(text.getBytes("UTF-8"))); + final NodeList<TypeDeclaration<?>> typeDeclarations = compilationUnit .getTypes(); assertEquals(1, typeDeclarations.size()); final TypeDeclaration typeDeclaration = typeDeclarations.get(0); assertTrue(typeDeclaration instanceof ClassOrInterfaceDeclaration); final ClassOrInterfaceDeclaration classDeclaration = (ClassOrInterfaceDeclaration) typeDeclaration; - assertEquals("Dummy", classDeclaration.getName()); - final List<ClassOrInterfaceType> implementedInterfaces = classDeclaration - .getImplements(); + assertEquals("Dummy", classDeclaration.getName().asString()); + final NodeList<ClassOrInterfaceType> implementedInterfaces = classDeclaration + .getImplementedTypes(); assertEquals(1, implementedInterfaces.size()); final ClassOrInterfaceType implementedInterface = implementedInterfaces .get(0); - assertEquals("Comparator", implementedInterface.getName()); - final List<Type> typeArgs = implementedInterface.getTypeArgs(); + assertEquals("Comparator", implementedInterface.getName().asString()); + final NodeList<Type> typeArgs = implementedInterface.getTypeArguments().get(); assertEquals(1, typeArgs.size()); final Type typeArg = typeArgs.get(0); assertTrue(typeArg instanceof ReferenceType); final ReferenceType referenceTypeArg = (ReferenceType) typeArg; - final Type referencedType = referenceTypeArg.getType(); + final Type referencedType = referenceTypeArg.getElementType(); assertTrue(referencedType instanceof ClassOrInterfaceType); final ClassOrInterfaceType typeArgType = (ClassOrInterfaceType) referencedType; - assertEquals("Integer", typeArgType.getName()); + assertEquals("Integer", typeArgType.getName().asString()); } } diff --git a/pom.xml b/pom.xml index 78d8fc0..67bd1bd 100644 --- a/pom.xml +++ b/pom.xml @@ -251,9 +251,9 @@ </dependency> <!-- Java Parser --> <dependency> - <groupId>com.google.code.javaparser</groupId> - <artifactId>javaparser</artifactId> - <version>1.0.11</version> + <groupId>com.github.javaparser</groupId> + <artifactId>javaparser-core</artifactId> + <version>3.3.5</version> </dependency> </dependencies> </dependencyManagement> -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2