@@ -49,137 +49,15 @@ public void generate() throws RenderException, ParseException {
4949
5050 try {
5151 TemplarContext templarContext = getDefaultTemplarContext ();
52- generateTables (templarContext );
53- generateViews (templarContext );
52+ generateDatabaseTestBase (templarContext );
5453 } catch (FunctionException fex ) {
5554 throw new RenderException ("Could not instantiate the function." , fex );
5655 }
57-
5856 }
5957
60- private void generateTables (TemplarContext templarContext ) throws ParseException , RenderException {
61- Parser javaCreateConstantsParser = getParser ("/java-create-constants.templar" );
62-
63- // The model
64- Parser javaCreateModelParser = getParser ("/java-create-model.templar" );
65- Parser javaCreateModelStatisticsParser = getParser ("/java-create-model-statistics.templar" );
66-
67- // The table actions
68- Parser javaCreateFinderParser = getParser ("/java-create-finder.templar" );
69- Parser javaCreateInserterParser = getParser ("/java-create-inserter.templar" );
70- Parser javaCreateCounterParser = getParser ("/java-create-counter.templar" );
71- Parser javaCreateQuestionParser = getParser ("/java-create-question.templar" );
72- Parser javaCreateUpdaterParser = getParser ("/java-create-updater.templar" );
73- Parser javaCreateDeleterParser = getParser ("/java-create-deleter.templar" );
74- Parser javaCreateUpserterParser = getParser ("/java-create-upserter.templar" );
75-
76- // the select clause bean
77- Parser javaCreateSelectClauseBeanParser = getParser ("/java-create-select-clause-bean.templar" );
78-
58+ private void generateDatabaseTestBase (TemplarContext templarContext ) throws ParseException , RenderException {
59+ Parser javaGenerateDatabaseTestBaseParser = getParser ("/tests/java-sqlite3-database-test-base.templar" );
7960 String pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/model/util/Constants.java" ;
80- renderToFile (templarContext , javaCreateConstantsParser , pathname );
81-
82- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/model/util/Statistics.java" ;
83- renderToFile (templarContext , javaCreateModelStatisticsParser , pathname );
84-
85- // now for the tables
86- List <Table > tables = database .getTables ();
87-
88- for (Table table : tables ) {
89- templarContext .add ("table" , table );
90- SimpleLogger .logInfo (LoggerType .GENERATE_JAVA , "Generating for table '" + table .getName () + "'." );
91-
92- // the model
93- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/model/" + table .getJavaClassName () + ".java" ;
94- renderToFile (templarContext , javaCreateModelParser , pathname );
95-
96- // the finder
97- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/finder/" + table .getJavaClassName () + "Finder.java" ;
98- renderToFile (templarContext , javaCreateFinderParser , pathname );
99-
100- if (!table .getIsConstant ()) {
101- // the inserter
102- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/inserter/" + table .getJavaClassName () + "Inserter.java" ;
103- renderToFile (templarContext , javaCreateInserterParser , pathname );
104-
105- // the upserter
106- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/upserter/" + table .getJavaClassName () + "Upserter.java" ;
107- renderToFile (templarContext , javaCreateUpserterParser , pathname );
108- }
109-
110-
111- // the counters
112- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/counter/" + table .getJavaClassName () + "Counter.java" ;
113- renderToFile (templarContext , javaCreateCounterParser , pathname );
114-
115- // the questions - we always have an internal question
116- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/question/" + table .getJavaClassName () + "Question.java" ;
117- renderToFile (templarContext , javaCreateQuestionParser , pathname );
118-
119- List <Finder > finders = table .getFinders ();
120-
121- for (Finder finder : finders ) {
122- templarContext .add ("finder" , finder );
123-
124- // don't forget the beans for the selectClause finders
125- if (null != finder .getSelectClause ()) {
126- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/bean/" + table .getJavaClassName () + finder .getTagName () + "Bean.java" ;
127- renderToFile (templarContext , javaCreateSelectClauseBeanParser , pathname );
128- }
129- }
130-
131- if (!table .getIsConstant ()) {
132- // the updater
133- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/updater/" + table .getJavaClassName () + "Updater.java" ;
134- renderToFile (templarContext , javaCreateUpdaterParser , pathname );
135-
136- // the deleter
137- pathname = outFile + options .getOutputCode () + database .getPackagePath () + "/deleter/" + table .getJavaClassName () + "Deleter.java" ;
138- renderToFile (templarContext , javaCreateDeleterParser , pathname );
139- }
140- }
141- }
142-
143- private void generateViews (TemplarContext templarContext ) throws ParseException , RenderException {
144- Parser javaCreateViewModelParser = getParser ("/java-create-view-model.templar" );
145- Parser javaCreateViewFinderParser = getParser ("/java-create-view-finder.templar" );
146- Parser javaCreateSelectClauseBeanParser = getParser ("/java-create-select-clause-bean.templar" );
147- Parser javaCreateViewCounterParser = getParser ("/java-create-view-counter.templar" );
148- Parser javaCreateViewQuestionParser = getParser ("/java-create-view-question.templar" );
149-
150- String pathname ;
151-
152- // now for the views
153- List <View > views = database .getViews ();
154- for (View view : views ) {
155- templarContext .add ("view" , view );
156-
157- // hack for finder taglibs for views - should be split out
158- templarContext .add ("table" , view );
159-
160- String pathPrefix = outFile + options .getOutputCode () + database .getPackagePath ();
161- String viewJavaClassName = view .getJavaClassName ();
162-
163- pathname = pathPrefix + "/view/" + viewJavaClassName + ".java" ;
164- renderToFile (templarContext , javaCreateViewModelParser , pathname );
165-
166- pathname = pathPrefix + "/finder/" + viewJavaClassName + "ViewFinder.java" ;
167- renderToFile (templarContext , javaCreateViewFinderParser , pathname );
168-
169- pathname = pathPrefix + "/counter/" + viewJavaClassName + "ViewCounter.java" ;
170- renderToFile (templarContext , javaCreateViewCounterParser , pathname );
171-
172- pathname = pathPrefix + "/question/" + viewJavaClassName + "ViewQuestion.java" ;
173- renderToFile (templarContext , javaCreateViewQuestionParser , pathname );
174-
175- List <Finder > finders = view .getFinders ();
176- for (Finder finder : finders ) {
177- templarContext .add ("finder" , finder );
178- if (null != finder .getSelectClause ()) {
179- pathname = pathPrefix + "/bean/" + finder .getTagName () + "Bean.java" ;
180- renderToFile (templarContext , javaCreateSelectClauseBeanParser , pathname );
181- }
182- }
183- }
61+ renderToFile (templarContext , javaGenerateDatabaseTestBaseParser , pathname );
18462 }
18563}
0 commit comments