Skip to content

Instantly share code, notes, and snippets.

@Nava2
Created March 20, 2015 18:27
Show Gist options
  • Save Nava2/d5c3437c6288470d0791 to your computer and use it in GitHub Desktop.
Save Nava2/d5c3437c6288470d0791 to your computer and use it in GitHub Desktop.
/*PLEASE DO NOT EDIT THIS CODE*/
/*This code was generated using the UMPLE 1.22.0.5146 modeling language!*/
package cruise.umple;
import cruise.umple.compiler.UmpleFile;
import cruise.umple.validator.*;
/**
* @umplesource Main.ump 3
*/
// line 3 "../../../src/Main.ump"
public class CodeGenValidatorMainConsole
{
//------------------------
// MEMBER VARIABLES
//------------------------
//------------------------
// CONSTRUCTOR
//------------------------
public CodeGenValidatorMainConsole()
{}
//------------------------
// INTERFACE
//------------------------
public void delete()
{}
// line 11 "../../../src/Main.ump"
public static void main(String [] args){
Thread.currentThread().setUncaughtExceptionHandler(new UmpleExceptionHandler());
Thread.setDefaultUncaughtExceptionHandler(new UmpleExceptionHandler());
if (args != null && args.length== 2){
UmpleFile uFile = new UmpleFile(args[1]);
String lang = args[0];
boolean isJava = lang.contains("java") ? true : false;
if (isJava) {
JavaCodeGenValidator java_validator = new JavaCodeGenValidator();
console = java_validator.validateGeneratedCode(uFile) ? "Success!":"Error" ;
}
else {
CPPCodeGenValidator cpp_validator = new CPPCodeGenValidator();
console = cpp_validator.validateGeneratedCode(uFile) ? "Success!":"Error" ;
}
System.out.print(console);
}
else {
printUsage();
}
}
// line 31 "../../../src/Main.ump"
private static void printUsage(){
console = "Usage: java -jar umplevalidator.jar [-java |-cpp] <umple_file>\nExample: java -jar umplevalidator.jar -j test.ump";
System.out.println(console);
}
//------------------------
// DEVELOPER CODE - PROVIDED AS-IS
//------------------------
// line 8 ../../../src/Main.ump
public static String console ;
public static class UmpleExceptionHandler implements Thread.UncaughtExceptionHandler
{
public void uncaughtException(Thread t, Throwable e)
{
translate(e);
if(e.getCause()!=null)
{
translate(e.getCause());
}
e.printStackTrace();
}
public void translate(Throwable e)
{
java.util.List<StackTraceElement> result = new java.util.ArrayList<StackTraceElement>();
StackTraceElement[] elements = e.getStackTrace();
try
{
for(StackTraceElement element:elements)
{
String className = element.getClassName();
String methodName = element.getMethodName();
boolean methodFound = false;
int index = className.lastIndexOf('.')+1;
try {
java.lang.reflect.Method query = this.getClass().getMethod(className.substring(index)+"_"+methodName,new Class[]{});
UmpleSourceData sourceInformation = (UmpleSourceData)query.invoke(this,new Object[]{});
for(int i=0;i<sourceInformation.size();++i)
{
int distanceFromStart = element.getLineNumber()-sourceInformation.getJavaLine(i)-(("main".equals(methodName))?2:0);
if(distanceFromStart>=0&&distanceFromStart<=sourceInformation.getLength(i))
{
result.add(new StackTraceElement(element.getClassName(),element.getMethodName(),sourceInformation.getFileName(i),sourceInformation.getUmpleLine(i)+distanceFromStart));
methodFound = true;
break;
}
}
}
catch (Exception e2){}
if(!methodFound)
{
result.add(element);
}
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
e.setStackTrace(result.toArray(new StackTraceElement[0]));
}
//The following methods Map Java lines back to their original Umple file / line
public UmpleSourceData CodeGenValidatorMainConsole_main(){ return new UmpleSourceData().setFileNames("Main.ump").setUmpleLines(10).setJavaLines(33).setLengths(3);}
public UmpleSourceData CodeGenValidatorMainConsole_printUsage(){ return new UmpleSourceData().setFileNames("Main.ump").setUmpleLines(30).setJavaLines(56).setLengths(3);}
public UmpleSourceData CodeGenValidator_getLanguageFor(){ return new UmpleSourceData().setFileNames("CodeGenValidator.ump").setUmpleLines(12).setJavaLines(35).setLengths(2);}
public UmpleSourceData JavaCodeGenValidator_getOutputString(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(50).setJavaLines(74).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_parse(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(65).setJavaLines(90).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_getUmpleSourceLine(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(78).setJavaLines(104).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_validateGeneratedCode(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(23).setJavaLines(46).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_getOutputString(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(49).setJavaLines(73).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_parse(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(64).setJavaLines(89).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_validateGeneratedCode(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(20).setJavaLines(43).setLengths(3);}
public UmpleSourceData UmpleEcoreValidator_UmpleEcoreValidator(){ return new UmpleSourceData().setFileNames("../../../../src/Validator_Ecore.ump").setUmpleLines(24).setJavaLines(48).setLengths(4);}
public UmpleSourceData UmpleEcoreValidator_validate(){ return new UmpleSourceData().setFileNames("Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump").setUmpleLines(32, 52, 69, 87, 100).setJavaLines(74, 98, 119, 141, 155).setLengths(3, 3, 3, 3, 3);}
}
public static class UmpleSourceData
{
String[] umpleFileNames;
Integer[] umpleLines;
Integer[] umpleJavaLines;
Integer[] umpleLengths;
public UmpleSourceData(){
}
public String getFileName(int i){
return umpleFileNames[i];
}
public Integer getUmpleLine(int i){
return umpleLines[i];
}
public Integer getJavaLine(int i){
return umpleJavaLines[i];
}
public Integer getLength(int i){
return umpleLengths[i];
}
public UmpleSourceData setFileNames(String... filenames){
umpleFileNames = filenames;
return this;
}
public UmpleSourceData setUmpleLines(Integer... umplelines){
umpleLines = umplelines;
return this;
}
public UmpleSourceData setJavaLines(Integer... javalines){
umpleJavaLines = javalines;
return this;
}
public UmpleSourceData setLengths(Integer... lengths){
umpleLengths = lengths;
return this;
}
public int size(){
return umpleFileNames.length;
}
}
}
/*PLEASE DO NOT EDIT THIS CODE*/
/*This code was generated using the UMPLE 1.22.0.5146 modeling language!*/
/*********
* GENERATED VIA <umplec>
*/
package cruise.umple;
import cruise.umple.compiler.UmpleFile;
import cruise.umple.validator.*;
/**
* @umplesource Main.ump 3
*/
// line 3 "../../../src/Main.ump"
public class CodeGenValidatorMainConsole
{
//------------------------
// MEMBER VARIABLES
//------------------------
//------------------------
// CONSTRUCTOR
//------------------------
public CodeGenValidatorMainConsole()
{}
//------------------------
// INTERFACE
//------------------------
public void delete()
{}
// line 11 "../../../src/Main.ump"
public static void main(String [] args){
Thread.currentThread().setUncaughtExceptionHandler(new cruise.umple.docs.DocumenterMain.UmpleExceptionHandler());
Thread.setDefaultUncaughtExceptionHandler(new cruise.umple.docs.DocumenterMain.UmpleExceptionHandler());
if (args != null && args.length== 2){
UmpleFile uFile = new UmpleFile(args[1]);
String lang = args[0];
boolean isJava = lang.contains("java") ? true : false;
if (isJava) {
JavaCodeGenValidator java_validator = new JavaCodeGenValidator();
console = java_validator.validateGeneratedCode(uFile) ? "Success!":"Error" ;
}
else {
CPPCodeGenValidator cpp_validator = new CPPCodeGenValidator();
console = cpp_validator.validateGeneratedCode(uFile) ? "Success!":"Error" ;
}
System.out.print(console);
}
else {
printUsage();
}
}
// line 31 "../../../src/Main.ump"
private static void printUsage(){
console = "Usage: java -jar umplevalidator.jar [-java |-cpp] <umple_file>\nExample: java -jar umplevalidator.jar -j test.ump";
System.out.println(console);
}
//------------------------
// DEVELOPER CODE - PROVIDED AS-IS
//------------------------
// line 8 ../../../src/Main.ump
public static String console ;
}
public static class UmpleExceptionHandler implements Thread.UncaughtExceptionHandler
{
public void uncaughtException(Thread t, Throwable e)
{
translate(e);
if(e.getCause()!=null)
{
translate(e.getCause());
}
e.printStackTrace();
}
public void translate(Throwable e)
{
java.util.List<StackTraceElement> result = new java.util.ArrayList<StackTraceElement>();
StackTraceElement[] elements = e.getStackTrace();
try
{
for(StackTraceElement element:elements)
{
String className = element.getClassName();
String methodName = element.getMethodName();
boolean methodFound = false;
int index = className.lastIndexOf('.')+1;
try {
java.lang.reflect.Method query = this.getClass().getMethod(className.substring(index)+"_"+methodName,new Class[]{});
UmpleSourceData sourceInformation = (UmpleSourceData)query.invoke(this,new Object[]{});
for(int i=0;i<sourceInformation.size();++i)
{
int distanceFromStart = element.getLineNumber()-sourceInformation.getJavaLine(i)-(("main".equals(methodName))?2:0);
if(distanceFromStart>=0&&distanceFromStart<=sourceInformation.getLength(i))
{
result.add(new StackTraceElement(element.getClassName(),element.getMethodName(),sourceInformation.getFileName(i),sourceInformation.getUmpleLine(i)+distanceFromStart));
methodFound = true;
break;
}
}
}
catch (Exception e2){}
if(!methodFound)
{
result.add(element);
}
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
e.setStackTrace(result.toArray(new StackTraceElement[0]));
}
//The following methods Map Java lines back to their original Umple file / line
public UmpleSourceData CodeGenValidatorMainConsole_main(){ return new UmpleSourceData().setFileNames("Main.ump").setUmpleLines(10).setJavaLines(33).setLengths(3);}
public UmpleSourceData CodeGenValidatorMainConsole_printUsage(){ return new UmpleSourceData().setFileNames("Main.ump").setUmpleLines(30).setJavaLines(56).setLengths(3);}
public UmpleSourceData CodeGenValidator_getLanguageFor(){ return new UmpleSourceData().setFileNames("CodeGenValidator.ump").setUmpleLines(12).setJavaLines(35).setLengths(2);}
public UmpleSourceData JavaCodeGenValidator_getOutputString(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(50).setJavaLines(74).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_parse(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(65).setJavaLines(90).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_getUmpleSourceLine(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(78).setJavaLines(104).setLengths(3);}
public UmpleSourceData JavaCodeGenValidator_validateGeneratedCode(){ return new UmpleSourceData().setFileNames("Validator_CodeGenJava.ump").setUmpleLines(23).setJavaLines(46).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_getOutputString(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(49).setJavaLines(73).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_parse(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(64).setJavaLines(89).setLengths(3);}
public UmpleSourceData CPPCodeGenValidator_validateGeneratedCode(){ return new UmpleSourceData().setFileNames("Validator_CodeGenCPP.ump").setUmpleLines(20).setJavaLines(43).setLengths(3);}
public UmpleSourceData UmpleEcoreValidator_UmpleEcoreValidator(){ return new UmpleSourceData().setFileNames("../../../../src/Validator_Ecore.ump").setUmpleLines(24).setJavaLines(48).setLengths(4);}
public UmpleSourceData UmpleEcoreValidator_validate(){ return new UmpleSourceData().setFileNames("Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump"," Validator_Ecore.ump").setUmpleLines(32, 52, 69, 87, 100).setJavaLines(74, 98, 119, 141, 155).setLengths(3, 3, 3, 3, 3);}
}
public static class UmpleSourceData
{
String[] umpleFileNames;
Integer[] umpleLines;
Integer[] umpleJavaLines;
Integer[] umpleLengths;
public UmpleSourceData(){
}
public String getFileName(int i){
return umpleFileNames[i];
}
public Integer getUmpleLine(int i){
return umpleLines[i];
}
public Integer getJavaLine(int i){
return umpleJavaLines[i];
}
public Integer getLength(int i){
return umpleLengths[i];
}
public UmpleSourceData setFileNames(String... filenames){
umpleFileNames = filenames;
return this;
}
public UmpleSourceData setUmpleLines(Integer... umplelines){
umpleLines = umplelines;
return this;
}
public UmpleSourceData setJavaLines(Integer... javalines){
umpleJavaLines = javalines;
return this;
}
public UmpleSourceData setLengths(Integer... lengths){
umpleLengths = lengths;
return this;
}
public int size(){
return umpleFileNames.length;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment