Skip to content

Commit f408802

Browse files
authored
Merge pull request #33 from kicksolutions/add-information-to-readme
Add information to readme
2 parents 242d5b8 + ff91db9 commit f408802

File tree

6 files changed

+143
-138
lines changed

6 files changed

+143
-138
lines changed

cfg/maven/CI/deploy-nexus-artifacts.sh

Lines changed: 0 additions & 4 deletions
This file was deleted.

cfg/maven/CI/deploy.sh

Lines changed: 0 additions & 24 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.kicksolutions.swagger.plantuml.cliargs;
1+
package com.kicksolutions.swagger;
22

33
import java.util.HashMap;
44

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package com.kicksolutions.swagger;
2+
3+
import java.util.logging.Logger;
4+
5+
import org.apache.commons.lang3.StringUtils;
6+
7+
import com.kicksolutions.swagger.plantuml.PlantUMLGenerator;
8+
9+
/**
10+
* MSANTOSH
11+
*
12+
*/
13+
public class Swagger2PlantUML
14+
{
15+
private static final Logger LOGGER = Logger.getLogger(Swagger2PlantUML.class.getName());
16+
private static final String USAGE = new StringBuilder().append(" Usage: com.kicksolutions.swagger.plantuml.Swagger2PlantUML <options> \n")
17+
.append(" -i <spec file> ")
18+
.append(" -o <output directory> ")
19+
.append(" -generateDefinitionModelOnly true/false; Default=false ")
20+
.append(" -includeCardinality true/false; Default=true ")
21+
.append(" -generateSvg true/false; Default=true ").toString();
22+
23+
public Swagger2PlantUML() {
24+
super();
25+
}
26+
27+
/**
28+
*
29+
* @param args
30+
*/
31+
public static void main( String[] args )
32+
{
33+
Swagger2PlantUML swagger2PlantUML = new Swagger2PlantUML();
34+
swagger2PlantUML.init(args);
35+
}
36+
37+
/**
38+
*
39+
* @param args
40+
*/
41+
private void init(String args[]){
42+
LOGGER.entering(LOGGER.getName(), "init");
43+
44+
CliArgs cliArgs = new CliArgs(args);
45+
String specFile = cliArgs.getArgumentValue("-i", "");
46+
String output = cliArgs.getArgumentValue("-o","");
47+
boolean generateDefinitionModelOnly = Boolean.parseBoolean(cliArgs.getArgumentValue("-generateDefinitionModelOnly","false"));
48+
boolean includeCardinality = Boolean.parseBoolean(cliArgs.getArgumentValue("-includeCardinality","true"));
49+
boolean generateSvg = Boolean.parseBoolean(cliArgs.getArgumentValue("-generateSvg", "true"));
50+
51+
if(StringUtils.isNotEmpty(specFile) && StringUtils.isNotEmpty(output)){
52+
process(specFile, output,generateDefinitionModelOnly,includeCardinality,generateSvg);
53+
}
54+
else{
55+
LOGGER.severe(USAGE);
56+
}
57+
58+
LOGGER.exiting(LOGGER.getName(), "init");
59+
}
60+
61+
/**
62+
*
63+
* @param specFile
64+
* @param output
65+
*/
66+
private void process(String specFile,String output,boolean generateDefinitionModelOnly,boolean includeCardinality,boolean generateSvg){
67+
PlantUMLGenerator generator = new PlantUMLGenerator();
68+
generator.transformSwagger2Puml(specFile, output, generateDefinitionModelOnly, includeCardinality, generateSvg);
69+
}
70+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.kicksolutions.swagger.plantuml;
2+
3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.util.logging.Level;
6+
import java.util.logging.Logger;
7+
8+
import io.swagger.models.Swagger;
9+
import io.swagger.parser.SwaggerParser;
10+
11+
/**
12+
* MSANTOSH
13+
*
14+
*/
15+
public class PlantUMLGenerator
16+
{
17+
private static final Logger LOGGER = Logger.getLogger(PlantUMLGenerator.class.getName());
18+
19+
public PlantUMLGenerator() {
20+
super();
21+
}
22+
23+
/**
24+
*
25+
* @param specFile
26+
* @param output
27+
*/
28+
public void transformSwagger2Puml(String specFile,String output,boolean generateDefinitionModelOnly,boolean includeCardinality,boolean generateSvg){
29+
LOGGER.entering(LOGGER.getName(), "transformSwagger2Puml");
30+
31+
File swaggerSpecFile = new File(specFile);
32+
File targetLocation = new File(output);
33+
34+
if(swaggerSpecFile.exists() && !swaggerSpecFile.isDirectory()
35+
&& targetLocation.exists() && targetLocation.isDirectory()) {
36+
37+
Swagger swaggerObject = new SwaggerParser().read(swaggerSpecFile.getAbsolutePath());
38+
PlantUMLCodegen codegen = new PlantUMLCodegen(swaggerObject, targetLocation, generateDefinitionModelOnly, includeCardinality);
39+
String pumlPath = null;
40+
41+
try{
42+
LOGGER.info("Processing File --> "+ specFile);
43+
pumlPath = codegen.generatePuml();
44+
LOGGER.info("Sucessfully Create PUML !!!");
45+
46+
if(generateSvg)
47+
{
48+
generateUMLDiagram(pumlPath, targetLocation);
49+
}
50+
}
51+
catch(Exception e){
52+
LOGGER.log(Level.SEVERE, e.getMessage(),e);
53+
throw new RuntimeException(e);
54+
}
55+
}else{
56+
throw new RuntimeException("Spec File or Ouput Locations are not valid");
57+
}
58+
59+
LOGGER.exiting(LOGGER.getName(), "transformSwagger2Puml");
60+
}
61+
62+
/**
63+
*
64+
* @param pumlLocation
65+
* @param targetLocation
66+
* @throws IOException
67+
* @throws InterruptedException
68+
*/
69+
private void generateUMLDiagram(String pumlLocation,File targetLocation) throws IOException, InterruptedException{
70+
net.sourceforge.plantuml.Run.main(new String[]{"-tsvg","-o",targetLocation.getAbsolutePath(),"-I",pumlLocation});
71+
}
72+
}

swagger2puml-core/src/main/java/com/kicksolutions/swagger/plantuml/Swagger2PlantUML.java

Lines changed: 0 additions & 109 deletions
This file was deleted.

0 commit comments

Comments
 (0)