Remove the generation code for swagger and xsd
[aai/aai-common.git] / aai-core / src / main / java / org / onap / aai / util / GenerateXsd.java
diff --git a/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java b/aai-core/src/main/java/org/onap/aai/util/GenerateXsd.java
deleted file mode 100644 (file)
index f44663e..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.aai.util;
-
-
-import org.onap.aai.config.SpringContextAware;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.util.genxsd.HTMLfromOXM;
-import org.onap.aai.util.genxsd.NodesYAMLfromOXM;
-
-import org.onap.aai.util.genxsd.YAMLfromOXM;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.w3c.dom.*;
-
-
-import java.io.*;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.*;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class GenerateXsd {
-
-       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
-       protected static String apiVersion = null;
-       public static AnnotationConfigApplicationContext ctx = null;
-       static String apiVersionFmt = null;
-       static boolean useAnnotationsInXsd = false;
-       static String responsesUrl = null;
-       static String responsesLabel = null;
-       static String jsonEdges = null;
-       static Map<String, String> generatedJavaType;
-       static Map<String, String> appliedPaths;
-       static String RELEASE = System.getProperty("aai.release", "onap");
-
-
-       static NodeList javaTypeNodes;
-       static Map<String,String> javaTypeDefinitions = createJavaTypeDefinitions();
-    private static Map<String, String> createJavaTypeDefinitions()
-    {
-       StringBuffer aaiInternal = new StringBuffer();
-       Map<String,String> javaTypeDefinitions = new HashMap<String, String>();
-       aaiInternal.append("  aai-internal:\n");
-       aaiInternal.append("    properties:\n");
-       aaiInternal.append("      property-name:\n");
-       aaiInternal.append("        type: string\n");
-       aaiInternal.append("      property-value:\n");
-       aaiInternal.append("        type: string\n");
-//     javaTypeDefinitions.put("aai-internal", aaiInternal.toString());
-       return javaTypeDefinitions;
-    }
-
-       public static final int VALUE_NONE = 0;
-       public static final int VALUE_DESCRIPTION = 1;
-       public static final int VALUE_INDEXED_PROPS = 2;
-       public static final int VALUE_CONTAINER = 3;
-
-       private static final String generateTypeXSD = "xsd";
-       private static final String generateTypeYAML = "yaml";
-
-       private final static String nodeDir = System.getProperty("nodes.configuration.location");
-       private final static String edgeDir = System.getProperty("edges.configuration.location");
-       private static final String baseRoot = "aai-schema/";
-       private static final String baseAutoGenRoot = "aai-schema/";
-
-       private static final String root = baseRoot + "src/main/resources";
-       private static final String autoGenRoot = baseAutoGenRoot + "src/main/resources";
-
-       private static final String normalStartDir = "aai-core";
-       private static final String xsd_dir = root + "/" + RELEASE +"/aai_schema";
-
-       private static final String yaml_dir = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains(normalStartDir))) ? autoGenRoot : root) + "/" + RELEASE + "/aai_swagger_yaml";
-
-       /* These three strings are for yaml auto-generation from aai-common class*/
-
-       private static int swaggerSupportStartsVersion = 1; // minimum version to support swagger documentation
-
-
-       private static boolean validVersion(String versionToGen) {
-
-               if ("ALL".equalsIgnoreCase(versionToGen)) {
-                       return true;
-               }
-
-               SchemaVersions schemaVersions = (SchemaVersions) SpringContextAware.getBean("schemaVersions");
-               for (SchemaVersion v : schemaVersions.getVersions()) {
-               if (v.equals(versionToGen)) {
-                   return true;
-               }
-           }
-
-           return false;
-       }
-
-       private static boolean versionSupportsSwagger( String version) {
-               if (new Integer(version.substring(1)).intValue() >= swaggerSupportStartsVersion ) {
-                       return true;
-               }
-               return false;
-       }
-
-       public static String getAPIVersion() {
-               return apiVersion;
-       }
-
-       public static String getYamlDir() {
-               return yaml_dir;
-       }
-
-       public static String getResponsesUrl() {
-               return responsesUrl;
-       }
-       public static void main(String[] args) throws IOException {
-               String versionToGen = System.getProperty("gen_version").toLowerCase();
-               String fileTypeToGen = System.getProperty("gen_type").toLowerCase();
-
-               AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(
-                               "org.onap.aai.config",
-                               "org.onap.aai.setup"
-               );
-
-               SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class);
-
-               if ( fileTypeToGen == null ) {
-                       fileTypeToGen = generateTypeXSD;
-               }
-
-               if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
-                       System.err.println("Invalid gen_type passed. " + fileTypeToGen);
-                       System.exit(1);
-               }
-
-               String responsesLabel = System.getProperty("yamlresponses_url");
-               responsesUrl = responsesLabel;
-
-               List<SchemaVersion> versionsToGen = new ArrayList<>();
-               if ( versionToGen == null ) {
-                       System.err.println("Version is required, ie v<n> or ALL.");
-                       System.exit(1);
-               }
-               else if (!"ALL".equalsIgnoreCase(versionToGen) && !versionToGen.matches("v\\d+") && !validVersion(versionToGen)) {
-                       System.err.println("Invalid version passed. " + versionToGen);
-                       System.exit(1);
-               }
-               else if ("ALL".equalsIgnoreCase(versionToGen)) {
-                       versionsToGen = schemaVersions.getVersions();
-                       Collections.sort(versionsToGen);
-                       Collections.reverse(versionsToGen);
-               } else {
-                       versionsToGen.add(new SchemaVersion(versionToGen));
-               }
-
-               //process file type System property
-               fileTypeToGen = (fileTypeToGen == null ? generateTypeXSD : fileTypeToGen.toLowerCase());
-               if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
-                       System.err.println("Invalid gen_type passed. " + fileTypeToGen);
-                       System.exit(1);
-               } else if ( fileTypeToGen.equals(generateTypeYAML) ) {
-                       if ( responsesUrl == null || responsesUrl.length() < 1
-                                       || responsesLabel == null || responsesLabel.length() < 1 ) {
-                               System.err.println("generating swagger yaml file requires yamlresponses_url and yamlresponses_label properties" );
-                               System.exit(1);
-                       } else {
-                               responsesUrl = "description: "+ "Response codes found in [response codes]("+responsesLabel+ ").\n";
-                       }
-               }
-               /*
-                * TODO: Oxm Path is config driveb
-                */
-               String oxmPath;
-               if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(normalStartDir)) {
-                       oxmPath = baseAutoGenRoot + nodeDir;
-               }
-               else {
-                       oxmPath = baseRoot + nodeDir;
-               }
-
-               String outfileName = null;
-               File outfile;
-               String nodesfileName = null;
-               File nodesfile;
-               String fileContent = null;
-               String nodesContent = null;
-
-
-               for (SchemaVersion v : versionsToGen) {
-                       apiVersion = v.toString();
-                       logger.debug("YAMLdir = "+yaml_dir);
-                       logger.debug("Generating " + apiVersion + " " + fileTypeToGen);
-                       apiVersionFmt = "." + apiVersion + ".";
-                       generatedJavaType = new HashMap<String, String>();
-                       appliedPaths = new HashMap<String, String>();
-                       File edgeRuleFile = null;
-                       String fileName = edgeDir + "DbEdgeRules_" + apiVersion + ".json";
-                       logger.debug("user.dir = "+System.getProperty("user.dir"));
-                       if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(normalStartDir)) {
-                               fileName = baseAutoGenRoot + fileName;
-
-                       }
-                       else {
-                               fileName = baseRoot + fileName;
-
-                       }
-                       edgeRuleFile = new File( fileName);
-//                     Document doc = ni.getSchema(translateVersion(v));
-
-                       if ( fileTypeToGen.equals(generateTypeXSD) ) {
-                               outfileName = xsd_dir + "/aai_schema_" + apiVersion + "." + generateTypeXSD;
-                               try {
-                                       HTMLfromOXM swagger = ctx.getBean(HTMLfromOXM.class);
-                                       swagger.setVersion(v);
-                                       fileContent = swagger.process();
-                                       if ( fileContent.startsWith("Schema format issue")) {
-                                               throw new Exception(fileContent);
-                                       }
-                               } catch(Exception e) {
-                               logger.error( "Exception creating output file " + outfileName);
-                               logger.error( e.getMessage());
-                               e.printStackTrace();
-                               System.exit(-1);
-                               }
-                       } else if ( versionSupportsSwagger(apiVersion )) {
-                               outfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + generateTypeYAML;
-                               nodesfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+generateTypeYAML;
-                               try {
-                                       YAMLfromOXM swagger = (YAMLfromOXM) ctx.getBean(YAMLfromOXM.class);
-                                       swagger.setVersion(v);
-                                       fileContent = swagger.process();
-                                       Map combinedJavaTypes = swagger.getCombinedJavaTypes();
-                                       NodesYAMLfromOXM nodesSwagger = ctx.getBean(NodesYAMLfromOXM.class);
-                                       nodesSwagger.setVersion(v);
-                                       nodesSwagger.setCombinedJavaTypes(combinedJavaTypes);
-                                       nodesContent = nodesSwagger.process();
-                               } catch(Exception e) {
-                               logger.error( "Exception creating output file " + outfileName);
-                               e.printStackTrace();
-                               }
-                       } else {
-                               continue;
-                       }
-                       outfile = new File(outfileName);
-                       File parentDir = outfile.getParentFile();
-                       if(! parentDir.exists())
-                             parentDir.mkdirs();
-                       if(nodesfileName != null) {
-                               BufferedWriter nodesBW = null;
-                               nodesfile = new File(nodesfileName);
-                               parentDir = nodesfile.getParentFile();
-                               if(! parentDir.exists())
-                                     parentDir.mkdirs();
-                           try {
-                               nodesfile.createNewFile();
-                           } catch (IOException e) {
-                               logger.error( "Exception creating output file " + nodesfileName);
-                               e.printStackTrace();
-                           }
-                       try {
-                               Charset charset = Charset.forName("UTF-8");
-                               Path path = Paths.get(nodesfileName);
-                               nodesBW = Files.newBufferedWriter(path, charset);
-                               nodesBW.write(nodesContent);
-                       } catch ( IOException e) {
-                               logger.error( "Exception writing output file " + outfileName);
-                               e.printStackTrace();
-                       } finally {
-                               if ( nodesBW != null ) {
-                                       nodesBW.close();
-                               }
-                       }
-                       }
-
-                   try {
-                       outfile.createNewFile();
-                   } catch (IOException e) {
-                       logger.error( "Exception creating output file " + outfileName);
-                       e.printStackTrace();
-                   }
-                   BufferedWriter bw = null;
-               try {
-                       Charset charset = Charset.forName("UTF-8");
-                       Path path = Paths.get(outfileName);
-                       bw = Files.newBufferedWriter(path, charset);
-                       bw.write(fileContent);
-               } catch ( IOException e) {
-                       logger.error( "Exception writing output file " + outfileName);
-                       e.printStackTrace();
-               } finally {
-                       if ( bw != null ) {
-                               bw.close();
-                       }
-               }
-                       logger.debug( "GeneratedXSD successful, saved in " + outfileName);
-               }
-
-       }
-
-}
-