diff options
author | 2018-02-12 20:55:54 +0100 | |
---|---|---|
committer | 2018-02-23 11:44:45 +0100 | |
commit | b17042b955489d8a023d09abad5436ff9b900dc3 (patch) | |
tree | 1e4392ac04a2fb1ed8d17075d504cf6594acaf16 /nokiav2/generatortools/src | |
parent | d4982f7b1777e9cdae9a4cc7d0d104263889ac69 (diff) |
Updating Nokia driver
Change-Id: I950afe6acbdb359cd67a448024f006a45e8fc293
Signed-off-by: Denes Nemeth <denes.nemeth@nokia.com>
Issue-ID: VFC-728
Diffstat (limited to 'nokiav2/generatortools/src')
-rw-r--r-- | nokiav2/generatortools/src/main/java/com/nokia/cbam/swagger/CbamJavaClientCodegen.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/nokiav2/generatortools/src/main/java/com/nokia/cbam/swagger/CbamJavaClientCodegen.java b/nokiav2/generatortools/src/main/java/com/nokia/cbam/swagger/CbamJavaClientCodegen.java new file mode 100644 index 00000000..8f82689c --- /dev/null +++ b/nokiav2/generatortools/src/main/java/com/nokia/cbam/swagger/CbamJavaClientCodegen.java @@ -0,0 +1,85 @@ +/* +* Copyright 2016-2017 Nokia Corporation +* +* 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. +*/ + +package com.nokia.cbam.swagger; + +import com.google.common.collect.Sets; +import io.swagger.codegen.*; +import io.swagger.models.Model; +import io.swagger.models.ModelImpl; + +import java.io.File; +import java.util.*; +import io.swagger.codegen.languages.JavaClientCodegen; + +import static com.google.common.collect.Sets.newHashSet; + +public class CbamJavaClientCodegen extends JavaClientCodegen { + public CbamJavaClientCodegen() { + supportsInheritance = false; + for (CliOption cliOption : this.cliOptions) { + if(cliOption.getType().equals("useRxJava")){ + cliOption.setDefault("true"); + } + System.err.println(cliOption.getOpt() + cliOption.getDefault()); + } + + } + + @Override + public CodegenModel fromModel(String name, Model model, Map<String, Model> allDefinitions) { + CodegenModel m = super.fromModel(name, model, allDefinitions); + //remove the fields inherited from parent objects + remove(m, newHashSet("OPENSTACK_V3_INFO", "OPENSTACK_V2_INFO", "OTHER_VIM_INFO", "VMWARE_VCLOUD_INFO"), newHashSet("id")); + remove(m, newHashSet("OtherNotification", "VnfIdentifierCreationNotification", "VnfIdentifierDeletionNotification", "VnfInfoAttributeValueChangeNotification", "VnfLifecycleChangeNotification"), newHashSet("notificationType", "subscriptionId", "timestamp", "vnfInstanceId")); + + if(model instanceof ModelImpl && (!m.isEnum) && !m.hasVars) { + typeMapping.put(m.classname, typeMapping.get(((ModelImpl)model).getType())); + } + return m; + } + + public void remove(CodegenModel m, Set<String> classNames, Set<String> fieldNames){ + System.err.println("**** Processing " + m.name); + if(classNames.contains(m.name)){ + System.err.println("**** Processing " + m.name); + Iterator<CodegenProperty> iterator = m.vars.iterator(); + while(iterator.hasNext()){ + CodegenProperty prop = iterator.next(); + if(fieldNames.contains(prop.name)){ + System.err.println("**** Removing: " + prop.name + " from " + m.name); + iterator.remove(); + } + System.err.println("********* Keeping " + prop.name + " from " + m.name); + } + } + } + + @Override + public Map<String, Object> postProcessAllModels(Map<String, Object> objs) { + Map<String, Object> m = super.postProcessAllModels(objs); + for(Map.Entry<String, Object> entry: m.entrySet()) { + CodegenModel cm = ((HashMap<String, CodegenModel>)((List)((HashMap)entry.getValue()).get("models")).get(0)).get("model"); + for (CodegenProperty var : cm.vars) { + if (typeMapping.containsKey(var.datatype)) { + var.dataFormat = var.datatypeWithEnum = typeMapping.get(var.datatype); + } + } + } + return m; + } + +} |