From: Robert Varga Date: Tue, 4 Aug 2020 06:38:06 +0000 (+0200) Subject: Speed up annotations a bit X-Git-Tag: v7.0.0~60 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=402fcf442cbbc57cddb72a4779fccb52a71784c4;p=mdsal.git Speed up annotations a bit When we are accessing an annotation, it is better to have the JavaTypeName ready rather than having to construct/lookup it on the fly. Change-Id: I1ad93b3d6af4fd0d1268b8af90102b00f96d32c7 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java index dd52ed7d2c..6baa592c00 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java +++ b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java @@ -142,6 +142,9 @@ abstract class AbstractTypeGenerator { private static final Splitter COLON_SPLITTER = Splitter.on(':'); private static final JavaTypeName DEPRECATED_ANNOTATION = JavaTypeName.create(Deprecated.class); private static final JavaTypeName OVERRIDE_ANNOTATION = JavaTypeName.create(Override.class); + private static final JavaTypeName CHECK_RETURN_VALUE_ANNOTATION = + // Do not refer to annotation class, as it may not be available at runtime + JavaTypeName.create("edu.umd.cs.findbugs.annotations", "CheckReturnValue"); private static final Type LIST_STRING_TYPE = listTypeFor(BaseYangTypes.STRING_TYPE); /** @@ -552,7 +555,7 @@ abstract class AbstractTypeGenerator { final MethodSignatureBuilder method = interfaceBuilder.addMethod(rpcMethodName); // Do not refer to annotation class, as it may not be available at runtime - method.addAnnotation("edu.umd.cs.findbugs.annotations", "CheckReturnValue"); + method.addAnnotation(CHECK_RETURN_VALUE_ANNOTATION); addComment(method, rpc); method.addParameter( createRpcContainer(context, rpcName, rpc, verifyNotNull(rpc.getInput()), RPC_INPUT), "input"); diff --git a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java index 6a08bfed69..8e53b58a02 100644 --- a/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java +++ b/binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/AbstractTypeProvider.java @@ -100,6 +100,7 @@ import org.slf4j.LoggerFactory; public abstract class AbstractTypeProvider implements TypeProvider { private static final Logger LOG = LoggerFactory.getLogger(AbstractTypeProvider.class); private static final Pattern GROUPS_PATTERN = Pattern.compile("\\[(.*?)\\]"); + private static final JavaTypeName DEPRECATED_ANNOTATION = JavaTypeName.create(Deprecated.class); // Backwards compatibility: Union types used to be instantiated in YANG namespace, which is no longer // the case, as unions are emitted to their correct schema path. @@ -883,7 +884,7 @@ public abstract class AbstractTypeProvider implements TypeProvider { genTOBuilder.addToStringProperty(genPropBuilder); genTOBuilder.addImplementsType(BindingTypes.scalarTypeObject(javaType)); if (typedef.getStatus() == Status.DEPRECATED) { - genTOBuilder.addAnnotation("java.lang", "Deprecated"); + genTOBuilder.addAnnotation(DEPRECATED_ANNOTATION); } if (javaType instanceof ConcreteType && "String".equals(javaType.getName()) && typedef.getBaseType() != null) { addStringRegExAsConstant(genTOBuilder, resolveRegExpressionsFromTypedef(typedef)); @@ -1226,7 +1227,7 @@ public abstract class AbstractTypeProvider implements TypeProvider { addStringRegExAsConstant(genTOBuilder, resolveRegExpressionsFromTypedef(typedef)); if (typedef.getStatus() == Status.DEPRECATED) { - genTOBuilder.addAnnotation("java.lang", "Deprecated"); + genTOBuilder.addAnnotation(DEPRECATED_ANNOTATION); } if (baseTypeDefForExtendedType(innerExtendedType) instanceof UnionTypeDefinition) {