public static void main(String[] args) {
				
		try(FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext("classpath:applicationContext-generator-bash.xml");){
			logger.info("Context loaded");
			
			ProjectMetaData projectMetaData = buildProjectMetaData(args);
			Project project;
			
			CodeGenerator codeGenerator = appContext.getBean(CodeGenerator.class);
			
			try {
				logger.info("start loading project");
				
				ProjectLoader projectLoader = appContext.getBean(ProjectLoader.class);
				project = projectLoader.loadProject(projectMetaData);
				
				logger.info("loading project " + project.projectName + " completed");
					
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start persisting project");
				
				ProjectMetaDataService projectMetaDataService = appContext.getBean(ProjectMetaDataService.class);
				projectMetaDataService.initProjectMetaData(projectMetaData);				
				
				logger.info("persisting project completed");
					
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start copying resources");
				
				codeGenerator.initResources(project);
				
				logger.info("copying resources completed");
				
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start writing configuration");
				
				codeGenerator.initConfiguration(project);
				
				logger.info("writing configuration completed");
				
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
		}
	}
public static void main(String[] args) {
				
		try(FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext("classpath:applicationContext-generator-bash.xml");){
			logger.info("Context loaded");
			
			ProjectMetaData projectMetaData = buildProjectMetaData(args);
			Project project;
			
			CodeGenerator codeGenerator = appContext.getBean(CodeGenerator.class);
			
			try {
				logger.info("start loading project");
				
				ProjectLoader projectLoader = appContext.getBean(ProjectLoader.class);
				project = projectLoader.loadProject(projectMetaData);
				
				logger.info("loading project " + project.projectName + " completed");
					
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start persisting project");
				
				ProjectMetaDataService projectMetaDataService = appContext.getBean(ProjectMetaDataService.class);
				projectMetaDataService.initProjectMetaData(projectMetaData);				
				
				logger.info("persisting project completed");
					
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start copying resources");
				
				codeGenerator.initResources(project);
				
				logger.info("copying resources completed");
				
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
			
			try {
				logger.info("start writing configuration");
				
				codeGenerator.initConfiguration(project);
				
				logger.info("writing configuration completed");
				
			} catch (Exception e) {
				logger.error("failed", e);
				return;
			}
		}
	}
public static void main ( String [ ] args ) { try ( FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext ( "classpath:applicationContext-generator-bash.xml" ) ; ) { logger . info ( "Context loaded" ) ; ProjectMetaData projectMetaData = buildProjectMetaData ( args ) ; Project project ; CodeGenerator codeGenerator = appContext . getBean ( CodeGenerator . class ) ; try { logger . info ( "start loading project" ) ; ProjectLoader projectLoader = appContext . getBean ( ProjectLoader . class ) ; project = projectLoader . loadProject ( projectMetaData ) ; logger . info ( "loading project " + project . projectName + " completed" ) ; } catch ( Exception e ) { logger . error ( "failed" , e ) ; return ; } try { logger . info ( "start persisting project" ) ; ProjectMetaDataService projectMetaDataService = appContext . getBean ( ProjectMetaDataService . class ) ; projectMetaDataService . initProjectMetaData ( projectMetaData ) ; logger . info ( "persisting project completed" ) ; } catch ( Exception e ) { logger . error ( "failed" , e ) ; return ; } try { logger . info ( "start copying resources" ) ; codeGenerator . initResources ( project ) ; logger . info ( "copying resources completed" ) ; } catch ( Exception e ) { logger . error ( "failed" , e ) ; return ; } try { logger . info ( "start writing configuration" ) ; codeGenerator . initConfiguration ( project ) ; logger . info ( "writing configuration completed" ) ; } catch ( Exception e ) { logger . error ( "failed" , e ) ; return ; } } }
main method to be executed
@param args 0->the workspace folder where to put the "data-model" folder
@param args 1->the domain name of your project (org.foo for example)
@param args 2->your project name(myproject for example)
@param args 3->the skeleton type of your project @see SkeletonType
@param args 4->the database engine to be used @see DatabaseEngine
@param args 5->your database name (MYDATABASE for example)
@param args 6->your database hostname
@param args 7->your database port
@param args 8->your database connection username
@param args 9->your database connection password
@param args 10->a boolean string representation (True/False) to indicate whereas you want to activate hibernate auditing functionnality or not (envers)
main method to be executed