From e0ad4f2890f9f933199bc6f1b3f0e988da471aa9 Mon Sep 17 00:00:00 2001 From: Fiete Ostkamp Date: Sat, 17 Sep 2022 20:42:06 +0200 Subject: Replace all tab characters in java files with two spaces to remove linter warning Issue-ID: AAI-3525 Signed-off-by: Fiete Ostkamp Change-Id: I36cf7b83dd33c3b69de51e56e00bbd93a79c5ec4 --- .../java/org/onap/aai/schemagen/GenerateXsd.java | 448 +++--- .../org/onap/aai/schemagen/SpringContextAware.java | 16 +- .../schemagen/genxsd/ConfigTranslatorForDocs.java | 88 +- .../aai/schemagen/genxsd/DeleteFootnoteSet.java | 58 +- .../onap/aai/schemagen/genxsd/GetOperation.java | 26 +- .../org/onap/aai/schemagen/genxsd/HTMLfromOXM.java | 2 +- .../aai/schemagen/genxsd/NodeGetOperation.java | 10 +- .../org/onap/aai/schemagen/genxsd/XSDElement.java | 8 +- .../aai/schemagen/swagger/GenerateSwagger.java | 58 +- .../org/onap/aai/schemagen/GenerateXsdTest.java | 164 +-- .../schemagen/genxsd/DeleteFootnoteSetTest.java | 80 +- .../aai/schemagen/genxsd/DeleteOperationTest.java | 80 +- .../aai/schemagen/genxsd/EdgeDescriptionTest.java | 544 +++---- .../aai/schemagen/genxsd/GetOperationTest.java | 124 +- .../onap/aai/schemagen/genxsd/HTMLfromOXMTest.java | 578 ++++---- .../aai/schemagen/genxsd/NodeGetOperationTest.java | 128 +- .../aai/schemagen/genxsd/NodesYAMLfromOXMTest.java | 724 +++++----- .../aai/schemagen/genxsd/PatchOperationTest.java | 82 +- .../aai/schemagen/genxsd/PutOperationTest.java | 82 +- .../schemagen/genxsd/PutRelationPathSetTest.java | 374 ++--- .../onap/aai/schemagen/genxsd/XSDElementTest.java | 1166 +++++++-------- .../onap/aai/schemagen/genxsd/XSDJavaTypeTest.java | 122 +- .../onap/aai/schemagen/genxsd/YAMLfromOXMTest.java | 1480 ++++++++++---------- .../TestUtilConfigTranslatorforBusiness.java | 60 +- .../TestUtilConfigTranslatorforDataLink.java | 48 +- .../TestUtilConfigTranslatorforEdges.java | 64 +- 26 files changed, 3307 insertions(+), 3307 deletions(-) (limited to 'aai-schema-gen') diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java index a85ecac..9d3f258 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java @@ -42,101 +42,101 @@ import java.util.*; 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 generatedJavaType; - static Map appliedPaths; - static String RELEASE = System.getProperty("aai.release", "onap"); - - - static NodeList javaTypeNodes; - static Map javaTypeDefinitions = createJavaTypeDefinitions(); + 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 generatedJavaType; + static Map appliedPaths; + static String RELEASE = System.getProperty("aai.release", "onap"); + + + static NodeList javaTypeNodes; + static Map javaTypeDefinitions = createJavaTypeDefinitions(); private static Map createJavaTypeDefinitions() { StringBuilder aaiInternal = new StringBuilder(); - Map javaTypeDefinitions = new HashMap(); - 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; + Map javaTypeDefinitions = new HashMap(); + 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; + 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 GENERATE_TYPE_XSD = "xsd"; - private static final String GENERATE_TYPE_YAML = "yaml"; + private static final String GENERATE_TYPE_XSD = "xsd"; + private static final String GENERATE_TYPE_YAML = "yaml"; - private final static String NODE_DIR = System.getProperty("nodes.configuration.location"); - private final static String EDGE_DIR = System.getProperty("edges.configuration.location"); - private static final String BASE_ROOT = "aai-schema/"; - private static final String BASE_AUTO_GEN_ROOT = "aai-schema/"; + private final static String NODE_DIR = System.getProperty("nodes.configuration.location"); + private final static String EDGE_DIR = System.getProperty("edges.configuration.location"); + private static final String BASE_ROOT = "aai-schema/"; + private static final String BASE_AUTO_GEN_ROOT = "aai-schema/"; - private static final String ROOT = BASE_ROOT + "src/main/resources"; - private static final String AUTO_GEN_ROOT = BASE_AUTO_GEN_ROOT + "src/main/resources"; + private static final String ROOT = BASE_ROOT + "src/main/resources"; + private static final String AUTO_GEN_ROOT = BASE_AUTO_GEN_ROOT + "src/main/resources"; - private static final String NORMAL_START_DIR = "aai-schema-gen"; - private static final String XSD_DIR = ROOT + "/" + RELEASE +"/aai_schema"; + private static final String NORMAL_START_DIR = "aai-schema-gen"; + private static final String XSD_DIR = ROOT + "/" + RELEASE +"/aai_schema"; - private static final String + private static final String YAML_DIR = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains( NORMAL_START_DIR))) ? AUTO_GEN_ROOT : ROOT) + "/" + RELEASE + "/aai_swagger_yaml"; - /* These three strings are for yaml auto-generation from aai-common class*/ + /* These three strings are for yaml auto-generation from aai-common class*/ - private static final int SWAGGER_SUPPORT_STARTS_VERSION = 1; // minimum version to support swagger documentation + private static final int SWAGGER_SUPPORT_STARTS_VERSION = 1; // minimum version to support swagger documentation - private static boolean validVersion(String versionToGen) { + private static boolean validVersion(String versionToGen) { - if ("ALL".equalsIgnoreCase(versionToGen)) { - return true; - } + if ("ALL".equalsIgnoreCase(versionToGen)) { + return true; + } - SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class); - if (schemaVersions == null) { - return false; + SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class); + if (schemaVersions == null) { + return false; } - for (SchemaVersion v : schemaVersions.getVersions()) { - if (v.toString().equals(versionToGen)) { - return true; - } - } + for (SchemaVersion v : schemaVersions.getVersions()) { + if (v.toString().equals(versionToGen)) { + return true; + } + } - return false; - } + return false; + } - private static boolean versionSupportsSwagger(String version) { + private static boolean versionSupportsSwagger(String version) { return Integer.parseInt(version.substring(1)) >= SWAGGER_SUPPORT_STARTS_VERSION; } - public static String getAPIVersion() { - return apiVersion; - } + public static String getAPIVersion() { + return apiVersion; + } - public static String getYamlDir() { - return YAML_DIR; - } + 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"); + public static String getResponsesUrl() { + return responsesUrl; + } + public static void main(String[] args) throws IOException { + String versionToGen = System.getProperty("gen_version"); if (versionToGen == null) { System.err.println("Version is required, ie v or ALL."); System.exit(1); @@ -152,175 +152,175 @@ public class GenerateXsd { } AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext( - "org.onap.aai.setup", + "org.onap.aai.setup", "org.onap.aai.schemagen" - ); - - SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class); - - if ( !fileTypeToGen.equals(GENERATE_TYPE_XSD) && !fileTypeToGen.equals(GENERATE_TYPE_YAML)) { - System.err.println("Invalid gen_type passed. " + fileTypeToGen); - System.exit(1); - } - - String responsesLabel = System.getProperty("yamlresponses_url"); - responsesUrl = responsesLabel; - - List versionsToGen = new ArrayList<>(); - 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 - if ( fileTypeToGen.equals(GENERATE_TYPE_YAML) ) { - 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( + ); + + SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class); + + if ( !fileTypeToGen.equals(GENERATE_TYPE_XSD) && !fileTypeToGen.equals(GENERATE_TYPE_YAML)) { + System.err.println("Invalid gen_type passed. " + fileTypeToGen); + System.exit(1); + } + + String responsesLabel = System.getProperty("yamlresponses_url"); + responsesUrl = responsesLabel; + + List versionsToGen = new ArrayList<>(); + 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 + if ( fileTypeToGen.equals(GENERATE_TYPE_YAML) ) { + 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( NORMAL_START_DIR)) { - oxmPath = BASE_AUTO_GEN_ROOT + NODE_DIR; - } - else { - oxmPath = BASE_ROOT + NODE_DIR; - } - - 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(); - appliedPaths = new HashMap(); - File edgeRuleFile = null; - String fileName = EDGE_DIR + "DbEdgeRules_" + apiVersion + ".json"; - logger.debug("user.dir = "+System.getProperty("user.dir")); - if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains( + oxmPath = BASE_AUTO_GEN_ROOT + NODE_DIR; + } + else { + oxmPath = BASE_ROOT + NODE_DIR; + } + + 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(); + appliedPaths = new HashMap(); + File edgeRuleFile = null; + String fileName = EDGE_DIR + "DbEdgeRules_" + apiVersion + ".json"; + logger.debug("user.dir = "+System.getProperty("user.dir")); + if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains( NORMAL_START_DIR)) { - fileName = BASE_AUTO_GEN_ROOT + fileName; - - } - else { - fileName = BASE_ROOT + fileName; - - } - edgeRuleFile = new File( fileName); -// Document doc = ni.getSchema(translateVersion(v)); - - if ( fileTypeToGen.equals(GENERATE_TYPE_XSD) ) { - outfileName = XSD_DIR + "/aai_schema_" + apiVersion + "." + GENERATE_TYPE_XSD; - 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()); - System.exit(-1); - } - } else if ( versionSupportsSwagger(apiVersion )) { - outfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + GENERATE_TYPE_YAML; - nodesfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+ + fileName = BASE_AUTO_GEN_ROOT + fileName; + + } + else { + fileName = BASE_ROOT + fileName; + + } + edgeRuleFile = new File( fileName); +// Document doc = ni.getSchema(translateVersion(v)); + + if ( fileTypeToGen.equals(GENERATE_TYPE_XSD) ) { + outfileName = XSD_DIR + "/aai_schema_" + apiVersion + "." + GENERATE_TYPE_XSD; + 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()); + System.exit(-1); + } + } else if ( versionSupportsSwagger(apiVersion )) { + outfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + GENERATE_TYPE_YAML; + nodesfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+ GENERATE_TYPE_YAML; - 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); - } - } else { - continue; - } - outfile = new File(outfileName); - File parentDir = outfile.getParentFile(); - if(!parentDir.exists()) { + 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); + } + } 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()){ + if(nodesfileName != null) { + BufferedWriter nodesBW = null; + nodesfile = new File(nodesfileName); + parentDir = nodesfile.getParentFile(); + if(!parentDir.exists()){ parentDir.mkdirs(); } - try { - if(!nodesfile.createNewFile()) { + try { + if(!nodesfile.createNewFile()) { logger.error( "File {} already exist", nodesfileName); } - } catch (IOException e) { - logger.error( "Exception creating output file " + nodesfileName, e); - } - try { - Charset charset = StandardCharsets.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); - } finally { - if ( nodesBW != null ) { - nodesBW.close(); - } - } - } - - try { - if(!outfile.createNewFile()) { + } catch (IOException e) { + logger.error( "Exception creating output file " + nodesfileName, e); + } + try { + Charset charset = StandardCharsets.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); + } finally { + if ( nodesBW != null ) { + nodesBW.close(); + } + } + } + + try { + if(!outfile.createNewFile()) { logger.error( "File {} already exist", outfileName); } - } catch (IOException e) { - logger.error( "Exception creating output file " + outfileName, e); - } - BufferedWriter bw = null; - try { - Charset charset = StandardCharsets.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); - } finally { - if ( bw != null ) { - bw.close(); - } - } - logger.debug( "GeneratedXSD successful, saved in " + outfileName); - } - - } + } catch (IOException e) { + logger.error( "Exception creating output file " + outfileName, e); + } + BufferedWriter bw = null; + try { + Charset charset = StandardCharsets.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); + } finally { + if ( bw != null ) { + bw.close(); + } + } + logger.debug( "GeneratedXSD successful, saved in " + outfileName); + } + + } } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java index 48cd46d..d91cf81 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java @@ -31,23 +31,23 @@ public class SpringContextAware implements ApplicationContextAware { private static ApplicationContext context = null; public static ApplicationContext getApplicationContext() { - return context; + return context; } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - context = applicationContext; + context = applicationContext; } - public static T getBean(String beanName, Class requiredType) { - if(context != null){ - return context.getBean(beanName, requiredType); - } + public static T getBean(String beanName, Class requiredType) { + if(context != null){ + return context.getBean(beanName, requiredType); + } return null; - } + } - public static T getBean(Class clazz){ + public static T getBean(Class clazz){ if(context != null){ return context.getBean(clazz); } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java index 217aa4e..c4db6f9 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java @@ -31,51 +31,51 @@ import java.util.*; public class ConfigTranslatorForDocs extends ConfigTranslator { - public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) { - super(bean, schemaVersions); - } + public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) { + super(bean, schemaVersions); + } - @Override - public Map> getNodeFiles() { - List versionsToGen = new ArrayList<>(); - versionsToGen = schemaVersions.getVersions(); - Collections.sort(versionsToGen); - Collections.reverse(versionsToGen); - Map> mp = new TreeMap<>(); - for (SchemaVersion v : versionsToGen) { - File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase()); - File [] fileSet = dir.listFiles(); - List files = new ArrayList<>(); - for(File f: fileSet ) { - files.add(f.getAbsolutePath()); - } + @Override + public Map> getNodeFiles() { + List versionsToGen = new ArrayList<>(); + versionsToGen = schemaVersions.getVersions(); + Collections.sort(versionsToGen); + Collections.reverse(versionsToGen); + Map> mp = new TreeMap<>(); + for (SchemaVersion v : versionsToGen) { + File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase()); + File [] fileSet = dir.listFiles(); + List files = new ArrayList<>(); + for(File f: fileSet ) { + files.add(f.getAbsolutePath()); + } - mp.put(v, files); - } - return mp; - } + mp.put(v, files); + } + return mp; + } - @Override - public Map> getEdgeFiles() { - List versionsToGen = new ArrayList<>(); - versionsToGen = schemaVersions.getVersions(); - Collections.sort(versionsToGen); - Collections.reverse(versionsToGen); - Map> mp = new TreeMap<>(); - for (SchemaVersion v : versionsToGen) { - File dir = new File(bean.getEdgeDirectory()); - File [] fileSet = dir.listFiles(new FilenameFilter() { - @Override - public boolean accept(File dir, String name) { - return name.contains("_"+v.toString().toLowerCase()); - } - }); - List files = new ArrayList<>(); - for(File f: fileSet ) { - files.add(f.getAbsolutePath()); - } - mp.put(v, files); - } - return mp; - } + @Override + public Map> getEdgeFiles() { + List versionsToGen = new ArrayList<>(); + versionsToGen = schemaVersions.getVersions(); + Collections.sort(versionsToGen); + Collections.reverse(versionsToGen); + Map> mp = new TreeMap<>(); + for (SchemaVersion v : versionsToGen) { + File dir = new File(bean.getEdgeDirectory()); + File [] fileSet = dir.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.contains("_"+v.toString().toLowerCase()); + } + }); + List files = new ArrayList<>(); + for(File f: fileSet ) { + files.add(f.getAbsolutePath()); + } + mp.put(v, files); + } + return mp; + } } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java index 7efaed9..a570d6f 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java @@ -23,35 +23,35 @@ import java.util.Set; import java.util.TreeSet; public class DeleteFootnoteSet { - protected Set footnotes = new TreeSet<>(); - protected String targetNode = ""; - public DeleteFootnoteSet(String targetNode) { - super(); - this.targetNode = targetNode == null ? "" : targetNode; - } + protected Set footnotes = new TreeSet<>(); + protected String targetNode = ""; + public DeleteFootnoteSet(String targetNode) { + super(); + this.targetNode = targetNode == null ? "" : targetNode; + } - public void add(String s ) { - String fullnote=null; - if("(1)".equals(s)) { - fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this FROM node is DELETED also"; - } else if("(2)".equals(s)) { - fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this TO node is DELETED also"; - } else if("(3)".equals(s)) { - fullnote = s+" IF this FROM node is deleted, this "+targetNode.toUpperCase()+" is DELETED also"; - } else if("(4)".equals(s)) { - fullnote = s+" IF this TO node is deleted, this "+targetNode.toUpperCase()+" is DELETED also"; - } else if(s.contains(targetNode.toUpperCase())) { - fullnote = s; - } else { - return; - } - footnotes.add(fullnote); - } + public void add(String s ) { + String fullnote=null; + if("(1)".equals(s)) { + fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this FROM node is DELETED also"; + } else if("(2)".equals(s)) { + fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this TO node is DELETED also"; + } else if("(3)".equals(s)) { + fullnote = s+" IF this FROM node is deleted, this "+targetNode.toUpperCase()+" is DELETED also"; + } else if("(4)".equals(s)) { + fullnote = s+" IF this TO node is deleted, this "+targetNode.toUpperCase()+" is DELETED also"; + } else if(s.contains(targetNode.toUpperCase())) { + fullnote = s; + } else { + return; + } + footnotes.add(fullnote); + } - public String toString() { - StringBuilder sb = new StringBuilder(); - if(footnotes.size() > 0) sb.append("\n -"); - sb.append(String.join("\n -", footnotes)+"\n"); - return sb.toString(); - } + public String toString() { + StringBuilder sb = new StringBuilder(); + if(footnotes.size() > 0) sb.append("\n -"); + sb.append(String.join("\n -", footnotes)+"\n"); + return sb.toString(); + } } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java index a22dfd5..f9d1799 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java @@ -50,16 +50,16 @@ public class GetOperation { this.tag = tag; this.path = path; this.pathParams = pathParams; -// StringBuilder p = new StringBuilder(); +// StringBuilder p = new StringBuilder(); if (containers.get(xmlRootElementName) == null) { this.queryParams = ""; } else { this.queryParams = String.join("", containers.get(xmlRootElementName)); -// for(String param : containers.get(xmlRootElementName)) { -// p.append(param); -// } -// this.queryParams = p.toString(); +// for(String param : containers.get(xmlRootElementName)) { +// p.append(param); +// } +// this.queryParams = p.toString(); } } @@ -68,11 +68,11 @@ public class GetOperation { StringTokenizer st; st = new StringTokenizer(path, "/"); //Path has to be longer than one element - /* - if ( st.countTokens() <= 1) { - return ""; - } - */ + /* + if ( st.countTokens() <= 1) { + return ""; + } + */ //a valid tag is necessary if (StringUtils.isEmpty(tag)) { return ""; @@ -116,9 +116,9 @@ public class GetOperation { if (StringUtils.isNotEmpty(pathParams)) { pathSb.append(pathParams); } -// if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) { -// pathSb.append("\n"); -// } +// if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) { +// pathSb.append("\n"); +// } if (StringUtils.isNotEmpty(queryParams)) { pathSb.append(queryParams); } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java index ce45236..01598a0 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java @@ -203,7 +203,7 @@ public class HTMLfromOXM extends OxmFileProcessor { XSDElement xmlElementElement = new XSDElement((Element) xmlElementNodes.item(i), maxOccurs); -// String elementName = xmlElementElement.getAttribute("name"); +// String elementName = xmlElementElement.getAttribute("name"); String elementType = xmlElementElement.getAttribute("type"); //No simple types; only AAI custom types String addType = elementType.contains("." + v.toString() + ".") ? diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java index 2561593..bdfdfd6 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java @@ -90,11 +90,11 @@ public class NodeGetOperation { StringTokenizer st; st = new StringTokenizer(CRUDpath, "/"); //Path has to be longer than one element - /* - if ( st.countTokens() <= 1) { - return ""; - } - */ + /* + if ( st.countTokens() <= 1) { + return ""; + } + */ //a valid tag is necessary if (StringUtils.isEmpty(tag)) { return ""; diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java index 5fe3564..bbdcd70 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java @@ -131,9 +131,9 @@ public class XSDElement implements Element { .equals(this.xmlElementElement.getAttribute("name"))) { continue; } -// This stopped working, replaced with above - should figure out why... -// if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement)) -// continue; +// This stopped working, replaced with above - should figure out why... +// if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement)) +// continue; NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property"); for (int j = 0; j < childNodes.getLength(); ++j) { @@ -370,7 +370,7 @@ public class XSDElement implements Element { sbElement.append("/>").append(OxmFileProcessor.LINE_SEPARATOR); } return this.getHTMLElementWrapper(sbElement.toString(), v, useAnnotation); -// return sbElement.toString(); +// return sbElement.toString(); } public String getHTMLElementWrapper(String unwrappedElement, SchemaVersion v, diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java index ded5f52..6663dc4 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java @@ -44,12 +44,12 @@ public class GenerateSwagger { public static SchemaVersions schemaVersions; public SchemaVersions getSchemaVersions() { - return schemaVersions; - } + return schemaVersions; + } - public static void main(String[] args) throws IOException, TemplateException { + public static void main(String[] args) throws IOException, TemplateException { @@ -63,13 +63,13 @@ public class GenerateSwagger { if(schemaDir == null){ if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) { - System.out.println("Warning: Schema directory is not set so using default schema dir: " + ALT_SCHEMA_DIR); - schemaDir = ALT_SCHEMA_DIR; - } - else { - System.out.println("Warning: Schema directory is not set so using default schema dir: " + DEFAULT_SCHEMA_DIR); - schemaDir = DEFAULT_SCHEMA_DIR; - } + System.out.println("Warning: Schema directory is not set so using default schema dir: " + ALT_SCHEMA_DIR); + schemaDir = ALT_SCHEMA_DIR; + } + else { + System.out.println("Warning: Schema directory is not set so using default schema dir: " + DEFAULT_SCHEMA_DIR); + schemaDir = DEFAULT_SCHEMA_DIR; + } } if(versionToGenerate == null){ @@ -141,7 +141,7 @@ public class GenerateSwagger { line = line.trim(); String hyperLink = ""; if(line.trim().contains("Differences versus")) { - return ""; + return ""; } if(line.trim().contains("https://")){ int startIndex = line.indexOf("https://"); @@ -161,10 +161,10 @@ public class GenerateSwagger { configuration.setClassForTemplateLoading(Api.class, "/"); String resourcePath = "src/main/resources"; if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) { - configuration.setDirectoryForTemplateLoading(new File(DEFAULT_RUN_DIR + "/" + resourcePath)); + configuration.setDirectoryForTemplateLoading(new File(DEFAULT_RUN_DIR + "/" + resourcePath)); } else { - configuration.setDirectoryForTemplateLoading(new File(resourcePath)); + configuration.setDirectoryForTemplateLoading(new File(resourcePath)); } Template template = configuration.getTemplate("swagger.html.ftl"); @@ -255,23 +255,23 @@ public class GenerateSwagger { requestBody = requestBodyList.get(0); for(String key : requestBody.keySet()) { //Filter out all the relationship links that appear in the YAML - if(key.equals("description")) { - String reqBody=(String)requestBody.get(key); - if(!reqBody.replaceAll("\\[.*.json\\)", "").equals(reqBody)) { - requestBody.put(key, reqBody.replaceAll("\\[.*.json\\)", "")); - } - } + if(key.equals("description")) { + String reqBody=(String)requestBody.get(key); + if(!reqBody.replaceAll("\\[.*.json\\)", "").equals(reqBody)) { + requestBody.put(key, reqBody.replaceAll("\\[.*.json\\)", "")); + } + } //Filter out all the patchDefinition links that appear in the YAML - if(key.equals("schema")) { - LinkedHashMap reqBody = (LinkedHashMap)requestBody.get(key); - String schema=reqBody.get("$ref"); - String schemaNopatch = schema.replace("patchDefinitions", "definitions"); - - if(! schema.equals(schemaNopatch)) { - reqBody.put("$ref", schemaNopatch); - requestBody.put(key, reqBody); - } - } + if(key.equals("schema")) { + LinkedHashMap reqBody = (LinkedHashMap)requestBody.get(key); + String schema=reqBody.get("$ref"); + String schemaNopatch = schema.replace("patchDefinitions", "definitions"); + + if(! schema.equals(schemaNopatch)) { + reqBody.put("$ref", schemaNopatch); + requestBody.put(key, reqBody); + } + } } httpVerb.setBodyParametersEnabled(true); httpVerb.setBodyParameters(requestBody); diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java index b17a0ee..c6d2dde 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java @@ -51,98 +51,98 @@ import static org.junit.Assert.assertThat; TestUtilConfigTranslatorforBusiness.class, EdgeIngestor.class, NodeIngestor.class, - SwaggerGenerationConfiguration.class, - SchemaVersions.class + SwaggerGenerationConfiguration.class, + SchemaVersions.class }) @TestPropertySource(properties = { - "schema.uri.base.path = /aai", - "schema.xsd.maxoccurs = 5000" + "schema.uri.base.path = /aai", + "schema.xsd.maxoccurs = 5000" }) public class GenerateXsdTest { - private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class"); - private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; - private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"; - public static AnnotationConfigApplicationContext ctx = null; - private static String testXML; + private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class"); + private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; + private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"; + public static AnnotationConfigApplicationContext ctx = null; + private static String testXML; - @Autowired + @Autowired YAMLfromOXM yamlFromOxm; - @Autowired + @Autowired HTMLfromOXM htmlFromOxm; - @Autowired + @Autowired SchemaVersions schemaVersions; - @BeforeClass - public static void setUpBeforeClass() throws Exception { - XSDElementTest x = new XSDElementTest(); - x.setUp(); - testXML = x.getTestXML(); - logger.debug(testXML); - BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); - bw.write(testXML); - bw.close(); - BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw1.write(YAMLfromOXMTest.EdgeDefs()); - bw1.close(); - - } - - @Before - public void setUp() throws Exception { - //PowerMockito.mockStatic(GenerateXsd.class); - XSDElementTest x = new XSDElementTest(); - x.setUp(); - testXML = x.getTestXML(); -// logger.info(testXML); - } - - @Test - public void test_generateSwaggerFromOxmFile( ) { - - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - - yamlFromOxm.setXmlVersion(testXML, v); - fileContent = yamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult())); - } - - @Test - public void test_generateXSDFromOxmFile( ) { - - SchemaVersion v = schemaVersions.getAppRootVersion(); - String fileContent = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - fileContent = htmlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } -// logger.debug(fileContent); - assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult())); - } - - @Test - public void testGetAPIVersion() { - GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString(); - assertThat(GenerateXsd.getAPIVersion(),is("v11")); - } - - @Test - public void testGetYamlDir() { - assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml")); - } - - @Test - public void testGetResponsesUrl() { - assertNull(GenerateXsd.getResponsesUrl()); - } + @BeforeClass + public static void setUpBeforeClass() throws Exception { + XSDElementTest x = new XSDElementTest(); + x.setUp(); + testXML = x.getTestXML(); + logger.debug(testXML); + BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); + bw.write(testXML); + bw.close(); + BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw1.write(YAMLfromOXMTest.EdgeDefs()); + bw1.close(); + + } + + @Before + public void setUp() throws Exception { + //PowerMockito.mockStatic(GenerateXsd.class); + XSDElementTest x = new XSDElementTest(); + x.setUp(); + testXML = x.getTestXML(); +// logger.info(testXML); + } + + @Test + public void test_generateSwaggerFromOxmFile( ) { + + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + + yamlFromOxm.setXmlVersion(testXML, v); + fileContent = yamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult())); + } + + @Test + public void test_generateXSDFromOxmFile( ) { + + SchemaVersion v = schemaVersions.getAppRootVersion(); + String fileContent = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + fileContent = htmlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } +// logger.debug(fileContent); + assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult())); + } + + @Test + public void testGetAPIVersion() { + GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString(); + assertThat(GenerateXsd.getAPIVersion(),is("v11")); + } + + @Test + public void testGetYamlDir() { + assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml")); + } + + @Test + public void testGetResponsesUrl() { + assertNull(GenerateXsd.getResponsesUrl()); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java index 5261a56..fe1aa6f 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java @@ -33,51 +33,51 @@ import static org.hamcrest.MatcherAssert.assertThat; @RunWith(Parameterized.class) public class DeleteFootnoteSetTest { - String targetNode; - String flavor; - String result; - DeleteFootnoteSet footnotes = null; + String targetNode; + String flavor; + String result; + DeleteFootnoteSet footnotes = null; - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"vserver","(1)", "\n -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"}, - {"ctag-pool","(2)", "\n -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"}, - {"pserver","(3)", "\n -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"}, - {"oam-network","(4)", "\n -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"}, - {"dvs-switch","(1)", "\n -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"}, - {"availability-zone","(3)", "\n -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"} - }; - return (Arrays.asList(inputs)); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"vserver","(1)", "\n -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"}, + {"ctag-pool","(2)", "\n -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"}, + {"pserver","(3)", "\n -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"}, + {"oam-network","(4)", "\n -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"}, + {"dvs-switch","(1)", "\n -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"}, + {"availability-zone","(3)", "\n -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"} + }; + return (Arrays.asList(inputs)); + } - public DeleteFootnoteSetTest(String targetNode, String flavor, String result) { - super(); - this.targetNode = targetNode; - this.flavor = flavor; - this.result=result; - } + public DeleteFootnoteSetTest(String targetNode, String flavor, String result) { + super(); + this.targetNode = targetNode; + this.flavor = flavor; + this.result=result; + } - @Before - public void setUp() throws Exception { - footnotes = new DeleteFootnoteSet(this.targetNode); - } + @Before + public void setUp() throws Exception { + footnotes = new DeleteFootnoteSet(this.targetNode); + } - @Test - public void testDeleteFootnoteSet() { - assertThat(footnotes.targetNode, is(this.targetNode)); - } + @Test + public void testDeleteFootnoteSet() { + assertThat(footnotes.targetNode, is(this.targetNode)); + } - @Test - public void testAdd() { - footnotes.add(this.flavor); - assertThat(footnotes.footnotes.size(), is(1)); - } + @Test + public void testAdd() { + footnotes.add(this.flavor); + assertThat(footnotes.footnotes.size(), is(1)); + } - @Test - public void testToString() { - footnotes.add(this.flavor); - assertThat(footnotes.toString(), is(this.result)); - } + @Test + public void testToString() { + footnotes.add(this.flavor); + assertThat(footnotes.toString(), is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java index 9b0bae8..0f44954 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java @@ -33,49 +33,49 @@ import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class DeleteOperationTest { - private String useOpId; - private String xmlRootElementName; - private String tag; - private String path; - private String pathParams; - private String result; + private String useOpId; + private String xmlRootElementName; + private String tag; + private String path; + private String pathParams; + private String result; - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n"," delete:\n tags:\n - Network\n summary: delete an existing generic-vnf\n description: delete an existing generic-vnf\n operationId: deleteNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n - name: resource-version\n in: query\n description: resource-version for concurrency\n required: true\n type: string\n"}, -// if ( StringUtils.isEmpty(tag) ) - {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n",""}, -// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) - {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, -// {"","ctag-pool","","","",""}, -// {"","pserver","","","",""}, -// {"","oam-network","","","",""}, -// {"","dvs-switch","","","",""}, -// {"","availability-zone","","","",""} - }; - return Arrays.asList(inputs); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n"," delete:\n tags:\n - Network\n summary: delete an existing generic-vnf\n description: delete an existing generic-vnf\n operationId: deleteNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n - name: resource-version\n in: query\n description: resource-version for concurrency\n required: true\n type: string\n"}, +// if ( StringUtils.isEmpty(tag) ) + {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n",""}, +// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) + {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, +// {"","ctag-pool","","","",""}, +// {"","pserver","","","",""}, +// {"","oam-network","","","",""}, +// {"","dvs-switch","","","",""}, +// {"","availability-zone","","","",""} + }; + return Arrays.asList(inputs); + } - public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { - super(); - this.useOpId = useOpId; - this.xmlRootElementName = xmlRootElementName; - this.tag = tag; - this.path = path; - this.pathParams=pathParams; - this.result = result; - } - @BeforeClass - public static void setUpBeforeClass() throws Exception { + public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { + super(); + this.useOpId = useOpId; + this.xmlRootElementName = xmlRootElementName; + this.tag = tag; + this.path = path; + this.pathParams=pathParams; + this.result = result; + } + @BeforeClass + public static void setUpBeforeClass() throws Exception { - } + } - @Test - public void testToString() { - DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path, pathParams); - String modResult = delete.toString(); - assertThat(modResult, is(this.result)); - } + @Test + public void testToString() { + DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path, pathParams); + String modResult = delete.toString(); + assertThat(modResult, is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java index ceddafe..b17901f 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java @@ -53,296 +53,296 @@ import static org.junit.Assert.assertTrue; public class EdgeDescriptionTest { - private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; - @Autowired + private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; + @Autowired ConfigTranslator ct; - @Autowired + @Autowired EdgeIngestor edgeIngestor; - String nodeName = "availability-zone"; - String toNode = "complex"; - SchemaVersion v10 = new SchemaVersion("v10"); - @BeforeClass - public static void setUpBeforeClass() throws Exception { - String json = "{" - + " \"rules\": [" - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"complex\"," - + " \"label\": \"org.onap.relationships.inventory.LocatedIn\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"this description\"" - + " }," - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"service-capability\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"cloud-region\"," - + " \"label\": \"org.onap.relationships.inventory.BelongsTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"!${direction}\"," - + " \"delete-other-v\": \"!${direction}\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"NONE\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"ctag-pool\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"${direction}\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"dvs-switch\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"generic-vnf\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.Uses\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"${direction}\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"pserver\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.MemberOf\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"${direction}\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"vce\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.Uses\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " ]}"; - BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw.write(json); - bw.close(); - } - @AfterClass - public static void tearDownAfterClass() throws Exception { - File edges = new File(EDGEFILENAME); - edges.delete(); - } - @Before - public void setUp() throws Exception { + String nodeName = "availability-zone"; + String toNode = "complex"; + SchemaVersion v10 = new SchemaVersion("v10"); + @BeforeClass + public static void setUpBeforeClass() throws Exception { + String json = "{" + + " \"rules\": [" + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"complex\"," + + " \"label\": \"org.onap.relationships.inventory.LocatedIn\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"this description\"" + + " }," + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"service-capability\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"cloud-region\"," + + " \"label\": \"org.onap.relationships.inventory.BelongsTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"!${direction}\"," + + " \"delete-other-v\": \"!${direction}\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"NONE\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"ctag-pool\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"${direction}\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"dvs-switch\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"generic-vnf\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.Uses\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"${direction}\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"pserver\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.MemberOf\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"${direction}\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"vce\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.Uses\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " ]}"; + BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw.write(json); + bw.close(); + } + @AfterClass + public static void tearDownAfterClass() throws Exception { + File edges = new File(EDGEFILENAME); + edges.delete(); + } + @Before + public void setUp() throws Exception { - } - @Test - public void test() { + } + @Test + public void test() { - Map> edges = ct.getEdgeFiles(); - assertTrue(edges.containsKey(v10)); - assertTrue(1 == edges.get(v10).size()); - assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0))); - } - @Test - public void testGetDeleteOtherV() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"NONE"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } ); - } - } + Map> edges = ct.getEdgeFiles(); + assertTrue(edges.containsKey(v10)); + assertTrue(1 == edges.get(v10).size()); + assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0))); + } + @Test + public void testGetDeleteOtherV() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"NONE"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } ); + } + } - @Test - public void testGetPreventDelete() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"IN"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } ); - } - } + @Test + public void testGetPreventDelete() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"IN"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } ); + } + } - @Test - public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException { -// String toNode="cloud-region"; -// String target = "availability-zone"+"|"+toNode+"-"+"(4)"; - List notedTypes = Arrays.asList("cloud-region", "ctag-pool"); - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } ); - } + @Test + public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException { +// String toNode="cloud-region"; +// String target = "availability-zone"+"|"+toNode+"-"+"(4)"; + List notedTypes = Arrays.asList("cloud-region", "ctag-pool"); + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } ); + } /* - for (EdgeDescription ed : edges) { - String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); - assertThat(modResult, is(target)); - ed.setDeleteOtherV("IN"); - target = "availability-zone"+"|"+"complex"+"-"+"(4)"; - modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); - assertThat(modResult, is(target)); - target = "availability-zone"+"|"+"complex"+"-"+"(1)"; - modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo()); - assertThat(modResult, is(target)); - ed.setDeleteOtherV("OUT"); - target = "availability-zone"+"|"+"complex"+"-"+"(2)"; - modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); - assertThat(modResult, is(target)); - target = "availability-zone"+"|"+"complex"+"-"+"(3)"; - modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo()); - assertThat(modResult, is(target)); - } + for (EdgeDescription ed : edges) { + String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); + assertThat(modResult, is(target)); + ed.setDeleteOtherV("IN"); + target = "availability-zone"+"|"+"complex"+"-"+"(4)"; + modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); + assertThat(modResult, is(target)); + target = "availability-zone"+"|"+"complex"+"-"+"(1)"; + modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo()); + assertThat(modResult, is(target)); + ed.setDeleteOtherV("OUT"); + target = "availability-zone"+"|"+"complex"+"-"+"(2)"; + modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()); + assertThat(modResult, is(target)); + target = "availability-zone"+"|"+"complex"+"-"+"(3)"; + modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo()); + assertThat(modResult, is(target)); + } */ - } + } - @Test - public void testGetTo() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+toNode; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } ); - } - } + @Test + public void testGetTo() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+toNode; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } ); + } + } - @Test - public void testGetFrom() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"availability-zone"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } ); - } - } + @Test + public void testGetFrom() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"availability-zone"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } ); + } + } - @Test - public void testGetRuleKey() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } ); - } - } + @Test + public void testGetRuleKey() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } ); + } + } - @Test - public void testGetMultiplicity() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } ); - } - } + @Test + public void testGetMultiplicity() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } ); + } + } - @Test - public void testGetDirection() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"OUT"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } ); - } - } + @Test + public void testGetDirection() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"OUT"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } ); + } + } - @Test - public void testGetDescription() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"this description"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } ); - } - } + @Test + public void testGetDescription() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"this description"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } ); + } + } - @Test - public void testGetRelationshipDescription() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"this description"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } ); - } - } + @Test + public void testGetRelationshipDescription() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"this description"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } ); + } + } - @Test - public void testGetType() throws EdgeRuleNotFoundException { - String toNode = "cloud-region"; - String target = "availability-zone"+"|"+toNode+"-"+"PARENT"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } ); - } - } + @Test + public void testGetType() throws EdgeRuleNotFoundException { + String toNode = "cloud-region"; + String target = "availability-zone"+"|"+toNode+"-"+"PARENT"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } ); + } + } - @Test - public void testGetLabel() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } ); - } - } + @Test + public void testGetLabel() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } ); + } + } - @Test - public void testGetShortLabel() throws EdgeRuleNotFoundException { - String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn"; - Multimap results = edgeIngestor.getAllRules(v10); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } ); - } - } + @Test + public void testGetShortLabel() throws EdgeRuleNotFoundException { + String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn"; + Multimap results = edgeIngestor.getAllRules(v10); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } ); + } + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java index 1540a30..74fa60b 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java @@ -36,71 +36,71 @@ import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class GetOperationTest { - private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class"); - private String useOpId; - private String xmlRootElementName; - private String tag; - private String path; - private String pathParams; - private String result; + private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class"); + private String useOpId; + private String xmlRootElementName; + private String tag; + private String path; + private String pathParams; + private String result; - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /network/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Network\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"}, - {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, - {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n get:\n tags:\n - CloudInfrastructure\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__ - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"}, - // {"","ctag-pool","","","",""}, -// {"","pserver","","","",""}, -// {"","oam-network","","","",""}, -// {"","dvs-switch","","","",""}, -// {"","availability-zone","","","",""} - }; - return Arrays.asList(inputs); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /network/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Network\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"}, + {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, + {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n get:\n tags:\n - CloudInfrastructure\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__ - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"}, + // {"","ctag-pool","","","",""}, +// {"","pserver","","","",""}, +// {"","oam-network","","","",""}, +// {"","dvs-switch","","","",""}, +// {"","availability-zone","","","",""} + }; + return Arrays.asList(inputs); + } - public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { - super(); - this.useOpId = useOpId; - this.xmlRootElementName = xmlRootElementName; - this.tag = tag; - this.path = path; - this.pathParams=pathParams; - this.result = result; - } - @BeforeClass - public static void setUpBeforeClass() throws Exception { - String container = "p-interfaces"; - String queryProps[] = { - " - name: interface-name\n in: query\n description:\n required: false\n type: string", - " - name: prov-status\n in: query\n description:\n required: false\n type: string" - }; - Vector containerProps = new Vector(); - for(String prop : queryProps) { - containerProps.add(prop); - } - GetOperation.addContainerProps(container, containerProps); - } + public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { + super(); + this.useOpId = useOpId; + this.xmlRootElementName = xmlRootElementName; + this.tag = tag; + this.path = path; + this.pathParams=pathParams; + this.result = result; + } + @BeforeClass + public static void setUpBeforeClass() throws Exception { + String container = "p-interfaces"; + String queryProps[] = { + " - name: interface-name\n in: query\n description:\n required: false\n type: string", + " - name: prov-status\n in: query\n description:\n required: false\n type: string" + }; + Vector containerProps = new Vector(); + for(String prop : queryProps) { + containerProps.add(prop); + } + GetOperation.addContainerProps(container, containerProps); + } - @Test - public void testAddContainerProps() { - String container = this.xmlRootElementName; - String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string"; - Vector queryProps = new Vector(); - queryProps.add(prop); - for(String p : queryProps) { - logger.debug("qProp="+p); - } - logger.debug("Done="+this.xmlRootElementName); - GetOperation.addContainerProps(container, queryProps); - assertThat(GetOperation.containers.get(container).get(0), is(prop)); - } + @Test + public void testAddContainerProps() { + String container = this.xmlRootElementName; + String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string"; + Vector queryProps = new Vector(); + queryProps.add(prop); + for(String p : queryProps) { + logger.debug("qProp="+p); + } + logger.debug("Done="+this.xmlRootElementName); + GetOperation.addContainerProps(container, queryProps); + assertThat(GetOperation.containers.get(container).get(0), is(prop)); + } - @Test - public void testToString() { - GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path, pathParams); - String modResult = get.toString(); - assertThat(modResult, is(this.result)); - } + @Test + public void testToString() { + GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path, pathParams); + String modResult = get.toString(); + assertThat(modResult, is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java index 27b7037..b5d9489 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java @@ -54,327 +54,327 @@ import static org.junit.Assert.assertThat; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { - SchemaVersions.class, + SchemaVersions.class, SchemaLocationsBean.class, TestUtilConfigTranslatorforBusiness.class, EdgeIngestor.class, NodeIngestor.class, - SwaggerGenerationConfiguration.class + SwaggerGenerationConfiguration.class }) @TestPropertySource(properties = { - "schema.uri.base.path = /aai", - "schema.xsd.maxoccurs = 5000" + "schema.uri.base.path = /aai", + "schema.xsd.maxoccurs = 5000" }) public class HTMLfromOXMTest { - private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class"); - private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; - public static AnnotationConfigApplicationContext ctx = null; - private static String testXML; - protected static final String SERVICE_NAME = "JUNIT"; + private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class"); + private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; + public static AnnotationConfigApplicationContext ctx = null; + private static String testXML; + protected static final String SERVICE_NAME = "JUNIT"; - @Autowired - HTMLfromOXM htmlFromOxm; + @Autowired + HTMLfromOXM htmlFromOxm; - @Autowired + @Autowired SchemaVersions schemaVersions; - @BeforeClass - public static void setUpContext() throws Exception { + @BeforeClass + public static void setUpContext() throws Exception { - } - @BeforeClass + } + @BeforeClass public static void setupBundleconfig() throws Exception { System.setProperty("AJSC_HOME", "."); System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local"); System.setProperty("aai.service.name", SERVICE_NAME); } - @Before - public void setUp() throws Exception { - setUp(0); - } + @Before + public void setUp() throws Exception { + setUp(0); + } - public void setUp(int sbopt) throws Exception - { - XSDElementTest x = new XSDElementTest(); - x.setUp(sbopt); - testXML = x.testXML; - logger.debug(testXML); - BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); - bw.write(testXML); - bw.close(); - } + public void setUp(int sbopt) throws Exception + { + XSDElementTest x = new XSDElementTest(); + x.setUp(sbopt); + testXML = x.testXML; + logger.debug(testXML); + BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); + bw.write(testXML); + bw.close(); + } - @Test - public void testGetDocumentHeader() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String header = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - htmlFromOxm.setSchemaVersions(schemaVersions); - header = htmlFromOxm.getDocumentHeader(); - } catch(Exception e) { - e.printStackTrace(); - } - logger.debug("Header:"); - logger.debug(header); - assertThat(header, is(HTMLheader())); - } + @Test + public void testGetDocumentHeader() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String header = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + htmlFromOxm.setSchemaVersions(schemaVersions); + header = htmlFromOxm.getDocumentHeader(); + } catch(Exception e) { + e.printStackTrace(); + } + logger.debug("Header:"); + logger.debug(header); + assertThat(header, is(HTMLheader())); + } - @Test - public void testProcess() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String fileContent = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - fileContent = htmlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - logger.debug("FileContent-I:"); - logger.debug(fileContent); - assertThat(fileContent, is(HTMLresult(0))); - } + @Test + public void testProcess() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String fileContent = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + fileContent = htmlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + logger.debug("FileContent-I:"); + logger.debug(fileContent); + assertThat(fileContent, is(HTMLresult(0))); + } - @Test - public void testProcessWithCombiningJavaTypes() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String fileContent = null; - try { - setUp(1); - htmlFromOxm.setXmlVersion(testXML, v); - fileContent = htmlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - logger.debug("FileContent-I:"); - logger.debug(fileContent); - assertThat(fileContent, is(HTMLresult(1))); - } + @Test + public void testProcessWithCombiningJavaTypes() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String fileContent = null; + try { + setUp(1); + htmlFromOxm.setXmlVersion(testXML, v); + fileContent = htmlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + logger.debug("FileContent-I:"); + logger.debug(fileContent); + assertThat(fileContent, is(HTMLresult(1))); + } - @Test - public void testHTMLfromOXMFileVersion() throws IOException { - String outfileName = "testXML.xml"; - File XMLfile = new File(outfileName); - XMLfile.createNewFile(); - BufferedWriter bw = null; - Charset charset = Charset.forName("UTF-8"); - Path path = Paths.get(outfileName); - bw = Files.newBufferedWriter(path, charset); - bw.write(testXML); - bw.close(); - SchemaVersion v = schemaVersions.getAppRootVersion(); - String fileContent = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - fileContent = htmlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - XMLfile.delete(); - logger.debug("FileContent-I:"); - logger.debug(fileContent); - assertThat(fileContent, is(HTMLresult(0))); - } + @Test + public void testHTMLfromOXMFileVersion() throws IOException { + String outfileName = "testXML.xml"; + File XMLfile = new File(outfileName); + XMLfile.createNewFile(); + BufferedWriter bw = null; + Charset charset = Charset.forName("UTF-8"); + Path path = Paths.get(outfileName); + bw = Files.newBufferedWriter(path, charset); + bw.write(testXML); + bw.close(); + SchemaVersion v = schemaVersions.getAppRootVersion(); + String fileContent = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + fileContent = htmlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + XMLfile.delete(); + logger.debug("FileContent-I:"); + logger.debug(fileContent); + assertThat(fileContent, is(HTMLresult(0))); + } - @Test - public void testHTMLfromOXMStringVersion() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String fileContent = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - fileContent = htmlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - logger.debug("FileContent-II:"); - logger.debug(fileContent); - assertThat(fileContent, is(HTMLresult(0))); - } + @Test + public void testHTMLfromOXMStringVersion() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String fileContent = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + fileContent = htmlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + logger.debug("FileContent-II:"); + logger.debug(fileContent); + assertThat(fileContent, is(HTMLresult(0))); + } - @Test - public void testProcessJavaTypeElement() { - String target = "Element=java-type/Customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - Element customer = null; - try { - htmlFromOxm.setXmlVersion(testXML, v); - htmlFromOxm.process(); - customer = htmlFromOxm.getJavaTypeElementSwagger("Customer"); - } catch(Exception e) { - e.printStackTrace(); - } - logger.debug("Element:"); - logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name")); - assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); } + @Test + public void testProcessJavaTypeElement() { + String target = "Element=java-type/Customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + Element customer = null; + try { + htmlFromOxm.setXmlVersion(testXML, v); + htmlFromOxm.process(); + customer = htmlFromOxm.getJavaTypeElementSwagger("Customer"); + } catch(Exception e) { + e.printStackTrace(); + } + logger.debug("Element:"); + logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name")); + assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); } - public String HTMLresult() { - return HTMLresult(0); - } + public String HTMLresult() { + return HTMLresult(0); + } - public String HTMLresult(int sbopt) { - StringBuilder sb = new StringBuilder(32368); - sb.append(HTMLheader()); - sb.append(HTMLdefs(sbopt)); - return sb.toString(); - } + public String HTMLresult(int sbopt) { + StringBuilder sb = new StringBuilder(32368); + sb.append(HTMLheader()); + sb.append(HTMLdefs(sbopt)); + return sb.toString(); + } - public String HTMLheader() { - StringBuilder sb = new StringBuilder(1500); - sb.append("" + OxmFileProcessor.LINE_SEPARATOR); - sb.append("" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - return sb.toString(); - } + public String HTMLheader() { + StringBuilder sb = new StringBuilder(1500); + sb.append("" + OxmFileProcessor.LINE_SEPARATOR); + sb.append("" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + return sb.toString(); + } - public String HTMLdefs() { - return HTMLdefs(0); - } - public String HTMLdefs(int sbopt) { - StringBuilder sb = new StringBuilder(1500); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&AI in the near future. Only stop gap solution.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - if ( sbopt == 0 ) { - sb.append(" @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR); - } else { - sb.append(" @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR); - } - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - if ( sbopt == 0 ) { - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - } else { - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + public String HTMLdefs() { + return HTMLdefs(0); + } + public String HTMLdefs(int sbopt) { + StringBuilder sb = new StringBuilder(1500); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&AI in the near future. Only stop gap solution.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + if ( sbopt == 0 ) { + sb.append(" @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR); + } else { + sb.append(" @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR); + } + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + if ( sbopt == 0 ) { + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + } else { + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - } - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" @org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); - sb.append("" + OxmFileProcessor.LINE_SEPARATOR); - return sb.toString(); - } + } + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" @org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" " + OxmFileProcessor.LINE_SEPARATOR); + sb.append("" + OxmFileProcessor.LINE_SEPARATOR); + return sb.toString(); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java index 648142a..8ecc8b5 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java @@ -36,73 +36,73 @@ import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class NodeGetOperationTest { - private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class"); - private String useOpId; - private String xmlRootElementName; - private String tag; - private String path; - private String pathParams; - private String result; + private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class"); + private String useOpId; + private String xmlRootElementName; + private String tag; + private String path; + private String pathParams; + private String result; - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Operations\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null\n parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"}, - {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, - {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /nodes/p-interfaces?parameter=value[¶meter2=value2]:\n get:\n tags:\n - Operations\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null\n parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__\n - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"}, - // {"","ctag-pool","","","",""}, -// {"","pserver","","","",""}, -// {"","oam-network","","","",""}, -// {"","dvs-switch","","","",""}, -// {"","availability-zone","","","",""} - }; - return Arrays.asList(inputs); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Operations\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null\n parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"}, + {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, + {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /nodes/p-interfaces?parameter=value[¶meter2=value2]:\n get:\n tags:\n - Operations\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null\n parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__\n - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"}, + // {"","ctag-pool","","","",""}, +// {"","pserver","","","",""}, +// {"","oam-network","","","",""}, +// {"","dvs-switch","","","",""}, +// {"","availability-zone","","","",""} + }; + return Arrays.asList(inputs); + } - public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { - super(); - this.useOpId = useOpId; - this.xmlRootElementName = xmlRootElementName; - this.tag = tag; - this.path = path; - this.pathParams=pathParams; - this.result = result; - } - @BeforeClass - public static void setUpBeforeClass() throws Exception { - String container = "p-interfaces"; - String queryProps[] = { - " - name: interface-name\n in: query\n description:\n required: false\n type: string", - " - name: prov-status\n in: query\n description:\n required: false\n type: string" - }; - Vector containerProps = new Vector(); - for(String prop : queryProps) { - containerProps.add(prop); - } - NodeGetOperation.addContainerProps(container, containerProps); - } + public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { + super(); + this.useOpId = useOpId; + this.xmlRootElementName = xmlRootElementName; + this.tag = tag; + this.path = path; + this.pathParams=pathParams; + this.result = result; + } + @BeforeClass + public static void setUpBeforeClass() throws Exception { + String container = "p-interfaces"; + String queryProps[] = { + " - name: interface-name\n in: query\n description:\n required: false\n type: string", + " - name: prov-status\n in: query\n description:\n required: false\n type: string" + }; + Vector containerProps = new Vector(); + for(String prop : queryProps) { + containerProps.add(prop); + } + NodeGetOperation.addContainerProps(container, containerProps); + } - @Test - public void testAddContainerProps() { - String container = this.xmlRootElementName; - String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string"; - Vector queryProps = new Vector(); - queryProps.add(prop); - String props=null; - for(String p : queryProps) { - props += "qProp="+p+"\n"; -// logger.debug("qProp="+p); - } -// logger.debug("Done="+this.xmlRootElementName); - NodeGetOperation.addContainerProps(container, queryProps); - assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop)); - } + @Test + public void testAddContainerProps() { + String container = this.xmlRootElementName; + String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string"; + Vector queryProps = new Vector(); + queryProps.add(prop); + String props=null; + for(String p : queryProps) { + props += "qProp="+p+"\n"; +// logger.debug("qProp="+p); + } +// logger.debug("Done="+this.xmlRootElementName); + NodeGetOperation.addContainerProps(container, queryProps); + assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop)); + } - @Test - public void testToString() { - NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path, pathParams); - String modResult = get.toString(); - assertThat(modResult, is(this.result)); - } + @Test + public void testToString() { + NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path, pathParams); + String modResult = get.toString(); + assertThat(modResult, is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java index 2207a90..ed403e0 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java @@ -53,201 +53,201 @@ import static org.junit.Assert.assertThat; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { - SchemaVersions.class, + SchemaVersions.class, SchemaLocationsBean.class, TestUtilConfigTranslatorforEdges.class, EdgeIngestor.class, NodeIngestor.class, - SwaggerGenerationConfiguration.class + SwaggerGenerationConfiguration.class }) @TestPropertySource(properties = { - "schema.uri.base.path = /aai", - "schema.xsd.maxoccurs = 5000" + "schema.uri.base.path = /aai", + "schema.xsd.maxoccurs = 5000" }) public class NodesYAMLfromOXMTest { //public class NodesYAMLfromOXMTest extends AAISetup { - private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class"); - private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml"; - private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; - public static AnnotationConfigApplicationContext ctx = null; - private static String testXML; + private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class"); + private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml"; + private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; + public static AnnotationConfigApplicationContext ctx = null; + private static String testXML; - @Autowired - NodesYAMLfromOXM nodesYamlFromOxm; - @Autowired + @Autowired + NodesYAMLfromOXM nodesYamlFromOxm; + @Autowired SchemaVersions schemaVersions; - @BeforeClass - public static void setUpBeforeClass() throws Exception { + @BeforeClass + public static void setUpBeforeClass() throws Exception { - XSDElementTest x = new XSDElementTest(); - x.setUp(); - testXML = x.testXML; - logger.debug(testXML); - BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); - bw.write(testXML); - bw.close(); - BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw1.write(YAMLfromOXMTest.EdgeDefs()); - bw1.close(); + XSDElementTest x = new XSDElementTest(); + x.setUp(); + testXML = x.testXML; + logger.debug(testXML); + BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); + bw.write(testXML); + bw.close(); + BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw1.write(YAMLfromOXMTest.EdgeDefs()); + bw1.close(); - } + } - @Before - public void setUp() throws Exception { + @Before + public void setUp() throws Exception { - NodeGetOperation.checklist.clear(); - XSDElementTest x = new XSDElementTest(); - x.setUp(); - testXML = x.testXML; + NodeGetOperation.checklist.clear(); + XSDElementTest x = new XSDElementTest(); + x.setUp(); + testXML = x.testXML; - logger.debug(testXML); - } + logger.debug(testXML); + } - @Test - public void testGetDocumentHeader() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String header = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - nodesYamlFromOxm.process(); - header = nodesYamlFromOxm.getDocumentHeader(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Header:\n"+header,header, is(YAMLheader())); - } + @Test + public void testGetDocumentHeader() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String header = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + nodesYamlFromOxm.process(); + header = nodesYamlFromOxm.getDocumentHeader(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Header:\n"+header,header, is(YAMLheader())); + } - @Test - public void testProcess() { + @Test + public void testProcess() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - fileContent = nodesYamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult())); - } + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + fileContent = nodesYamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult())); + } - @Test - public void testNodesYAMLfromOXMFileVersionFile() throws IOException { - String outfileName = "testXML.xml"; - File XMLfile = new File(outfileName); - XMLfile.createNewFile(); - BufferedWriter bw = null; - Charset charset = Charset.forName("UTF-8"); - Path path = Paths.get(outfileName); - bw = Files.newBufferedWriter(path, charset); - bw.write(testXML); - bw.close(); - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - fileContent = nodesYamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - XMLfile.delete(); - assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult())); - } + @Test + public void testNodesYAMLfromOXMFileVersionFile() throws IOException { + String outfileName = "testXML.xml"; + File XMLfile = new File(outfileName); + XMLfile.createNewFile(); + BufferedWriter bw = null; + Charset charset = Charset.forName("UTF-8"); + Path path = Paths.get(outfileName); + bw = Files.newBufferedWriter(path, charset); + bw.write(testXML); + bw.close(); + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + fileContent = nodesYamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + XMLfile.delete(); + assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult())); + } - @Test - public void testNodesYAMLfromOXMStringVersionFile() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - fileContent = nodesYamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult())); - } + @Test + public void testNodesYAMLfromOXMStringVersionFile() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + fileContent = nodesYamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult())); + } - @Test - public void testAppendDefinitions() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String definitions = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - nodesYamlFromOxm.process(); - definitions = nodesYamlFromOxm.appendDefinitions(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs())); - } + @Test + public void testAppendDefinitions() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String definitions = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + nodesYamlFromOxm.process(); + definitions = nodesYamlFromOxm.appendDefinitions(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs())); + } - @Test - public void testGetXMLRootElementName() { - String target = "RootElement=customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - Element customer = null; - String root = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - nodesYamlFromOxm.process(); - customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer"); - root = nodesYamlFromOxm.getXMLRootElementName(customer); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("RootElement="+root, is(target)); - } + @Test + public void testGetXMLRootElementName() { + String target = "RootElement=customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + Element customer = null; + String root = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + nodesYamlFromOxm.process(); + customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer"); + root = nodesYamlFromOxm.getXMLRootElementName(customer); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("RootElement="+root, is(target)); + } - @Test - public void testGetXmlRootElementName() { - String target = "RootElement=customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String root = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - nodesYamlFromOxm.process(); - root = nodesYamlFromOxm.getXmlRootElementName("Customer"); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("RootElement="+root, is(target)); - } + @Test + public void testGetXmlRootElementName() { + String target = "RootElement=customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String root = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + nodesYamlFromOxm.process(); + root = nodesYamlFromOxm.getXmlRootElementName("Customer"); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("RootElement="+root, is(target)); + } - @Test - public void testGetJavaTypeElementSwagger() { - String target = "Element=java-type/Customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - Element customer = null; - try { - nodesYamlFromOxm.setXmlVersion(testXML, v); - nodesYamlFromOxm.process(); - customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer"); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); - } + @Test + public void testGetJavaTypeElementSwagger() { + String target = "Element=java-type/Customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + Element customer = null; + try { + nodesYamlFromOxm.setXmlVersion(testXML, v); + nodesYamlFromOxm.process(); + customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer"); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); + } - public String YAMLresult() { - StringBuilder sb = new StringBuilder(32368); - sb.append(YAMLheader()); - sb.append(YAMLops()); - sb.append(YAMLgetDefs()); - return sb.toString(); - } - public String YAMLheader() { - StringBuilder sb = new StringBuilder(1500); + public String YAMLresult() { + StringBuilder sb = new StringBuilder(32368); + sb.append(YAMLheader()); + sb.append(YAMLops()); + sb.append(YAMLgetDefs()); + return sb.toString(); + } + public String YAMLheader() { + StringBuilder sb = new StringBuilder(1500); sb.append("swagger: \"2.0\"\n"); sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR); sb.append(" description: |\n"); @@ -274,203 +274,203 @@ public class NodesYAMLfromOXMTest { sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR); sb.append(" - https\n"); sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR); - return sb.toString(); - } + return sb.toString(); + } - public String YAMLops() { - StringBuilder sb = new StringBuilder(16384); - sb.append(" /nodes/customers/customer/{global-customer-id}:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Operations\n"); - sb.append(" summary: returns customer\n"); - sb.append(" description: returns customer\n"); - sb.append(" operationId: getBusinessCustomersCustomer\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null\n parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" /nodes/customers?parameter=value[¶meter2=value2]:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Operations\n"); - sb.append(" summary: returns customers\n"); - sb.append(" description: returns customers\n"); - sb.append(" operationId: getBusinessCustomers\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/customers\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null\n parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" - name: subscriber-name\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" - name: subscriber-type\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" /nodes/service-subscriptions/service-subscription/{service-type}:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Operations\n"); - sb.append(" summary: returns service-subscription\n"); - sb.append(" description: returns service-subscription\n"); - sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null\n parameters:\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: path\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __SERVICE-TYPE__\n"); - sb.append(" /nodes/service-subscriptions?parameter=value[¶meter2=value2]:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Operations\n"); - sb.append(" summary: returns service-subscriptions\n"); - sb.append(" description: returns service-subscriptions\n"); - sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/service-subscriptions\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null\n parameters:\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - return sb.toString(); - } + public String YAMLops() { + StringBuilder sb = new StringBuilder(16384); + sb.append(" /nodes/customers/customer/{global-customer-id}:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Operations\n"); + sb.append(" summary: returns customer\n"); + sb.append(" description: returns customer\n"); + sb.append(" operationId: getBusinessCustomersCustomer\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null\n parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" /nodes/customers?parameter=value[¶meter2=value2]:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Operations\n"); + sb.append(" summary: returns customers\n"); + sb.append(" description: returns customers\n"); + sb.append(" operationId: getBusinessCustomers\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/customers\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null\n parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" - name: subscriber-name\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" - name: subscriber-type\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" /nodes/service-subscriptions/service-subscription/{service-type}:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Operations\n"); + sb.append(" summary: returns service-subscription\n"); + sb.append(" description: returns service-subscription\n"); + sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null\n parameters:\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: path\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __SERVICE-TYPE__\n"); + sb.append(" /nodes/service-subscriptions?parameter=value[¶meter2=value2]:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Operations\n"); + sb.append(" summary: returns service-subscriptions\n"); + sb.append(" description: returns service-subscriptions\n"); + sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/service-subscriptions\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null\n parameters:\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + return sb.toString(); + } - public String YAMLgetDefs() { - StringBuilder sb = new StringBuilder(8092); - sb.append("definitions:\n"); - sb.append(" business:\n"); - sb.append(" description: |\n"); - sb.append(" Namespace for business related constructs\n"); - sb.append(" properties:\n"); - sb.append(" customers:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" customer:\n"); - sb.append(" description: |\n"); - sb.append(" customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); - sb.append(" required:\n"); - sb.append(" - global-customer-id\n"); - sb.append(" - subscriber-name\n"); - sb.append(" - subscriber-type\n"); - sb.append(" properties:\n"); - sb.append(" global-customer-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" subscriber-name:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); - sb.append(" subscriber-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); - sb.append(" resource-version:\n"); - sb.append(" type: string\n"); - sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); - sb.append(" service-subscriptions:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - sb.append(" customers:\n"); - sb.append(" description: |\n"); - sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" properties:\n"); - sb.append(" customer:\n"); - sb.append(" type: array\n"); - sb.append(" items: \n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" inventory:\n"); - sb.append(" properties:\n"); - sb.append(" business:\n"); - sb.append(" type: object\n"); - sb.append(" $ref: \"#/definitions/business\"\n"); - sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" service-subscription:\n"); - sb.append(" description: |\n"); - sb.append(" Object that group service instances.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); - sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); - sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); - sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); - sb.append(" required:\n"); - sb.append(" - service-type\n"); - sb.append(" properties:\n"); - sb.append(" service-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" temp-ub-sub-account-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); - sb.append(" resource-version:\n"); - sb.append(" type: string\n"); - sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); - sb.append(" service-subscriptions:\n"); - sb.append(" description: |\n"); - sb.append(" Collection of objects that group service instances.\n"); - sb.append(" properties:\n"); - sb.append(" service-subscription:\n"); - sb.append(" type: array\n"); - sb.append(" items: \n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - return sb.toString(); - } + public String YAMLgetDefs() { + StringBuilder sb = new StringBuilder(8092); + sb.append("definitions:\n"); + sb.append(" business:\n"); + sb.append(" description: |\n"); + sb.append(" Namespace for business related constructs\n"); + sb.append(" properties:\n"); + sb.append(" customers:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" customer:\n"); + sb.append(" description: |\n"); + sb.append(" customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); + sb.append(" required:\n"); + sb.append(" - global-customer-id\n"); + sb.append(" - subscriber-name\n"); + sb.append(" - subscriber-type\n"); + sb.append(" properties:\n"); + sb.append(" global-customer-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" subscriber-name:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); + sb.append(" subscriber-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); + sb.append(" resource-version:\n"); + sb.append(" type: string\n"); + sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); + sb.append(" service-subscriptions:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" customers:\n"); + sb.append(" description: |\n"); + sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" properties:\n"); + sb.append(" customer:\n"); + sb.append(" type: array\n"); + sb.append(" items: \n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" inventory:\n"); + sb.append(" properties:\n"); + sb.append(" business:\n"); + sb.append(" type: object\n"); + sb.append(" $ref: \"#/definitions/business\"\n"); + sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" service-subscription:\n"); + sb.append(" description: |\n"); + sb.append(" Object that group service instances.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); + sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); + sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); + sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); + sb.append(" required:\n"); + sb.append(" - service-type\n"); + sb.append(" properties:\n"); + sb.append(" service-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" temp-ub-sub-account-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); + sb.append(" resource-version:\n"); + sb.append(" type: string\n"); + sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); + sb.append(" service-subscriptions:\n"); + sb.append(" description: |\n"); + sb.append(" Collection of objects that group service instances.\n"); + sb.append(" properties:\n"); + sb.append(" service-subscription:\n"); + sb.append(" type: array\n"); + sb.append(" items: \n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + return sb.toString(); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java index 4fc1c84..098b33b 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java @@ -34,50 +34,50 @@ import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class PatchOperationTest { - private String useOpId; - private String xmlRootElementName; - private String tag; - private String path; - private String pathParams; - private String result; - private static SchemaVersion v = new SchemaVersion("v16"); + private String useOpId; + private String xmlRootElementName; + private String tag; + private String path; + private String pathParams; + private String result; + private static SchemaVersion v = new SchemaVersion("v16"); - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," patch:\n tags:\n - Network\n summary: update an existing generic-vnf\n description: |\n Update an existing generic-vnf\n #\n Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n The PUT operation will entirely replace an existing object.\n The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n #\n Other differences between PUT and PATCH are:\n #\n - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n operationId: UpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n produces:\n - application/json\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"}, -// if ( StringUtils.isEmpty(tag) ) - {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, -// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) - {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, - // {"","ctag-pool","","","",""}, -// {"","pserver","","","",""}, -// {"","oam-network","","","",""}, -// {"","dvs-switch","","","",""}, -// {"","availability-zone","","","",""} - }; - return Arrays.asList(inputs); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," patch:\n tags:\n - Network\n summary: update an existing generic-vnf\n description: |\n Update an existing generic-vnf\n #\n Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n The PUT operation will entirely replace an existing object.\n The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n #\n Other differences between PUT and PATCH are:\n #\n - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n operationId: UpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n produces:\n - application/json\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"}, +// if ( StringUtils.isEmpty(tag) ) + {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, +// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) + {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, + // {"","ctag-pool","","","",""}, +// {"","pserver","","","",""}, +// {"","oam-network","","","",""}, +// {"","dvs-switch","","","",""}, +// {"","availability-zone","","","",""} + }; + return Arrays.asList(inputs); + } - public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { - super(); - this.useOpId = useOpId; - this.xmlRootElementName = xmlRootElementName; - this.tag = tag; - this.path = path; - this.pathParams=pathParams; - this.result = result; - } - @BeforeClass - public static void setUpBeforeClass() throws Exception { + public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { + super(); + this.useOpId = useOpId; + this.xmlRootElementName = xmlRootElementName; + this.tag = tag; + this.path = path; + this.pathParams=pathParams; + this.result = result; + } + @BeforeClass + public static void setUpBeforeClass() throws Exception { - } + } - @Test - public void testToString() { - PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai" ); - String modResult = patch.toString(); - assertThat(modResult, is(this.result)); - } + @Test + public void testToString() { + PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai" ); + String modResult = patch.toString(); + assertThat(modResult, is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java index 0a60b7f..7c5c00d 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java @@ -34,50 +34,50 @@ import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class PutOperationTest { - private String useOpId; - private String xmlRootElementName; - private String tag; - private String path; - private String pathParams; - private String result; - private static SchemaVersion v = new SchemaVersion("v14"); + private String useOpId; + private String xmlRootElementName; + private String tag; + private String path; + private String pathParams; + private String result; + private static SchemaVersion v = new SchemaVersion("v14"); - @Parameters - public static Collection testConditions() { - String inputs [][] = { - {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," put:\n tags:\n - Network\n summary: create or update an existing generic-vnf\n description: |\n Create or update an existing generic-vnf.\n #\n Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"}, -// if ( StringUtils.isEmpty(tag) ) - {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, -// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) - {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, - // {"","ctag-pool","","","",""}, -// {"","pserver","","","",""}, -// {"","oam-network","","","",""}, -// {"","dvs-switch","","","",""}, -// {"","availability-zone","","","",""} - }; - return Arrays.asList(inputs); - } + @Parameters + public static Collection testConditions() { + String inputs [][] = { + {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," put:\n tags:\n - Network\n summary: create or update an existing generic-vnf\n description: |\n Create or update an existing generic-vnf.\n #\n Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"}, +// if ( StringUtils.isEmpty(tag) ) + {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""}, +// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") ) + {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""}, + // {"","ctag-pool","","","",""}, +// {"","pserver","","","",""}, +// {"","oam-network","","","",""}, +// {"","dvs-switch","","","",""}, +// {"","availability-zone","","","",""} + }; + return Arrays.asList(inputs); + } - public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { - super(); - this.useOpId = useOpId; - this.xmlRootElementName = xmlRootElementName; - this.tag = tag; - this.path = path; - this.pathParams=pathParams; - this.result = result; - } - @BeforeClass - public static void setUpBeforeClass() throws Exception { + public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) { + super(); + this.useOpId = useOpId; + this.xmlRootElementName = xmlRootElementName; + this.tag = tag; + this.path = path; + this.pathParams=pathParams; + this.result = result; + } + @BeforeClass + public static void setUpBeforeClass() throws Exception { - } + } - @Test - public void testToString() { - PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai"); - String modResult = put.toString(); - assertThat(modResult, is(this.result)); - } + @Test + public void testToString() { + PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai"); + String modResult = put.toString(); + assertThat(modResult, is(this.result)); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java index 4799684..526c923 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java @@ -43,214 +43,214 @@ import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { - SchemaVersions.class, - EdgeIngestor.class + SchemaVersions.class, + EdgeIngestor.class }) @TestPropertySource(properties = { - "schema.uri.base.path = /aai" + "schema.uri.base.path = /aai" }) @Ignore("This test needs to get major rework done as it is written very poorly") public class PutRelationPathSetTest { - private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; + private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"; - private static String json; - private SchemaVersion v ; - private File relationsFile ; - private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship"; - private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship"; - private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship"; - PutRelationPathSet prp = null; - @Autowired + private static String json; + private SchemaVersion v ; + private File relationsFile ; + private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship"; + private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship"; + private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship"; + PutRelationPathSet prp = null; + @Autowired SchemaVersions schemaVersions; - @Autowired + @Autowired EdgeIngestor edgeIngestor; - @Before - public void setUpBeforeClass() throws Exception { - v = schemaVersions.getDefaultVersion(); + @Before + public void setUpBeforeClass() throws Exception { + v = schemaVersions.getDefaultVersion(); - relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json"); - json = "{" - + " \"rules\": [" - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"complex\"," - + " \"label\": \"org.onap.relationships.inventory.LocatedIn\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"this description\"" - + " }," - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"service-capability\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"availability-zone\"," - + " \"to\": \"cloud-region\"," - + " \"label\": \"org.onap.relationships.inventory.BelongsTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"!${direction}\"," - + " \"delete-other-v\": \"!${direction}\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"NONE\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"ctag-pool\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"dvs-switch\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"generic-vnf\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.Uses\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"${direction}\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"vf-module\"," - + " \"to\": \"vnfc\"," - + " \"label\": \"org.onap.relationships.inventory.Uses\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"ONE2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"${direction}\"," - + " \"prevent-delete\": \"${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"pserver\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.MemberOf\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2ONE\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"${direction}\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " {" - + " \"from\": \"vce\"," - + " \"to\": \"availability-zone\"," - + " \"label\": \"org.onap.relationships.inventory.Uses\"," - + " \"direction\": \"OUT\"," - + " \"multiplicity\": \"MANY2MANY\"," - + " \"contains-other-v\": \"NONE\"," - + " \"delete-other-v\": \"NONE\"," - + " \"SVC-INFRA\": \"NONE\"," - + " \"prevent-delete\": \"!${direction}\"," - + " \"default\": \"true\"," - + " \"description\":\"\"" - + " }," - + " ]}"; + relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json"); + json = "{" + + " \"rules\": [" + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"complex\"," + + " \"label\": \"org.onap.relationships.inventory.LocatedIn\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"this description\"" + + " }," + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"service-capability\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"availability-zone\"," + + " \"to\": \"cloud-region\"," + + " \"label\": \"org.onap.relationships.inventory.BelongsTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"!${direction}\"," + + " \"delete-other-v\": \"!${direction}\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"NONE\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"ctag-pool\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"dvs-switch\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.AppliesTo\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"generic-vnf\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.Uses\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"${direction}\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"vf-module\"," + + " \"to\": \"vnfc\"," + + " \"label\": \"org.onap.relationships.inventory.Uses\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"ONE2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"${direction}\"," + + " \"prevent-delete\": \"${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"pserver\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.MemberOf\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2ONE\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"${direction}\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " {" + + " \"from\": \"vce\"," + + " \"to\": \"availability-zone\"," + + " \"label\": \"org.onap.relationships.inventory.Uses\"," + + " \"direction\": \"OUT\"," + + " \"multiplicity\": \"MANY2MANY\"," + + " \"contains-other-v\": \"NONE\"," + + " \"delete-other-v\": \"NONE\"," + + " \"SVC-INFRA\": \"NONE\"," + + " \"prevent-delete\": \"!${direction}\"," + + " \"default\": \"true\"," + + " \"description\":\"\"" + + " }," + + " ]}"; - BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw.write(json); - bw.close(); + BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw.write(json); + bw.close(); - } + } - @Before - public void setUp() throws Exception { + @Before + public void setUp() throws Exception { - DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver"); - DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce"); - DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex"); - DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability"); - DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region"); - DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf"); - DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch"); - DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool"); + DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver"); + DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce"); + DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex"); + DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability"); + DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region"); + DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf"); + DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch"); + DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool"); - DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone"); - PutRelationPathSet.add(opId, path); - } - @AfterClass - public static void tearDownAfterClass() throws Exception { - File edges = new File(EDGEFILENAME); - edges.delete(); - } - @Test - public void testAdd() { - PutRelationPathSet.add(opId, path); - assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); - assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target)); - } + DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone"); + PutRelationPathSet.add(opId, path); + } + @AfterClass + public static void tearDownAfterClass() throws Exception { + File edges = new File(EDGEFILENAME); + edges.delete(); + } + @Test + public void testAdd() { + PutRelationPathSet.add(opId, path); + assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); + assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target)); + } - @Test - public void testPutRelationPathSet() { + @Test + public void testPutRelationPathSet() { - this.prp = new PutRelationPathSet(v); - assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); - prp.generateRelations(edgeIngestor); - assertTrue(this.relationsFile.exists()); - this.relationsFile.delete(); - } + this.prp = new PutRelationPathSet(v); + assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); + prp.generateRelations(edgeIngestor); + assertTrue(this.relationsFile.exists()); + this.relationsFile.delete(); + } - @Test - public void testPutRelationPathSetStringString() { - this.prp = new PutRelationPathSet(opId, path, v); - assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); - } + @Test + public void testPutRelationPathSetStringString() { + this.prp = new PutRelationPathSet(opId, path, v); + assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); + } - @Test - public void testGenerateRelations() { - PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v); - prp.generateRelations(edgeIngestor); - assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); - assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target)); - assertTrue(this.relationsFile.exists()); -// this.relationsFile.delete(); - } + @Test + public void testGenerateRelations() { + PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v); + prp.generateRelations(edgeIngestor); + assertThat(PutRelationPathSet.putRelationPaths.size(), is(1)); + assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target)); + assertTrue(this.relationsFile.exists()); +// this.relationsFile.delete(); + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java index 2ebaee1..7c8dd78 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java @@ -47,219 +47,219 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; public class XSDElementTest { - private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class"); - private static final int maxSizeForXml = 20000; - protected String testXML; - protected Document doc = null; - protected NodeList javaTypeNodes=null; - - public String getTestXML() { - return testXML; - } - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - } - - @Before - public void setUp() throws Exception { - setUp(0); - } - - public void setUp( int sbopt ) throws Exception { - StringBuilder sb = new StringBuilder(maxSizeForXml); - addNamespace(sb); - addBusiness(sb); - addCustomers(sb); - if ( sbopt == 0 ) { - addCustomer(sb); - } else { - addCustomerNoSubscriberType(sb); - addCustomerSubscriberType(sb); - } - addServiceSubscriptions(sb); - addServiceSubscription(sb); - addEndOfXML(sb); - testXML = sb.toString(); - init(); - } - - public void setUpRelationship( ) throws Exception { - StringBuilder sb = new StringBuilder(maxSizeForXml); - addNamespaceNoInventory(sb); - addRelationship(sb); - addRelationshipList(sb); - addRelatedToProperty(sb); - addRelationshipData(sb); - addEndOfXML(sb); - testXML = sb.toString(); - init(); - } - - private void addNamespace(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addNamespaceNoInventory(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addBusiness(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addCustomers(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addCustomer(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); -// sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addCustomerNoSubscriberType(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addCustomerSubscriberType(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addServiceSubscriptions(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - private void addServiceSubscription(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); + private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class"); + private static final int maxSizeForXml = 20000; + protected String testXML; + protected Document doc = null; + protected NodeList javaTypeNodes=null; + + public String getTestXML() { + return testXML; + } + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + } + + @Before + public void setUp() throws Exception { + setUp(0); + } + + public void setUp( int sbopt ) throws Exception { + StringBuilder sb = new StringBuilder(maxSizeForXml); + addNamespace(sb); + addBusiness(sb); + addCustomers(sb); + if ( sbopt == 0 ) { + addCustomer(sb); + } else { + addCustomerNoSubscriberType(sb); + addCustomerSubscriberType(sb); + } + addServiceSubscriptions(sb); + addServiceSubscription(sb); + addEndOfXML(sb); + testXML = sb.toString(); + init(); + } + + public void setUpRelationship( ) throws Exception { + StringBuilder sb = new StringBuilder(maxSizeForXml); + addNamespaceNoInventory(sb); + addRelationship(sb); + addRelationshipList(sb); + addRelatedToProperty(sb); + addRelationshipData(sb); + addEndOfXML(sb); + testXML = sb.toString(); + init(); + } + + private void addNamespace(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addNamespaceNoInventory(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addBusiness(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addCustomers(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addCustomer(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); +// sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addCustomerNoSubscriberType(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addCustomerSubscriberType(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addServiceSubscriptions(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + private void addServiceSubscription(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); @@ -276,380 +276,380 @@ public class XSDElementTest { sb.append("\n"); sb.append("\n"); sb.append("\n"); - } - - private void addRelationshipList(StringBuilder sb ) { - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("/n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addRelationship(StringBuilder sb ) { - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append(""); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addRelatedToProperty(StringBuilder sb) { - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - private void addRelationshipData(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - sb.append("\n"); - } - - - private void addEndOfXML(StringBuilder sb){ - sb.append("\n"); - sb.append("\n"); - } - - public void init() throws ParserConfigurationException, SAXException, IOException { - DocumentBuilder dBuilder = null; - try { - DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); - dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); - dBuilder = dbFactory.newDocumentBuilder(); - } catch (ParserConfigurationException e) { - throw e; - } - try { - InputSource isInput = new InputSource(new StringReader(testXML)); - doc = dBuilder.parse(isInput); - } catch (SAXException e) { - throw e; - } catch (IOException e) { - throw e; - } - - NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings"); - Element bindingElement; - NodeList javaTypesNodes; - Element javaTypesElement; - - if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) { - throw new SAXException("OXM file error: missing in XML"); - } - - bindingElement = (Element) bindingsNodes.item(0); - javaTypesNodes = bindingElement.getElementsByTagName("java-types"); - if ( javaTypesNodes.getLength() < 1 ) { - throw new SAXException("OXM file error: missing in XML"); - } - javaTypesElement = (Element) javaTypesNodes.item(0); - - javaTypeNodes = javaTypesElement.getElementsByTagName("java-type"); - if ( javaTypeNodes.getLength() < 1 ) { - throw new SAXException("OXM file error: missing in XML"); - } - logger.debug(testXML); - } - @Test - public void testXSDElement() { - // repeat of testGetIndexedProps() which uses the constructor - ArrayList target = new ArrayList(); - target.add("subscriber-name"); - target.add("global-customer-id"); - target.add("subscriber-type"); - target.add("service-type"); - - Vector indexedProps = new Vector(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - indexedProps.addAll(javaTypeElement.getIndexedProps()); - } - assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testName() { - ArrayList target = new ArrayList(); - target.add("ServiceSubscriptions"); - target.add("ServiceSubscription"); - target.add("Inventory"); - target.add("Business"); - target.add("Customers"); - target.add("Customer"); - ArrayList names = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - names.add(javaTypeElement.name()); - } - logger.debug(String.join("|", names)); - assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testGetAddTypes() { - HashMap> map = new HashMap>(); - HashMap> target = new HashMap>(); - target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList"))); - target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions"))); - target.put("Business", new ArrayList<>(Arrays.asList("Customers"))); - target.put("Inventory", new ArrayList<>(Arrays.asList("Business"))); - target.put("Customers", new ArrayList<>(Arrays.asList("Customer"))); - target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList"))); - target.put("ServiceSubscription", new ArrayList<>(Arrays.asList())); - target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription"))); - - for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - ArrayList addTypes = new ArrayList(); - NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); - String name=javaTypeElement.name(); - for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { - XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); - addTypes.addAll(xmlElement.getAddTypes("v11")); - map.put(name,addTypes); - } - } - for(String key : map.keySet()) { - assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key))); - } - } + } + + private void addRelationshipList(StringBuilder sb ) { + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("/n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addRelationship(StringBuilder sb ) { + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append(""); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addRelatedToProperty(StringBuilder sb) { + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + private void addRelationshipData(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + sb.append("\n"); + } + + + private void addEndOfXML(StringBuilder sb){ + sb.append("\n"); + sb.append("\n"); + } + + public void init() throws ParserConfigurationException, SAXException, IOException { + DocumentBuilder dBuilder = null; + try { + DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); + dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); + dBuilder = dbFactory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + throw e; + } + try { + InputSource isInput = new InputSource(new StringReader(testXML)); + doc = dBuilder.parse(isInput); + } catch (SAXException e) { + throw e; + } catch (IOException e) { + throw e; + } + + NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings"); + Element bindingElement; + NodeList javaTypesNodes; + Element javaTypesElement; + + if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) { + throw new SAXException("OXM file error: missing in XML"); + } + + bindingElement = (Element) bindingsNodes.item(0); + javaTypesNodes = bindingElement.getElementsByTagName("java-types"); + if ( javaTypesNodes.getLength() < 1 ) { + throw new SAXException("OXM file error: missing in XML"); + } + javaTypesElement = (Element) javaTypesNodes.item(0); + + javaTypeNodes = javaTypesElement.getElementsByTagName("java-type"); + if ( javaTypeNodes.getLength() < 1 ) { + throw new SAXException("OXM file error: missing in XML"); + } + logger.debug(testXML); + } + @Test + public void testXSDElement() { + // repeat of testGetIndexedProps() which uses the constructor + ArrayList target = new ArrayList(); + target.add("subscriber-name"); + target.add("global-customer-id"); + target.add("subscriber-type"); + target.add("service-type"); + + Vector indexedProps = new Vector(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + indexedProps.addAll(javaTypeElement.getIndexedProps()); + } + assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testName() { + ArrayList target = new ArrayList(); + target.add("ServiceSubscriptions"); + target.add("ServiceSubscription"); + target.add("Inventory"); + target.add("Business"); + target.add("Customers"); + target.add("Customer"); + ArrayList names = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + names.add(javaTypeElement.name()); + } + logger.debug(String.join("|", names)); + assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testGetAddTypes() { + HashMap> map = new HashMap>(); + HashMap> target = new HashMap>(); + target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList"))); + target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions"))); + target.put("Business", new ArrayList<>(Arrays.asList("Customers"))); + target.put("Inventory", new ArrayList<>(Arrays.asList("Business"))); + target.put("Customers", new ArrayList<>(Arrays.asList("Customer"))); + target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList"))); + target.put("ServiceSubscription", new ArrayList<>(Arrays.asList())); + target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription"))); + + for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + ArrayList addTypes = new ArrayList(); + NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); + String name=javaTypeElement.name(); + for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { + XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); + addTypes.addAll(xmlElement.getAddTypes("v11")); + map.put(name,addTypes); + } + } + for(String key : map.keySet()) { + assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key))); + } + } /* - @Test - public void testGetRequiredElements() { - HashMap> map = new HashMap>(); - ArrayList target = new ArrayList(); - target.add("global-customer-id\n"); - target.add("subscriber-name\n"); - target.add("subscriber-type"); - for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - ArrayList requiredItems = new ArrayList(); - String name=javaTypeElement.name(); - requiredItems.addAll(javaTypeElement.getRequiredElements("v11")); - map.put(name,requiredItems); - } - for(String key : map.keySet()) { - assertThat(map.get(key),equalTo(target)); - } - } + @Test + public void testGetRequiredElements() { + HashMap> map = new HashMap>(); + ArrayList target = new ArrayList(); + target.add("global-customer-id\n"); + target.add("subscriber-name\n"); + target.add("subscriber-type"); + for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + ArrayList requiredItems = new ArrayList(); + String name=javaTypeElement.name(); + requiredItems.addAll(javaTypeElement.getRequiredElements("v11")); + map.put(name,requiredItems); + } + for(String key : map.keySet()) { + assertThat(map.get(key),equalTo(target)); + } + } */ - @Test - public void testGetPathDescriptionProperty() { - ArrayList target = new ArrayList(); - target.add("Namespace for business related constructs"); - target.add("Collection of customer identifiers to provide linkage back to BSS information."); - target.add("customer identifiers to provide linkage back to BSS information."); - target.add("Collection of objects that group service instances."); - target.add("Object that group service instances."); - List descs = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getPathDescriptionProperty() != null) - descs.add(javaTypeElement.getPathDescriptionProperty()); - } - logger.debug(String.join("|", descs)); - assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testGetIndexedProps() { - ArrayList target = new ArrayList(); - target.add("subscriber-name"); - target.add("global-customer-id"); - target.add("subscriber-type"); - target.add("service-type"); - - Vector indexedProps = new Vector(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - indexedProps.addAll(javaTypeElement.getIndexedProps()); - } - assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testGetContainerProperty() { - ArrayList target = new ArrayList(); - target.add("service-subscriptions"); - target.add("customers"); - List containers = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getContainerProperty() != null) - containers.add(javaTypeElement.getContainerProperty()); - } - logger.debug(String.join("|", containers)); - assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testGetQueryParamYAML() { - ArrayList target = new ArrayList(); - target.add(" - name: global-customer-id\n in: query\n description: n/a\n required: false\n type: string\n"); - target.add(" - name: subscriber-name\n in: query\n description: n/a\n required: false\n type: string\n"); - target.add(" - name: subscriber-type\n in: query\n description: n/a\n required: false\n type: string\n"); - Vector indexedProps = new Vector(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getContainerProperty() != null) { - indexedProps.addAll(javaTypeElement.getIndexedProps()); - String container = javaTypeElement.getContainerProperty(); - Vector containerProps = new Vector(); - NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); - for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { - XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); - if(indexedProps.contains(xmlElement.name())) - containerProps.add(xmlElement.getQueryParamYAML()); - } - GetOperation.addContainerProps(container, containerProps); - } - } + @Test + public void testGetPathDescriptionProperty() { + ArrayList target = new ArrayList(); + target.add("Namespace for business related constructs"); + target.add("Collection of customer identifiers to provide linkage back to BSS information."); + target.add("customer identifiers to provide linkage back to BSS information."); + target.add("Collection of objects that group service instances."); + target.add("Object that group service instances."); + List descs = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getPathDescriptionProperty() != null) + descs.add(javaTypeElement.getPathDescriptionProperty()); + } + logger.debug(String.join("|", descs)); + assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testGetIndexedProps() { + ArrayList target = new ArrayList(); + target.add("subscriber-name"); + target.add("global-customer-id"); + target.add("subscriber-type"); + target.add("service-type"); + + Vector indexedProps = new Vector(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + indexedProps.addAll(javaTypeElement.getIndexedProps()); + } + assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testGetContainerProperty() { + ArrayList target = new ArrayList(); + target.add("service-subscriptions"); + target.add("customers"); + List containers = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getContainerProperty() != null) + containers.add(javaTypeElement.getContainerProperty()); + } + logger.debug(String.join("|", containers)); + assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testGetQueryParamYAML() { + ArrayList target = new ArrayList(); + target.add(" - name: global-customer-id\n in: query\n description: n/a\n required: false\n type: string\n"); + target.add(" - name: subscriber-name\n in: query\n description: n/a\n required: false\n type: string\n"); + target.add(" - name: subscriber-type\n in: query\n description: n/a\n required: false\n type: string\n"); + Vector indexedProps = new Vector(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getContainerProperty() != null) { + indexedProps.addAll(javaTypeElement.getIndexedProps()); + String container = javaTypeElement.getContainerProperty(); + Vector containerProps = new Vector(); + NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); + for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { + XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); + if(indexedProps.contains(xmlElement.name())) + containerProps.add(xmlElement.getQueryParamYAML()); + } + GetOperation.addContainerProps(container, containerProps); + } + } /* - List queryParams = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getQueryParamYAML() != null) - queryParams.add(javaTypeElement.getQueryParamYAML()); - } + List queryParams = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getQueryParamYAML() != null) + queryParams.add(javaTypeElement.getQueryParamYAML()); + } */ - assertThat(GetOperation.containers.get("customers"),equalTo( target)); - } - - @Test - public void testGetPathParamYAML() { - ArrayList target = new ArrayList(); - target.add(" - name: Inventory\n in: path\n description: Inventory\n required: true\n example: __INVENTORY__\n"); - target.add(" - name: Business\n in: path\n description: Business\n required: true\n example: __BUSINESS__\n"); - target.add(" - name: Customers\n in: path\n description: Customers\n required: true\n example: __CUSTOMERS__\n"); - target.add(" - name: Customer\n in: path\n description: Customer\n required: true\n example: __CUSTOMER__\n"); - target.add(" - name: ServiceSubscriptions\n in: path\n description: ServiceSubscriptions\n required: true\n example: __SERVICESUBSCRIPTIONS__\n"); - target.add(" - name: ServiceSubscription\n in: path\n description: ServiceSubscription\n required: true\n example: __SERVICESUBSCRIPTION__\n"); - List pathParams = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null) - pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name())); - } - logger.debug(String.join("|", pathParams)); - assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - } - - @Test - public void testGetHTMLAnnotation() { - ArrayList target = new ArrayList(); - target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); - target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); - target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); - target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); - target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); - List annotes = new ArrayList(); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),""))) - annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), " ")); - } - logger.debug("result:"); - logger.debug(String.join("|", annotes)); - logger.debug("Expected:"); - logger.debug(String.join("|", target)); - assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - - } - - @Test - public void testGetTypePropertyYAML() { - ArrayList target = new ArrayList(); - target.add(" Inventory:\n type: "); - target.add(" Business:\n type: description: Namespace for business related constructs\n"); - target.add(" Customers:\n type: description: Collection of customer identifiers to provide linkage back to BSS information.\n"); - target.add(" Customer:\n type: description: customer identifiers to provide linkage back to BSS information.\n"); - target.add(" ServiceSubscriptions:\n type: description: Collection of objects that group service instances.\n"); - target.add(" ServiceSubscription:\n type: description: Object that group service instances.\n"); - StringBuilder sb = new StringBuilder(" Customer:\n type: description: |\n customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" *This property can be used as a filter to find the start node for a dsl query\n"); - String yamlDesc = sb.toString(); - List types = new ArrayList(); - String container; - String customerDesc = null; - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - if(javaTypeElement.getTypePropertyYAML(false) != null) - types.add(javaTypeElement.getTypePropertyYAML(false)); - container = javaTypeElement.getContainerProperty(); - if ( "customers".equals(container)) { - customerDesc = javaTypeElement.getTypePropertyYAML(true); - } - } - assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); - assertEquals(customerDesc, yamlDesc ); - } - - @Test - public void testIsStandardType() { - HashMap> map = new HashMap>(); - HashMap> target = new HashMap>(); - target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version"))); - target.put("Business", new ArrayList<>()); - target.put("Inventory", new ArrayList<>()); - target.put("Customers", new ArrayList<>()); - target.put("ServiceSubscriptions", new ArrayList<>()); - target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version"))); - - for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - ArrayList addTypes = new ArrayList(); - NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); - String name=javaTypeElement.name(); - for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { - XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); - if(xmlElement.isStandardType()) - addTypes.add(xmlElement.name()); - } - map.put(name,addTypes); - } - for(String key : map.keySet()) { - assertThat(map.get(key),equalTo(target.get(key))); - } - } + assertThat(GetOperation.containers.get("customers"),equalTo( target)); + } + + @Test + public void testGetPathParamYAML() { + ArrayList target = new ArrayList(); + target.add(" - name: Inventory\n in: path\n description: Inventory\n required: true\n example: __INVENTORY__\n"); + target.add(" - name: Business\n in: path\n description: Business\n required: true\n example: __BUSINESS__\n"); + target.add(" - name: Customers\n in: path\n description: Customers\n required: true\n example: __CUSTOMERS__\n"); + target.add(" - name: Customer\n in: path\n description: Customer\n required: true\n example: __CUSTOMER__\n"); + target.add(" - name: ServiceSubscriptions\n in: path\n description: ServiceSubscriptions\n required: true\n example: __SERVICESUBSCRIPTIONS__\n"); + target.add(" - name: ServiceSubscription\n in: path\n description: ServiceSubscription\n required: true\n example: __SERVICESUBSCRIPTION__\n"); + List pathParams = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null) + pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name())); + } + logger.debug(String.join("|", pathParams)); + assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + } + + @Test + public void testGetHTMLAnnotation() { + ArrayList target = new ArrayList(); + target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); + target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); + target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); + target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); + target.add(" " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " @org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")" + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR + " " + OxmFileProcessor.LINE_SEPARATOR); + List annotes = new ArrayList(); + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),""))) + annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), " ")); + } + logger.debug("result:"); + logger.debug(String.join("|", annotes)); + logger.debug("Expected:"); + logger.debug(String.join("|", target)); + assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + + } + + @Test + public void testGetTypePropertyYAML() { + ArrayList target = new ArrayList(); + target.add(" Inventory:\n type: "); + target.add(" Business:\n type: description: Namespace for business related constructs\n"); + target.add(" Customers:\n type: description: Collection of customer identifiers to provide linkage back to BSS information.\n"); + target.add(" Customer:\n type: description: customer identifiers to provide linkage back to BSS information.\n"); + target.add(" ServiceSubscriptions:\n type: description: Collection of objects that group service instances.\n"); + target.add(" ServiceSubscription:\n type: description: Object that group service instances.\n"); + StringBuilder sb = new StringBuilder(" Customer:\n type: description: |\n customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" *This property can be used as a filter to find the start node for a dsl query\n"); + String yamlDesc = sb.toString(); + List types = new ArrayList(); + String container; + String customerDesc = null; + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + if(javaTypeElement.getTypePropertyYAML(false) != null) + types.add(javaTypeElement.getTypePropertyYAML(false)); + container = javaTypeElement.getContainerProperty(); + if ( "customers".equals(container)) { + customerDesc = javaTypeElement.getTypePropertyYAML(true); + } + } + assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray()))); + assertEquals(customerDesc, yamlDesc ); + } + + @Test + public void testIsStandardType() { + HashMap> map = new HashMap>(); + HashMap> target = new HashMap>(); + target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version"))); + target.put("Business", new ArrayList<>()); + target.put("Inventory", new ArrayList<>()); + target.put("Customers", new ArrayList<>()); + target.put("ServiceSubscriptions", new ArrayList<>()); + target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version"))); + + for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + ArrayList addTypes = new ArrayList(); + NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element"); + String name=javaTypeElement.name(); + for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) { + XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j)); + if(xmlElement.isStandardType()) + addTypes.add(xmlElement.name()); + } + map.put(name,addTypes); + } + for(String key : map.keySet()) { + assertThat(map.get(key),equalTo(target.get(key))); + } + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java index 556a281..b961524 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java @@ -30,72 +30,72 @@ import static org.junit.Assert.assertThat; public class XSDJavaTypeTest extends XSDElementTest { - @Before - public void setUp() throws Exception { - super.setUp(); - } + @Before + public void setUp() throws Exception { + super.setUp(); + } - @Test - public void testXSDJavaTypeElement() { - HashMap map = new HashMap(); - HashMap target = new HashMap(); - target.put("Customer", "global-customer-id"); - target.put("Business", "customers"); - target.put("Inventory", "business"); - target.put("Customers","customer"); - target.put("ServiceSubscriptions", "service-subscription"); - target.put("ServiceSubscription", "service-type"); + @Test + public void testXSDJavaTypeElement() { + HashMap map = new HashMap(); + HashMap target = new HashMap(); + target.put("Customer", "global-customer-id"); + target.put("Business", "customers"); + target.put("Inventory", "business"); + target.put("Customers","customer"); + target.put("ServiceSubscriptions", "service-subscription"); + target.put("ServiceSubscription", "service-type"); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - XSDJavaType javaType = new XSDJavaType(javaTypeElement); - map.put(javaType.name(),javaType.getItemName()); - } - for(String key : map.keySet()) { - assertThat("For key: "+key,map.get(key),equalTo(target.get(key))); - } - } + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + XSDJavaType javaType = new XSDJavaType(javaTypeElement); + map.put(javaType.name(),javaType.getItemName()); + } + for(String key : map.keySet()) { + assertThat("For key: "+key,map.get(key),equalTo(target.get(key))); + } + } - @Test - public void testGetItemName() { - HashMap map = new HashMap(); - HashMap target = new HashMap(); - target.put("Customer", "global-customer-id"); - target.put("Business", "customers"); - target.put("Inventory", "business"); - target.put("Customers","customer"); - target.put("ServiceSubscriptions", "service-subscription"); - target.put("ServiceSubscription", "service-type"); + @Test + public void testGetItemName() { + HashMap map = new HashMap(); + HashMap target = new HashMap(); + target.put("Customer", "global-customer-id"); + target.put("Business", "customers"); + target.put("Inventory", "business"); + target.put("Customers","customer"); + target.put("ServiceSubscriptions", "service-subscription"); + target.put("ServiceSubscription", "service-type"); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - XSDJavaType javaType = new XSDJavaType(javaTypeElement); - map.put(javaType.name(),javaType.getItemName()); - } - for(String key : map.keySet()) { - assertThat("For key: "+key,map.get(key),equalTo(target.get(key))); - } - } + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + XSDJavaType javaType = new XSDJavaType(javaTypeElement); + map.put(javaType.name(),javaType.getItemName()); + } + for(String key : map.keySet()) { + assertThat("For key: "+key,map.get(key),equalTo(target.get(key))); + } + } - @Test - public void testGetArrayType() { - HashMap map = new HashMap(); - HashMap target = new HashMap(); - target.put("Customer", null); - target.put("Business", null); - target.put("Inventory", null); - target.put("Customers","customer"); - target.put("ServiceSubscriptions", "service-subscription"); - target.put("ServiceSubscription", null); + @Test + public void testGetArrayType() { + HashMap map = new HashMap(); + HashMap target = new HashMap(); + target.put("Customer", null); + target.put("Business", null); + target.put("Inventory", null); + target.put("Customers","customer"); + target.put("ServiceSubscriptions", "service-subscription"); + target.put("ServiceSubscription", null); - for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { - XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); - XSDJavaType javaType = new XSDJavaType(javaTypeElement); - map.put(javaType.name(),javaType.getArrayType()); - } - for(String key : map.keySet()) { - assertThat(map.get(key),equalTo(target.get(key))); - } - } + for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) { + XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i)); + XSDJavaType javaType = new XSDJavaType(javaTypeElement); + map.put(javaType.name(),javaType.getArrayType()); + } + for(String key : map.keySet()) { + assertThat(map.get(key),equalTo(target.get(key))); + } + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java index ad4f055..06653c8 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java @@ -62,783 +62,783 @@ import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { - SchemaVersions.class, + SchemaVersions.class, SchemaLocationsBean.class, TestUtilConfigTranslatorforBusiness.class, SchemaVersions.class, EdgeIngestor.class, NodeIngestor.class, - SwaggerGenerationConfiguration.class + SwaggerGenerationConfiguration.class }) @TestPropertySource(properties = { - "schema.uri.base.path = /aai", - "schema.xsd.maxoccurs = 5000" + "schema.uri.base.path = /aai", + "schema.xsd.maxoccurs = 5000" }) public class YAMLfromOXMTest { - @Autowired + @Autowired EdgeIngestor edgeIngestor; - @Autowired + @Autowired NodeIngestor nodeIngestor; - private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class"); - private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; - private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"; - public static AnnotationConfigApplicationContext ctx = null; - private static String testXML; - protected static final String SERVICE_NAME = "JUNIT"; + private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class"); + private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml"; + private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"; + public static AnnotationConfigApplicationContext ctx = null; + private static String testXML; + protected static final String SERVICE_NAME = "JUNIT"; boolean first = true; @Autowired - YAMLfromOXM yamlFromOxm; + YAMLfromOXM yamlFromOxm; @Autowired SchemaVersions schemaVersions; - @BeforeClass - public static void setUpBeforeClass() throws Exception { - System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local"); - System.setProperty("aai.service.name", SERVICE_NAME); - } - - + @BeforeClass + public static void setUpBeforeClass() throws Exception { + System.setProperty("AJSC_HOME", "."); + System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local"); + System.setProperty("aai.service.name", SERVICE_NAME); + } + + - @Before - public void setUp() throws Exception { + @Before + public void setUp() throws Exception { XSDElementTest x = new XSDElementTest(); - x.setUp(); - testXML = x.testXML; - logger.debug(testXML); - BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); - bw.write(testXML); - bw.close(); - BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw1.write(EdgeDefs()); - bw1.close(); + x.setUp(); + testXML = x.testXML; + logger.debug(testXML); + BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); + bw.write(testXML); + bw.close(); + BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw1.write(EdgeDefs()); + bw1.close(); } - - public void setupRelationship() throws Exception{ + + public void setupRelationship() throws Exception{ XSDElementTest x = new XSDElementTest(); - x.setUpRelationship(); + x.setUpRelationship(); - testXML = x.testXML; - logger.debug(testXML); - BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); + testXML = x.testXML; + logger.debug(testXML); + BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME)); - bw.write(testXML); + bw.write(testXML); - bw.close(); - BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); - bw1.write(EdgeDefs()); - bw1.close(); - } + bw.close(); + BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME)); + bw1.write(EdgeDefs()); + bw1.close(); + } - @Test - public void AtestIngestors() throws EdgeRuleNotFoundException { - Multimap results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion()); - SortedSet ss=new TreeSet(results.keySet()); - for(String key : ss) { - results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } ); - } - Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion()); - assertNotNull(doc); - } + @Test + public void AtestIngestors() throws EdgeRuleNotFoundException { + Multimap results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion()); + SortedSet ss=new TreeSet(results.keySet()); + for(String key : ss) { + results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } ); + } + Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion()); + assertNotNull(doc); + } - @Test - public void testGetDocumentHeader() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String header = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - yamlFromOxm.process(); - header = yamlFromOxm.getDocumentHeader(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Header:\n"+header,header, is(YAMLheader())); - } + @Test + public void testGetDocumentHeader() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String header = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + yamlFromOxm.process(); + header = yamlFromOxm.getDocumentHeader(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Header:\n"+header,header, is(YAMLheader())); + } - @Test - public void testProcess() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - fileContent = yamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult())); - } + @Test + public void testProcess() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + fileContent = yamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult())); + } - @Test - public void testYAMLfromOXMFileVersionFile() throws IOException { - String outfileName = "testXML.xml"; - File XMLfile = new File(outfileName); - XMLfile.createNewFile(); - BufferedWriter bw = null; - Charset charset = Charset.forName("UTF-8"); - Path path = Paths.get(outfileName); - bw = Files.newBufferedWriter(path, charset); - bw.write(testXML); - bw.close(); - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - fileContent = yamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - XMLfile.delete(); - assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult())); - } + @Test + public void testYAMLfromOXMFileVersionFile() throws IOException { + String outfileName = "testXML.xml"; + File XMLfile = new File(outfileName); + XMLfile.createNewFile(); + BufferedWriter bw = null; + Charset charset = Charset.forName("UTF-8"); + Path path = Paths.get(outfileName); + bw = Files.newBufferedWriter(path, charset); + bw.write(testXML); + bw.close(); + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + fileContent = yamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + XMLfile.delete(); + assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult())); + } - @Test - public void testYAMLfromOXMStringVersionFile() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - fileContent = yamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult())); - } - - @Test - public void testRelationshipListYAMLfromOXMStringVersionFile() { - try { - setupRelationship(); - } catch (Exception e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String fileContent = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - fileContent = yamlFromOxm.process(); - } catch(Exception e) { - e.printStackTrace(); - } - boolean matchFound = fileContent.contains(( YAMLRelationshipList())); - assertTrue("RelationshipListFormat:\n", matchFound); - } + @Test + public void testYAMLfromOXMStringVersionFile() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + fileContent = yamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult())); + } + + @Test + public void testRelationshipListYAMLfromOXMStringVersionFile() { + try { + setupRelationship(); + } catch (Exception e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String fileContent = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + fileContent = yamlFromOxm.process(); + } catch(Exception e) { + e.printStackTrace(); + } + boolean matchFound = fileContent.contains(( YAMLRelationshipList())); + assertTrue("RelationshipListFormat:\n", matchFound); + } - @Test - public void testAppendDefinitions() { - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String definitions = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - yamlFromOxm.process(); - definitions = yamlFromOxm.appendDefinitions(); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLdefsAddPatch())); - } + @Test + public void testAppendDefinitions() { + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String definitions = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + yamlFromOxm.process(); + definitions = yamlFromOxm.appendDefinitions(); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLdefsAddPatch())); + } - @Test - public void testGetXMLRootElementName() { - String target = "RootElement=customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - Element customer = null; - String root = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - yamlFromOxm.process(); - customer = yamlFromOxm.getJavaTypeElementSwagger("Customer"); - root = yamlFromOxm.getXMLRootElementName(customer); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("RootElement="+root, is(target)); - } + @Test + public void testGetXMLRootElementName() { + String target = "RootElement=customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + Element customer = null; + String root = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + yamlFromOxm.process(); + customer = yamlFromOxm.getJavaTypeElementSwagger("Customer"); + root = yamlFromOxm.getXMLRootElementName(customer); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("RootElement="+root, is(target)); + } - @Test - public void testGetXmlRootElementName() { - String target = "RootElement=customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - String root = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - yamlFromOxm.process(); - root = yamlFromOxm.getXmlRootElementName("Customer"); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("RootElement="+root, is(target)); - } + @Test + public void testGetXmlRootElementName() { + String target = "RootElement=customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + String root = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + yamlFromOxm.process(); + root = yamlFromOxm.getXmlRootElementName("Customer"); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("RootElement="+root, is(target)); + } - @Test - public void testGetJavaTypeElementSwagger() { - String target = "Element=java-type/Customer"; - SchemaVersion v = schemaVersions.getAppRootVersion(); - String apiVersion = v.toString(); - Element customer = null; - try { - yamlFromOxm.setXmlVersion(testXML, v); - yamlFromOxm.process(); - customer = yamlFromOxm.getJavaTypeElementSwagger("Customer"); - } catch(Exception e) { - e.printStackTrace(); - } - assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); - } + @Test + public void testGetJavaTypeElementSwagger() { + String target = "Element=java-type/Customer"; + SchemaVersion v = schemaVersions.getAppRootVersion(); + String apiVersion = v.toString(); + Element customer = null; + try { + yamlFromOxm.setXmlVersion(testXML, v); + yamlFromOxm.process(); + customer = yamlFromOxm.getJavaTypeElementSwagger("Customer"); + } catch(Exception e) { + e.printStackTrace(); + } + assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); + } - public String YAMLresult() { - StringBuilder sb = new StringBuilder(32368); - sb.append(YAMLheader()); - sb.append(YAMLops()); - sb.append(YAMLdefs()); - sb.append(YAMLdefsAddPatch()); - return sb.toString(); - } - public String YAMLheader() { - StringBuilder sb = new StringBuilder(1500); - sb.append("swagger: \"2.0\"\n"); - sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" description: |\n"); - sb.append("\n"); - sb.append(" [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - sb.append(" Copyright © 2017-18 AT&T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - sb.append(" Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - sb.append(" You may obtain a copy of the License at\n"); - sb.append("\n"); - sb.append(" (https://creativecommons.org/licenses/by/4.0/)"+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - sb.append(" 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." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); - sb.append(" This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" license:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" name: Apache 2.0\n"); - sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" contact:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" name: n/a" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" url: n/a" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" email: n/a" + OxmFileProcessor.LINE_SEPARATOR); - sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR); - sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR); - sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" - https\n"); - sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR); - return sb.toString(); - } + public String YAMLresult() { + StringBuilder sb = new StringBuilder(32368); + sb.append(YAMLheader()); + sb.append(YAMLops()); + sb.append(YAMLdefs()); + sb.append(YAMLdefsAddPatch()); + return sb.toString(); + } + public String YAMLheader() { + StringBuilder sb = new StringBuilder(1500); + sb.append("swagger: \"2.0\"\n"); + sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" description: |\n"); + sb.append("\n"); + sb.append(" [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + sb.append(" Copyright © 2017-18 AT&T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + sb.append(" Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + sb.append(" You may obtain a copy of the License at\n"); + sb.append("\n"); + sb.append(" (https://creativecommons.org/licenses/by/4.0/)"+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + sb.append(" 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." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR); + sb.append(" This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" license:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" name: Apache 2.0\n"); + sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" contact:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" name: n/a" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" url: n/a" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" email: n/a" + OxmFileProcessor.LINE_SEPARATOR); + sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR); + sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR); + sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" - https\n"); + sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR); + return sb.toString(); + } - public String YAMLops() { - StringBuilder sb = new StringBuilder(16384); - sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: returns service-subscription\n"); - sb.append(" description: returns service-subscription\n"); - sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: path\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __SERVICE-TYPE__\n"); - sb.append(" put:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: create or update an existing service-subscription\n"); - sb.append(" description: |\n"); - sb.append(" Create or update an existing service-subscription.\n"); - sb.append(" #\n"); - sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n"); - sb.append(" operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: path\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __SERVICE-TYPE__\n"); - sb.append(" - name: body\n"); - sb.append(" in: body\n"); - sb.append(" description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n"); - sb.append(" required: true\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - sb.append(" patch:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: update an existing service-subscription\n"); - sb.append(" description: |\n"); - sb.append(" Update an existing service-subscription\n"); - sb.append(" #\n"); - sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n"); - sb.append(" The PUT operation will entirely replace an existing object.\n"); - sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n"); - sb.append(" #\n"); - sb.append(" Other differences between PUT and PATCH are:\n"); - sb.append(" #\n"); - sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n"); - sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n"); - sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n"); - sb.append(" operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: path\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __SERVICE-TYPE__\n"); - sb.append(" - name: body\n"); - sb.append(" in: body\n"); - sb.append(" description: service-subscription object that needs to be updated."); - sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n"); - sb.append(" required: true\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/zzzz-patch-service-subscription\"\n"); - sb.append(" delete:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: delete an existing service-subscription\n"); - sb.append(" description: delete an existing service-subscription\n"); - sb.append(" operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: path\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __SERVICE-TYPE__\n"); - sb.append(" - name: resource-version\n"); - sb.append(" in: query\n"); - sb.append(" description: resource-version for concurrency\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: returns service-subscriptions\n"); - sb.append(" description: returns service-subscriptions\n"); - sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/service-subscriptions\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: service-type\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" /business/customers/customer/{global-customer-id}:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: returns customer\n"); - sb.append(" description: returns customer\n"); - sb.append(" operationId: getBusinessCustomersCustomer\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" put:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: create or update an existing customer\n"); - sb.append(" description: |\n"); - sb.append(" Create or update an existing customer.\n"); - sb.append(" #\n"); - sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n"); - sb.append(" operationId: createOrUpdateBusinessCustomersCustomer\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: body\n"); - sb.append(" in: body\n"); - sb.append(" description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n"); - sb.append(" required: true\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" patch:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: update an existing customer\n"); - sb.append(" description: |\n"); - sb.append(" Update an existing customer\n"); - sb.append(" #\n"); - sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n"); - sb.append(" The PUT operation will entirely replace an existing object.\n"); - sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n"); - sb.append(" #\n"); - sb.append(" Other differences between PUT and PATCH are:\n"); - sb.append(" #\n"); - sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n"); - sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n"); - sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n"); - sb.append(" operationId: UpdateBusinessCustomersCustomer\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: body\n"); - sb.append(" in: body\n"); - sb.append(" description: customer object that needs to be updated."); - sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n"); - sb.append(" required: true\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/zzzz-patch-customer\"\n"); - sb.append(" delete:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: delete an existing customer\n"); - sb.append(" description: delete an existing customer\n"); - sb.append(" operationId: deleteBusinessCustomersCustomer\n"); - sb.append(" consumes:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: path\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); - sb.append(" - name: resource-version\n"); - sb.append(" in: query\n"); - sb.append(" description: resource-version for concurrency\n"); - sb.append(" required: true\n"); - sb.append(" type: string\n"); - sb.append(" /business/customers:\n"); - sb.append(" get:\n"); - sb.append(" tags:\n"); - sb.append(" - Business\n"); - sb.append(" summary: returns customers\n"); - sb.append(" description: returns customers\n"); - sb.append(" operationId: getBusinessCustomers\n"); - sb.append(" produces:\n"); - sb.append(" - application/json\n"); - sb.append(" - application/xml\n"); - sb.append(" responses:\n"); - sb.append(" \"200\":\n"); - sb.append(" description: successful operation\n"); - sb.append(" schema:\n"); - sb.append(" $ref: \"#/definitions/customers\"\n"); - sb.append(" \"default\":\n"); - sb.append(" null parameters:\n"); - sb.append(" - name: global-customer-id\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" - name: subscriber-name\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - sb.append(" - name: subscriber-type\n"); - sb.append(" in: query\n"); - sb.append(" description: n/a\n"); - sb.append(" required: false\n"); - sb.append(" type: string\n"); - return sb.toString(); - } - public String YAMLdefs() { - StringBuilder sb = new StringBuilder(8092); - sb.append("definitions:\n"); - sb.append(" business:\n"); - sb.append(" description: |\n"); - sb.append(" Namespace for business related constructs\n"); - sb.append(" properties:\n"); - sb.append(" customers:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" customer:\n"); - sb.append(" description: |\n"); - sb.append(" customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); - sb.append(" required:\n"); - sb.append(" - global-customer-id\n"); - sb.append(" - subscriber-name\n"); - sb.append(" - subscriber-type\n"); - sb.append(" properties:\n"); - sb.append(" global-customer-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" subscriber-name:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); - sb.append(" subscriber-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); - sb.append(" resource-version:\n"); - sb.append(" type: string\n"); - sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); - sb.append(" service-subscriptions:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - sb.append(" customers:\n"); - sb.append(" description: |\n"); - sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" properties:\n"); - sb.append(" customer:\n"); - sb.append(" type: array\n"); - sb.append(" items: \n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); - sb.append(" inventory:\n"); - sb.append(" properties:\n"); - sb.append(" business:\n"); - sb.append(" type: object\n"); - sb.append(" $ref: \"#/definitions/business\"\n"); - sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR); - sb.append(" service-subscription:\n"); - sb.append(" description: |\n"); - sb.append(" Object that group service instances.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); - sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); - sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); - sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); - sb.append(" required:\n"); - sb.append(" - service-type\n"); - sb.append(" properties:\n"); - sb.append(" service-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" temp-ub-sub-account-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); - sb.append(" resource-version:\n"); - sb.append(" type: string\n"); - sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); - sb.append(" service-subscriptions:\n"); - sb.append(" description: |\n"); - sb.append(" Collection of objects that group service instances.\n"); - sb.append(" properties:\n"); - sb.append(" service-subscription:\n"); - sb.append(" type: array\n"); - sb.append(" items: \n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); - return sb.toString(); - } - public String YAMLdefsAddPatch() { - StringBuilder sb = new StringBuilder(8092); - sb.append(" zzzz-patch-customer:\n"); - sb.append(" description: |\n"); - sb.append(" customer identifiers to provide linkage back to BSS information.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); - sb.append(" properties:\n"); - sb.append(" global-customer-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: Global customer id used across to uniquely identify customer.\n"); - sb.append(" subscriber-name:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); - sb.append(" subscriber-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); - sb.append(" zzzz-patch-service-subscription:\n"); - sb.append(" description: |\n"); - sb.append(" Object that group service instances.\n"); - sb.append(" ###### Related Nodes\n"); - sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); - sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); - sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); - sb.append("\n"); - sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); - sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); - sb.append(" properties:\n"); - sb.append(" service-type:\n"); - sb.append(" type: string\n"); - sb.append(" description: Value defined by orchestration to identify this service.\n"); - sb.append(" temp-ub-sub-account-id:\n"); - sb.append(" type: string\n"); - sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); - return sb.toString(); - } - - public String YAMLRelationshipList() { - StringBuilder sb = new StringBuilder(8092); - sb.append(" relationship-list:\n"); - sb.append(" properties:\n"); - sb.append(" relationship:\n"); - sb.append(" type: object\n"); - sb.append(" $ref: \"#/definitions/relationship\"\n"); - return sb.toString(); - } - - public static String EdgeDefs() { - StringBuilder sb = new StringBuilder(8092); - sb.append("{\n" + - " \"rules\": [\n"); - sb.append(" {\n"); - sb.append(" \"from\": \"service-subscription\",\n"); - sb.append(" \"to\": \"customer\",\n" + - " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" + - " \"direction\": \"OUT\",\n" + - " \"multiplicity\": \"MANY2ONE\",\n" + - " \"contains-other-v\": \"!${direction}\",\n" + - " \"delete-other-v\": \"!${direction}\",\n" + - " \"prevent-delete\": \"NONE\",\n" + - " \"default\": \"true\",\n" + - " \"description\":\"\"\n"); - sb.append(" },\n"); - sb.append(" {\n" + - " \"from\": \"service-instance\",\n" + - " \"to\": \"service-subscription\",\n" + - " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" + - " \"direction\": \"OUT\",\n" + - " \"multiplicity\": \"MANY2ONE\",\n" + - " \"contains-other-v\": \"!${direction}\",\n" + - " \"delete-other-v\": \"!${direction}\",\n" + - " \"prevent-delete\": \"NONE\",\n" + - " \"default\": \"true\",\n" + - " \"description\":\"\"\n" + - " },\n"); - sb.append(" {\n" + - " \"from\": \"service-subscription\",\n" + - " \"to\": \"tenant\",\n" + - " \"label\": \"org.onap.relationships.inventory.Uses\",\n" + - " \"direction\": \"OUT\",\n" + - " \"multiplicity\": \"MANY2MANY\",\n" + - " \"contains-other-v\": \"NONE\",\n" + - " \"delete-other-v\": \"NONE\",\n" + - " \"prevent-delete\": \"NONE\",\n" + - " \"default\": \"true\",\n" + - " \"description\":\"\"\n" + - " }"); - sb.append(" ]\n" + - "}\n"); - return sb.toString(); - } + public String YAMLops() { + StringBuilder sb = new StringBuilder(16384); + sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: returns service-subscription\n"); + sb.append(" description: returns service-subscription\n"); + sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: path\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __SERVICE-TYPE__\n"); + sb.append(" put:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: create or update an existing service-subscription\n"); + sb.append(" description: |\n"); + sb.append(" Create or update an existing service-subscription.\n"); + sb.append(" #\n"); + sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n"); + sb.append(" operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: path\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __SERVICE-TYPE__\n"); + sb.append(" - name: body\n"); + sb.append(" in: body\n"); + sb.append(" description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n"); + sb.append(" required: true\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" patch:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: update an existing service-subscription\n"); + sb.append(" description: |\n"); + sb.append(" Update an existing service-subscription\n"); + sb.append(" #\n"); + sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n"); + sb.append(" The PUT operation will entirely replace an existing object.\n"); + sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n"); + sb.append(" #\n"); + sb.append(" Other differences between PUT and PATCH are:\n"); + sb.append(" #\n"); + sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n"); + sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n"); + sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n"); + sb.append(" operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: path\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __SERVICE-TYPE__\n"); + sb.append(" - name: body\n"); + sb.append(" in: body\n"); + sb.append(" description: service-subscription object that needs to be updated."); + sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n"); + sb.append(" required: true\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/zzzz-patch-service-subscription\"\n"); + sb.append(" delete:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: delete an existing service-subscription\n"); + sb.append(" description: delete an existing service-subscription\n"); + sb.append(" operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: path\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __SERVICE-TYPE__\n"); + sb.append(" - name: resource-version\n"); + sb.append(" in: query\n"); + sb.append(" description: resource-version for concurrency\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: returns service-subscriptions\n"); + sb.append(" description: returns service-subscriptions\n"); + sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/service-subscriptions\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: service-type\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" /business/customers/customer/{global-customer-id}:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: returns customer\n"); + sb.append(" description: returns customer\n"); + sb.append(" operationId: getBusinessCustomersCustomer\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" put:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: create or update an existing customer\n"); + sb.append(" description: |\n"); + sb.append(" Create or update an existing customer.\n"); + sb.append(" #\n"); + sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n"); + sb.append(" operationId: createOrUpdateBusinessCustomersCustomer\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: body\n"); + sb.append(" in: body\n"); + sb.append(" description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n"); + sb.append(" required: true\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" patch:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: update an existing customer\n"); + sb.append(" description: |\n"); + sb.append(" Update an existing customer\n"); + sb.append(" #\n"); + sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n"); + sb.append(" The PUT operation will entirely replace an existing object.\n"); + sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n"); + sb.append(" #\n"); + sb.append(" Other differences between PUT and PATCH are:\n"); + sb.append(" #\n"); + sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n"); + sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n"); + sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n"); + sb.append(" operationId: UpdateBusinessCustomersCustomer\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: body\n"); + sb.append(" in: body\n"); + sb.append(" description: customer object that needs to be updated."); + sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n"); + sb.append(" required: true\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/zzzz-patch-customer\"\n"); + sb.append(" delete:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: delete an existing customer\n"); + sb.append(" description: delete an existing customer\n"); + sb.append(" operationId: deleteBusinessCustomersCustomer\n"); + sb.append(" consumes:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: path\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" example: __GLOBAL-CUSTOMER-ID__\n"); + sb.append(" - name: resource-version\n"); + sb.append(" in: query\n"); + sb.append(" description: resource-version for concurrency\n"); + sb.append(" required: true\n"); + sb.append(" type: string\n"); + sb.append(" /business/customers:\n"); + sb.append(" get:\n"); + sb.append(" tags:\n"); + sb.append(" - Business\n"); + sb.append(" summary: returns customers\n"); + sb.append(" description: returns customers\n"); + sb.append(" operationId: getBusinessCustomers\n"); + sb.append(" produces:\n"); + sb.append(" - application/json\n"); + sb.append(" - application/xml\n"); + sb.append(" responses:\n"); + sb.append(" \"200\":\n"); + sb.append(" description: successful operation\n"); + sb.append(" schema:\n"); + sb.append(" $ref: \"#/definitions/customers\"\n"); + sb.append(" \"default\":\n"); + sb.append(" null parameters:\n"); + sb.append(" - name: global-customer-id\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" - name: subscriber-name\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + sb.append(" - name: subscriber-type\n"); + sb.append(" in: query\n"); + sb.append(" description: n/a\n"); + sb.append(" required: false\n"); + sb.append(" type: string\n"); + return sb.toString(); + } + public String YAMLdefs() { + StringBuilder sb = new StringBuilder(8092); + sb.append("definitions:\n"); + sb.append(" business:\n"); + sb.append(" description: |\n"); + sb.append(" Namespace for business related constructs\n"); + sb.append(" properties:\n"); + sb.append(" customers:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" customer:\n"); + sb.append(" description: |\n"); + sb.append(" customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); + sb.append(" required:\n"); + sb.append(" - global-customer-id\n"); + sb.append(" - subscriber-name\n"); + sb.append(" - subscriber-type\n"); + sb.append(" properties:\n"); + sb.append(" global-customer-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" subscriber-name:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); + sb.append(" subscriber-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); + sb.append(" resource-version:\n"); + sb.append(" type: string\n"); + sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); + sb.append(" service-subscriptions:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" customers:\n"); + sb.append(" description: |\n"); + sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" properties:\n"); + sb.append(" customer:\n"); + sb.append(" type: array\n"); + sb.append(" items: \n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" inventory:\n"); + sb.append(" properties:\n"); + sb.append(" business:\n"); + sb.append(" type: object\n"); + sb.append(" $ref: \"#/definitions/business\"\n"); + sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR); + sb.append(" service-subscription:\n"); + sb.append(" description: |\n"); + sb.append(" Object that group service instances.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); + sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); + sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); + sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); + sb.append(" required:\n"); + sb.append(" - service-type\n"); + sb.append(" properties:\n"); + sb.append(" service-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" temp-ub-sub-account-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); + sb.append(" resource-version:\n"); + sb.append(" type: string\n"); + sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); + sb.append(" service-subscriptions:\n"); + sb.append(" description: |\n"); + sb.append(" Collection of objects that group service instances.\n"); + sb.append(" properties:\n"); + sb.append(" service-subscription:\n"); + sb.append(" type: array\n"); + sb.append(" items: \n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + return sb.toString(); + } + public String YAMLdefsAddPatch() { + StringBuilder sb = new StringBuilder(8092); + sb.append(" zzzz-patch-customer:\n"); + sb.append(" description: |\n"); + sb.append(" customer identifiers to provide linkage back to BSS information.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n"); + sb.append(" properties:\n"); + sb.append(" global-customer-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: Global customer id used across to uniquely identify customer.\n"); + sb.append(" subscriber-name:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n"); + sb.append(" subscriber-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n"); + sb.append(" zzzz-patch-service-subscription:\n"); + sb.append(" description: |\n"); + sb.append(" Object that group service instances.\n"); + sb.append(" ###### Related Nodes\n"); + sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n"); + sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n"); + sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n"); + sb.append("\n"); + sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n"); + sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n"); + sb.append(" properties:\n"); + sb.append(" service-type:\n"); + sb.append(" type: string\n"); + sb.append(" description: Value defined by orchestration to identify this service.\n"); + sb.append(" temp-ub-sub-account-id:\n"); + sb.append(" type: string\n"); + sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n"); + return sb.toString(); + } + + public String YAMLRelationshipList() { + StringBuilder sb = new StringBuilder(8092); + sb.append(" relationship-list:\n"); + sb.append(" properties:\n"); + sb.append(" relationship:\n"); + sb.append(" type: object\n"); + sb.append(" $ref: \"#/definitions/relationship\"\n"); + return sb.toString(); + } + + public static String EdgeDefs() { + StringBuilder sb = new StringBuilder(8092); + sb.append("{\n" + + " \"rules\": [\n"); + sb.append(" {\n"); + sb.append(" \"from\": \"service-subscription\",\n"); + sb.append(" \"to\": \"customer\",\n" + + " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" + + " \"direction\": \"OUT\",\n" + + " \"multiplicity\": \"MANY2ONE\",\n" + + " \"contains-other-v\": \"!${direction}\",\n" + + " \"delete-other-v\": \"!${direction}\",\n" + + " \"prevent-delete\": \"NONE\",\n" + + " \"default\": \"true\",\n" + + " \"description\":\"\"\n"); + sb.append(" },\n"); + sb.append(" {\n" + + " \"from\": \"service-instance\",\n" + + " \"to\": \"service-subscription\",\n" + + " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" + + " \"direction\": \"OUT\",\n" + + " \"multiplicity\": \"MANY2ONE\",\n" + + " \"contains-other-v\": \"!${direction}\",\n" + + " \"delete-other-v\": \"!${direction}\",\n" + + " \"prevent-delete\": \"NONE\",\n" + + " \"default\": \"true\",\n" + + " \"description\":\"\"\n" + + " },\n"); + sb.append(" {\n" + + " \"from\": \"service-subscription\",\n" + + " \"to\": \"tenant\",\n" + + " \"label\": \"org.onap.relationships.inventory.Uses\",\n" + + " \"direction\": \"OUT\",\n" + + " \"multiplicity\": \"MANY2MANY\",\n" + + " \"contains-other-v\": \"NONE\",\n" + + " \"delete-other-v\": \"NONE\",\n" + + " \"prevent-delete\": \"NONE\",\n" + + " \"default\": \"true\",\n" + + " \"description\":\"\"\n" + + " }"); + sb.append(" ]\n" + + "}\n"); + return sb.toString(); + } } \ No newline at end of file diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java index 12683b4..e7de26b 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java @@ -32,42 +32,42 @@ import java.util.TreeMap; public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator { - public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) { - super(bean, schemaVersions); - } + public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) { + super(bean, schemaVersions); + } - @Override - public Map> getNodeFiles() { + @Override + public Map> getNodeFiles() { - List files11 = new ArrayList<>(); - files11.add("src/test/resources/oxm/business_oxm_v11.xml"); + List files11 = new ArrayList<>(); + files11.add("src/test/resources/oxm/business_oxm_v11.xml"); - List files13 = new ArrayList<>(); - files13.add("src/test/resources/oxm/business_oxm_v13.xml"); - files13.add("src/test/resources/oxm/common_oxm_v13.xml"); - files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml"); - files13.add("src/test/resources/oxm/network_oxm_v13.xml"); + List files13 = new ArrayList<>(); + files13.add("src/test/resources/oxm/business_oxm_v13.xml"); + files13.add("src/test/resources/oxm/common_oxm_v13.xml"); + files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml"); + files13.add("src/test/resources/oxm/network_oxm_v13.xml"); - Map> input = new TreeMap<>(); - input.put(new SchemaVersion("v11"), files11); - input.put(schemaVersions.getDefaultVersion(), files13); - return input; - } + Map> input = new TreeMap<>(); + input.put(new SchemaVersion("v11"), files11); + input.put(schemaVersions.getDefaultVersion(), files13); + return input; + } - @Override - public Map> getEdgeFiles() { - List files = new ArrayList<>(); - files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); - Map> input = new TreeMap<>(); - input.put(schemaVersions.getDefaultVersion(), files); + @Override + public Map> getEdgeFiles() { + List files = new ArrayList<>(); + files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); + Map> input = new TreeMap<>(); + input.put(schemaVersions.getDefaultVersion(), files); - List files2 = new ArrayList<>(); - files2.add("src/test/resources/dbedgerules/test.json"); + List files2 = new ArrayList<>(); + files2.add("src/test/resources/dbedgerules/test.json"); - List files3 = new ArrayList<>(); - files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); - input.put(new SchemaVersion("v11"), files3); + List files3 = new ArrayList<>(); + files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); + input.put(new SchemaVersion("v11"), files3); - return input; - } + return input; + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java index 5117245..3cee014 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java @@ -32,28 +32,28 @@ import java.util.TreeMap; public class TestUtilConfigTranslatorforDataLink extends ConfigTranslator { - public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) { - super(bean, schemaVersions); - } - - @Override - public Map> getNodeFiles() { - - Map> input = new TreeMap<>(); - input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml")); - input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml")); - input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml")); - input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml")); - return input; - } - - @Override - public Map> getEdgeFiles() { - Map> input = new TreeMap<>(); - input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json")); - input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json")); - input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json")); - input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json")); - return input; - } + public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) { + super(bean, schemaVersions); + } + + @Override + public Map> getNodeFiles() { + + Map> input = new TreeMap<>(); + input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml")); + input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml")); + input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml")); + input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml")); + return input; + } + + @Override + public Map> getEdgeFiles() { + Map> input = new TreeMap<>(); + input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json")); + input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json")); + input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json")); + input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json")); + return input; + } } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java index 7eaa6f5..e39986f 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java @@ -32,42 +32,42 @@ import java.util.TreeMap; public class TestUtilConfigTranslatorforEdges extends ConfigTranslator { - public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) { - super(bean, schemaVersions); - } + public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) { + super(bean, schemaVersions); + } - @Override - public Map> getNodeFiles() { - List files11 = new ArrayList<>(); - files11.add("src/test/resources/oxm/business_oxm_v11.xml"); + @Override + public Map> getNodeFiles() { + List files11 = new ArrayList<>(); + files11.add("src/test/resources/oxm/business_oxm_v11.xml"); - List files13 = new ArrayList<>(); - files13.add("src/test/resources/oxm/business_oxm_v13.xml"); - files13.add("src/test/resources/oxm/common_oxm_v13.xml"); - files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml"); - files13.add("src/test/resources/oxm/network_oxm_v13.xml"); + List files13 = new ArrayList<>(); + files13.add("src/test/resources/oxm/business_oxm_v13.xml"); + files13.add("src/test/resources/oxm/common_oxm_v13.xml"); + files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml"); + files13.add("src/test/resources/oxm/network_oxm_v13.xml"); - Map> input = new TreeMap<>(); - input.put(new SchemaVersion("v11"), files11); - input.put(new SchemaVersion("v13"), files13); - return input; - } + Map> input = new TreeMap<>(); + input.put(new SchemaVersion("v11"), files11); + input.put(new SchemaVersion("v13"), files13); + return input; + } - @Override - public Map> getEdgeFiles() { - List files = new ArrayList<>(); - files.add("src/test/resources/dbedgerules/test.json"); - files.add("src/test/resources/dbedgerules/test2.json"); - Map> input = new TreeMap<>(); - input.put(schemaVersions.getDefaultVersion(), files); + @Override + public Map> getEdgeFiles() { + List files = new ArrayList<>(); + files.add("src/test/resources/dbedgerules/test.json"); + files.add("src/test/resources/dbedgerules/test2.json"); + Map> input = new TreeMap<>(); + input.put(schemaVersions.getDefaultVersion(), files); - List files2 = new ArrayList<>(); - files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); - input.put(new SchemaVersion("v10"), files2); - List files3 = new ArrayList<>(); - files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"); - input.put(new SchemaVersion("v11"), files3); + List files2 = new ArrayList<>(); + files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"); + input.put(new SchemaVersion("v10"), files2); + List files3 = new ArrayList<>(); + files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json"); + input.put(new SchemaVersion("v11"), files3); - return input; - } + return input; + } } -- cgit 1.2.3-korg