From cace8792ca62535f60f63b3beabe03e701328d4d Mon Sep 17 00:00:00 2001 From: Santosh Manapragada Date: Wed, 20 Dec 2017 10:17:29 +0530 Subject: [PATCH 1/2] Remove *.sh files theyare not required, travil can handle better --- cfg/maven/CI/deploy-nexus-artifacts.sh | 4 ---- cfg/maven/CI/deploy.sh | 24 ------------------------ 2 files changed, 28 deletions(-) delete mode 100755 cfg/maven/CI/deploy-nexus-artifacts.sh delete mode 100755 cfg/maven/CI/deploy.sh diff --git a/cfg/maven/CI/deploy-nexus-artifacts.sh b/cfg/maven/CI/deploy-nexus-artifacts.sh deleted file mode 100755 index c82aeb2..0000000 --- a/cfg/maven/CI/deploy-nexus-artifacts.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -ev - -echo "on a tag -> set pom.xml to $TRAVIS_TAG" \ No newline at end of file diff --git a/cfg/maven/CI/deploy.sh b/cfg/maven/CI/deploy.sh deleted file mode 100755 index 03793e8..0000000 --- a/cfg/maven/CI/deploy.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -set -ev - -# only do deployment, when travis detects a new tag -if [ ! -z "$TRAVIS_TAG" ] -then - echo "on a tag -> set pom.xml to $TRAVIS_TAG" - mvn --settings cfg/maven/CI/settings.xml org.codehaus.mojo:versions-maven-plugin:2.3:set -DnewVersion=$TRAVIS_TAG -Prelease - - if [ ! -z "$TRAVIS" -a -f "$HOME/.gnupg" ]; then - shred -v ~/.gnupg/* - rm -rf ~/.gnupg - fi - - mvn deploy --settings cfg/maven/CI/settings.xml -DskipTests=true --batch-mode --update-snapshots -Prelease - - if [ ! -z "$TRAVIS" ]; then - shred -v ~/.gnupg/* - rm -rf ~/.gnupg - fi -else - echo "not on a tag -> keep snapshot version in pom.xml" -fi \ No newline at end of file From ff91db924ce6a06056a46e37e5dc902f345d9466 Mon Sep 17 00:00:00 2001 From: Santosh Manapragada Date: Wed, 20 Dec 2017 11:07:36 +0530 Subject: [PATCH 2/2] Added new CLI --- .../{plantuml/cliargs => }/CliArgs.java | 2 +- .../swagger/Swagger2PlantUML.java | 70 +++++++++++ .../swagger/plantuml/PlantUMLGenerator.java | 72 ++++++++++++ .../swagger/plantuml/Swagger2PlantUML.java | 109 ------------------ 4 files changed, 143 insertions(+), 110 deletions(-) rename swagger2puml-core/src/main/java/com/kicksolutions/swagger/{plantuml/cliargs => }/CliArgs.java (91%) create mode 100644 swagger2puml-core/src/main/java/com/kicksolutions/swagger/Swagger2PlantUML.java create mode 100644 swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/PlantUMLGenerator.java delete mode 100644 swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/Swagger2PlantUML.java diff --git a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/cliargs/CliArgs.java b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/CliArgs.java similarity index 91% rename from swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/cliargs/CliArgs.java rename to swagger2puml-core/src/main/java/com/kicksolutions/swagger/CliArgs.java index f9413d9..ace747f 100644 --- a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/cliargs/CliArgs.java +++ b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/CliArgs.java @@ -1,4 +1,4 @@ -package com.kicksolutions.swagger.plantuml.cliargs; +package com.kicksolutions.swagger; import java.util.HashMap; diff --git a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/Swagger2PlantUML.java b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/Swagger2PlantUML.java new file mode 100644 index 0000000..5864d17 --- /dev/null +++ b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/Swagger2PlantUML.java @@ -0,0 +1,70 @@ +package com.kicksolutions.swagger; + +import java.util.logging.Logger; + +import org.apache.commons.lang3.StringUtils; + +import com.kicksolutions.swagger.plantuml.PlantUMLGenerator; + +/** + * MSANTOSH + * + */ +public class Swagger2PlantUML +{ + private static final Logger LOGGER = Logger.getLogger(Swagger2PlantUML.class.getName()); + private static final String USAGE = new StringBuilder().append(" Usage: com.kicksolutions.swagger.plantuml.Swagger2PlantUML \n") + .append(" -i ") + .append(" -o ") + .append(" -generateDefinitionModelOnly true/false; Default=false ") + .append(" -includeCardinality true/false; Default=true ") + .append(" -generateSvg true/false; Default=true ").toString(); + + public Swagger2PlantUML() { + super(); + } + + /** + * + * @param args + */ + public static void main( String[] args ) + { + Swagger2PlantUML swagger2PlantUML = new Swagger2PlantUML(); + swagger2PlantUML.init(args); + } + + /** + * + * @param args + */ + private void init(String args[]){ + LOGGER.entering(LOGGER.getName(), "init"); + + CliArgs cliArgs = new CliArgs(args); + String specFile = cliArgs.getArgumentValue("-i", ""); + String output = cliArgs.getArgumentValue("-o",""); + boolean generateDefinitionModelOnly = Boolean.parseBoolean(cliArgs.getArgumentValue("-generateDefinitionModelOnly","false")); + boolean includeCardinality = Boolean.parseBoolean(cliArgs.getArgumentValue("-includeCardinality","true")); + boolean generateSvg = Boolean.parseBoolean(cliArgs.getArgumentValue("-generateSvg", "true")); + + if(StringUtils.isNotEmpty(specFile) && StringUtils.isNotEmpty(output)){ + process(specFile, output,generateDefinitionModelOnly,includeCardinality,generateSvg); + } + else{ + LOGGER.severe(USAGE); + } + + LOGGER.exiting(LOGGER.getName(), "init"); + } + + /** + * + * @param specFile + * @param output + */ + private void process(String specFile,String output,boolean generateDefinitionModelOnly,boolean includeCardinality,boolean generateSvg){ + PlantUMLGenerator generator = new PlantUMLGenerator(); + generator.transformSwagger2Puml(specFile, output, generateDefinitionModelOnly, includeCardinality, generateSvg); + } +} \ No newline at end of file diff --git a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/PlantUMLGenerator.java b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/PlantUMLGenerator.java new file mode 100644 index 0000000..d26c3ea --- /dev/null +++ b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/PlantUMLGenerator.java @@ -0,0 +1,72 @@ +package com.kicksolutions.swagger.plantuml; + +import java.io.File; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +import io.swagger.models.Swagger; +import io.swagger.parser.SwaggerParser; + +/** + * MSANTOSH + * + */ +public class PlantUMLGenerator +{ + private static final Logger LOGGER = Logger.getLogger(PlantUMLGenerator.class.getName()); + + public PlantUMLGenerator() { + super(); + } + + /** + * + * @param specFile + * @param output + */ + public void transformSwagger2Puml(String specFile,String output,boolean generateDefinitionModelOnly,boolean includeCardinality,boolean generateSvg){ + LOGGER.entering(LOGGER.getName(), "transformSwagger2Puml"); + + File swaggerSpecFile = new File(specFile); + File targetLocation = new File(output); + + if(swaggerSpecFile.exists() && !swaggerSpecFile.isDirectory() + && targetLocation.exists() && targetLocation.isDirectory()) { + + Swagger swaggerObject = new SwaggerParser().read(swaggerSpecFile.getAbsolutePath()); + PlantUMLCodegen codegen = new PlantUMLCodegen(swaggerObject, targetLocation, generateDefinitionModelOnly, includeCardinality); + String pumlPath = null; + + try{ + LOGGER.info("Processing File --> "+ specFile); + pumlPath = codegen.generatePuml(); + LOGGER.info("Sucessfully Create PUML !!!"); + + if(generateSvg) + { + generateUMLDiagram(pumlPath, targetLocation); + } + } + catch(Exception e){ + LOGGER.log(Level.SEVERE, e.getMessage(),e); + throw new RuntimeException(e); + } + }else{ + throw new RuntimeException("Spec File or Ouput Locations are not valid"); + } + + LOGGER.exiting(LOGGER.getName(), "transformSwagger2Puml"); + } + + /** + * + * @param pumlLocation + * @param targetLocation + * @throws IOException + * @throws InterruptedException + */ + private void generateUMLDiagram(String pumlLocation,File targetLocation) throws IOException, InterruptedException{ + net.sourceforge.plantuml.Run.main(new String[]{"-tsvg","-o",targetLocation.getAbsolutePath(),"-I",pumlLocation}); + } +} \ No newline at end of file diff --git a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/Swagger2PlantUML.java b/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/Swagger2PlantUML.java deleted file mode 100644 index 8cb3d80..0000000 --- a/swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/Swagger2PlantUML.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.kicksolutions.swagger.plantuml; - -import java.io.File; -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.commons.lang3.StringUtils; - -import com.kicksolutions.swagger.plantuml.cliargs.CliArgs; - -import io.swagger.models.Swagger; -import io.swagger.parser.SwaggerParser; - -/** - * MSANTOSH - * - */ -public class Swagger2PlantUML -{ - private static final Logger LOGGER = Logger.getLogger(Swagger2PlantUML.class.getName()); - private static final String USAGE = new StringBuilder().append(" Usage: com.kicksolutions.swagger.plantuml.Swagger2PlantUML \n") - .append(" -i ") - .append(" -o ").toString(); - - public Swagger2PlantUML() { - super(); - } - - /** - * - * @param args - */ - public static void main( String[] args ) - { - Swagger2PlantUML swagger2PlantUML = new Swagger2PlantUML(); - swagger2PlantUML.init(args); - } - - /** - * - * @param args - */ - private void init(String args[]){ - LOGGER.entering(LOGGER.getName(), "init"); - - CliArgs cliArgs = new CliArgs(args); - String specFile = cliArgs.getArgumentValue("-i", ""); - String output = cliArgs.getArgumentValue("-o",""); - boolean generateDefinitionModelOnly = Boolean.parseBoolean(cliArgs.getArgumentValue("generateDefinitionModelOnly","false")); - boolean includeCardinality = Boolean.parseBoolean(cliArgs.getArgumentValue("includeCardinality","true")); - - if(StringUtils.isNotEmpty(specFile) && StringUtils.isNotEmpty(output)){ - transformSwagger2Puml(specFile, output,generateDefinitionModelOnly,includeCardinality); - } - else{ - LOGGER.severe(USAGE); - } - - LOGGER.exiting(LOGGER.getName(), "init"); - } - - /** - * - * @param specFile - * @param output - */ - private void transformSwagger2Puml(String specFile,String output,boolean generateDefinitionModelOnly,boolean includeCardinality){ - LOGGER.entering(LOGGER.getName(), "transformSwagger2Puml"); - - File swaggerSpecFile = new File(specFile); - File targetLocation = new File(output); - - if(swaggerSpecFile.exists() && !swaggerSpecFile.isDirectory() - && targetLocation.exists() && targetLocation.isDirectory()) { - - Swagger swaggerObject = new SwaggerParser().read(swaggerSpecFile.getAbsolutePath()); - PlantUMLCodegen codegen = new PlantUMLCodegen(swaggerObject, targetLocation, generateDefinitionModelOnly, includeCardinality); - String pumlPath = null; - - try{ - LOGGER.info("Processing File --> "+ specFile); - pumlPath = codegen.generatePuml(); - LOGGER.info("Sucessfully Create PUML !!!"); - - generateUMLDiagram(pumlPath, targetLocation); - } - catch(Exception e){ - LOGGER.log(Level.SEVERE, e.getMessage(),e); - throw new RuntimeException(e); - } - }else{ - LOGGER.severe(USAGE); - } - - LOGGER.exiting(LOGGER.getName(), "transformSwagger2Puml"); - } - - /** - * - * @param pumlLocation - * @param targetLocation - * @throws IOException - * @throws InterruptedException - */ - private void generateUMLDiagram(String pumlLocation,File targetLocation) throws IOException, InterruptedException{ - net.sourceforge.plantuml.Run.main(new String[]{"-tsvg","-o",targetLocation.getAbsolutePath(),"-I",pumlLocation}); - } -} \ No newline at end of file