litesoft
@ 947
litesoft / trunk / Java / PoVoGenerator / Generator / src / org / litesoft / generator / VoPoGenerator.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.generator; import java.io.*; import java.util.*; import org.litesoft.aokeyhole.*; import org.litesoft.aokeyhole.objects.*; import org.litesoft.aokeyhole.objects.factories.a6plus.*; import org.litesoft.aokeyhole.swing.mains.a6plus.*; import org.litesoft.codegen.*; public class VoPoGenerator extends AbstractSourceCodeFileGenerator implements A6plusTypes { public static void main( String[] args ) throws Exception { AbstractMain zKeyHole = new A6plusViewer( args ); System.out.println( "VO & PO Generator vs: " + zKeyHole.getVersion() + "\n" ); Map<String, ObjectRef> zObjectRefs = new HashMap<String, ObjectRef>(); List<SourceCodeGenerator> zGenCollector = new ArrayList<SourceCodeGenerator>(); ErrorCollector errors = new ErrorCollector(); ObjectMetaData[] zObjectMetaDatas = zKeyHole.getSystemMetaData().getSortedObjectMetaDatas(); for ( ObjectMetaData zObject : zObjectMetaDatas ) { String zObjectType = zObject.getObjectSet().getType(); if ( TYPE_VIEW_OBJECT.equals( zObjectType ) ) { new VOGenerator( errors, zGenCollector, zObjectRefs, zObject ).generate(); } else if ( TYPE_PO.equals( zObjectType ) || TYPE_BRIDGE.equals( zObjectType ) || TYPE_VARIABLE_TO_ONE_BRIDGE.equals( zObjectType ) || // TYPE_COMMON_PAIRED_PO.equals( zObjectType ) || TYPE_PAIRED_PO.equals( zObjectType ) ) { new POGenerator( errors, zGenCollector, zObjectRefs, zObject ).generate(); } } exitOnErrors( errors ); GenerationReport zReport = new GenerationReport(); for ( SourceCodeGenerator zGenerator : zGenCollector ) { File zFile = new File( zGenerator.getExternalReference() ); zReport.add( zGenerator.getReportingType(), // writeChangedFile( zGenerator.isOverwrite() || !zFile.exists(), zFile, zGenerator.toString() ) ); } System.out.println( "\n" + zReport ); GenerationReport.TypeReport zTypeReport = zReport.getReportFor( "View Object" ); if ( zTypeReport.getCreated() != 0 ) { System.out.println( "\n\n************* VOs Created! Don't forget to create the DataProviders and register them with the appropriate MetaDataRegistry *************" ); } zTypeReport = zReport.getReportFor( "Persisted Object" ); if ( zTypeReport.getCreated() != 0 ) { System.out.println( "\n\n************* POs Created! Don't forget to register them with the appropriate MetaDataRegistry *************" ); } if ( zTypeReport.getWrote() != 0 ) { System.out.println( "\n\n******* POs Changed! Don't forget to \"Refresh\" the Database ******" ); } } protected static void exitOnErrors( ErrorCollector errors ) throws Exception { if ( errors.hasErrors() ) { errors.dumpErrors(); Thread.sleep( 250 ); System.exit( 1 ); } } } |