X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fjapi%2Fjava%2Fjvpp%2Fgen%2Fjvppgen%2Fenums_gen.py;fp=extras%2Fjapi%2Fjava%2Fjvpp%2Fgen%2Fjvppgen%2Fenums_gen.py;h=0000000000000000000000000000000000000000;hb=4e633e1043e867fd24badeb0405f794793beb9a9;hp=8ba96558428df62901a21e8b54cec92df9129cd0;hpb=aed61801947146e6a93e7791d382bd21d050ee14;p=vpp.git diff --git a/extras/japi/java/jvpp/gen/jvppgen/enums_gen.py b/extras/japi/java/jvpp/gen/jvppgen/enums_gen.py deleted file mode 100755 index 8ba96558428..00000000000 --- a/extras/japi/java/jvpp/gen/jvppgen/enums_gen.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env python2 -# -# Copyright (c) 2016,2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -from string import Template - -from jvpp_model import Enum - - -def generate_enums(work_dir, model, logger): - logger.debug("Generating enums for %s " % model.json_api_files) - - for t in model.types: - if not isinstance(t, Enum): - continue - logger.debug("Generating DTO for enum %s", t) - type_class_name = t.java_name - type_class = _ENUM_TEMPLATE.substitute( - plugin_package=model.plugin_package, - c_type_name=t.name, - json_filename=model.json_api_files, - json_definition=t.doc, - java_enum_name=type_class_name, - constants=_generate_constants(t.constants), - value_type=t.value.type.java_name - ) - with open("%s/%s.java" % (work_dir, type_class_name), "w") as f: - f.write(type_class) - -_ENUM_TEMPLATE = Template(""" -package $plugin_package.types; - -/** - *

This class represents $c_type_name enum definition. - *
It was generated by enums_gen.py based on $json_filename: - *

-$json_definition
- * 
- */ -public enum $java_enum_name { -$constants; - - public final $value_type value; - - $java_enum_name(final $value_type value) { - this.value = value; - } - - public static $java_enum_name forValue(final $value_type value) { - for ($java_enum_name enumeration : $java_enum_name.values()) { - if (value == enumeration.value) { - return enumeration; - } - } - return null; - } -} -""") - - -def _generate_constants(constants): - return ",\n".join(_CONSTANT_TEMPLATE.substitute(name=c['name'], value=c['value']) for c in constants) - -_CONSTANT_TEMPLATE = Template(""" $name($value)""")