3
3
import org .hibernate .cfg .Configuration ;
4
4
import org .hibernate .tool .hbm2x .GenericExporter ;
5
5
import org .hibernate .tool .hbm2x .pojo .POJOClass ;
6
+ import org .springframework .core .io .ClassPathResource ;
7
+ import org .springframework .core .io .Resource ;
6
8
7
9
import java .io .File ;
8
10
import java .util .Map ;
@@ -76,7 +78,7 @@ private void generateCore() {
76
78
configureExporter ("appfuse/dao/" + daoFramework + "/dao-impl.ftl" ,
77
79
"src/main/java/{basepkg-name}/dao/" + daoFramework + "/{class-name}Dao" +
78
80
getDaoFilename (daoFramework ) + ".java" ).start ();
79
-
81
+
80
82
// Manager Test
81
83
configureExporter ("appfuse/service/manager-test.ftl" ,
82
84
"src/test/java/{basepkg-name}/service/impl/{class-name}ManagerImplTest.java" ).start ();
@@ -115,6 +117,7 @@ private void generateWeb() {
115
117
if (!webProject ) return ;
116
118
117
119
String webFramework = getProperties ().getProperty ("webframework" );
120
+ Resource jwebUnitTemplate = new ClassPathResource ("appfuse/web/" + webFramework + "/jwebunit-tests.ftl" );
118
121
if (webFramework .equalsIgnoreCase ("jsf" )) {
119
122
// tests
120
123
configureExporter ("appfuse/web/jsf/list-test.ftl" , "src/test/java/{basepkg-name}/webapp/action/{class-name}ListTest.java" ).start ();
@@ -130,10 +133,7 @@ private void generateWeb() {
130
133
131
134
// configuration
132
135
configureExporter ("appfuse/web/jsf/navigation.ftl" , "src/main/webapp/WEB-INF/{class-name}-navigation.xml" ).start ();
133
-
134
- // JSF managed beans configured by Spring annotations in 2.1+
135
- //configureExporter("appfuse/web/jsf/managed-beans.ftl", "src/main/webapp/WEB-INF/{class-name}-managed-beans.xml").start();
136
- } else if (webFramework .equalsIgnoreCase ("spring" )) {
136
+ } else if (webFramework .equalsIgnoreCase ("spring" ) || webFramework .equalsIgnoreCase ("spring-security" ) || webFramework .equalsIgnoreCase ("spring-freemarker" )) {
137
137
// tests
138
138
configureExporter ("appfuse/web/spring/controller-test.ftl" , "src/test/java/{basepkg-name}/webapp/controller/{class-name}ControllerTest.java" ).start ();
139
139
configureExporter ("appfuse/web/spring/formcontroller-test.ftl" , "src/test/java/{basepkg-name}/webapp/controller/{class-name}FormControllerTest.java" ).start ();
@@ -143,11 +143,13 @@ private void generateWeb() {
143
143
configureExporter ("appfuse/web/spring/formcontroller.ftl" , "src/main/java/{basepkg-name}/webapp/controller/{class-name}FormController.java" ).start ();
144
144
145
145
// views
146
- configureExporter ("appfuse/web/spring/list-view.ftl" , "src/main/webapp/WEB-INF/pages/{class-name}s.jsp" ).start ();
147
- configureExporter ("appfuse/web/spring/form-view.ftl" , "src/main/webapp/WEB-INF/pages/{class-name}form.jsp" ).start ();
148
-
149
- // Controllers configured by Spring annotations in 2.1+
150
- //configureExporter("appfuse/web/spring/controller-beans.ftl", "src/main/webapp/WEB-INF/{class-name}-beans.xml").start();
146
+ if (!webFramework .equalsIgnoreCase ("spring-freemarker" )) {
147
+ configureExporter ("appfuse/web/spring/list-view.ftl" , "src/main/webapp/WEB-INF/pages/{class-name}s.jsp" ).start ();
148
+ configureExporter ("appfuse/web/spring/form-view.ftl" , "src/main/webapp/WEB-INF/pages/{class-name}form.jsp" ).start ();
149
+ } else {
150
+ configureExporter ("appfuse/web/spring-freemarker/list-view.ftl" , "src/main/webapp/{class-name}list.ftl" ).start ();
151
+ configureExporter ("appfuse/web/spring-freemarker/form-view.ftl" , "src/main/webapp/{class-name}form.ftl" ).start ();
152
+ }
151
153
152
154
// validation
153
155
configureExporter ("appfuse/web/spring/form-validation.ftl" , "src/main/webapp/WEB-INF/{class-name}-validation.xml" ).start ();
@@ -166,33 +168,64 @@ private void generateWeb() {
166
168
// This template is not used anymore (APF-798), but retained in case we do want to create definitions by default in the future
167
169
configureExporter ("appfuse/web/struts/action-beans.ftl" , "src/main/webapp/WEB-INF/{class-name}-struts-bean.xml" ).start ();
168
170
169
- configureExporter ("appfuse/web/struts/struts.ftl" , "src/main/resources/{class-name}-struts.xml" ).start ();
171
+ GenericExporter exporter = configureExporter ("appfuse/web/struts/struts.ftl" , "src/main/resources/{class-name}-struts.xml" );
172
+ exporter .getProperties ().put ("pagesPath" , jwebUnitTemplate .exists () ? "" : "/WEB-INF/pages" );
173
+ exporter .start ();
170
174
171
175
// validation
172
176
configureExporter ("appfuse/web/struts/model-validation.ftl" , "src/main/resources/{basepkg-name}/model/{class-name}-validation.xml" ).start ();
173
177
configureExporter ("appfuse/web/struts/action-validation.ftl" , "src/main/resources/{basepkg-name}/webapp/action/{class-name}Action-validation.xml" ).start ();
178
+ } else if (webFramework .equalsIgnoreCase ("stripes" )) {
179
+ // tests
180
+ configureExporter ("appfuse/web/stripes/list-action-test.ftl" , "src/test/java/{basepkg-name}/webapp/action/{class-name}ListBeanTest.java" ).start ();
181
+ configureExporter ("appfuse/web/stripes/form-action-test.ftl" , "src/test/java/{basepkg-name}/webapp/action/{class-name}FormBeanTest.java" ).start ();
182
+
183
+ // actions
184
+ configureExporter ("appfuse/web/stripes/list-action.ftl" , "src/main/java/{basepkg-name}/webapp/action/{class-name}ListBean.java" ).start ();
185
+ configureExporter ("appfuse/web/stripes/form-action.ftl" , "src/main/java/{basepkg-name}/webapp/action/{class-name}FormBean.java" ).start ();
186
+
187
+ // views
188
+ configureExporter ("appfuse/web/stripes/list-view.ftl" , "src/main/webapp/{class-name}List.jsp" ).start ();
189
+ configureExporter ("appfuse/web/stripes/form-view.ftl" , "src/main/webapp/{class-name}Form.jsp" ).start ();
174
190
} else if (webFramework .equalsIgnoreCase ("tapestry" )) {
175
191
// tests
176
192
configureExporter ("appfuse/web/tapestry/list-test.ftl" , "src/test/java/{basepkg-name}/webapp/pages/{class-name}ListTest.java" ).start ();
177
193
configureExporter ("appfuse/web/tapestry/form-test.ftl" , "src/test/java/{basepkg-name}/webapp/pages/{class-name}FormTest.java" ).start ();
178
194
179
- // managed beans
195
+ // pages
180
196
configureExporter ("appfuse/web/tapestry/list.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}List.java" ).start ();
181
197
configureExporter ("appfuse/web/tapestry/form.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}Form.java" ).start ();
182
198
183
199
// views
184
200
configureExporter ("appfuse/web/tapestry/list-view.ftl" , "src/main/webapp/{class-name}List.tml" ).start ();
185
201
configureExporter ("appfuse/web/tapestry/form-view.ftl" , "src/main/webapp/{class-name}Form.tml" ).start ();
202
+ } else if (webFramework .equalsIgnoreCase ("wicket" )) {
203
+ // tests
204
+ configureExporter ("appfuse/web/wicket/list-test.ftl" , "src/test/java/{basepkg-name}/webapp/pages/{class-name}ListTest.java" ).start ();
205
+ configureExporter ("appfuse/web/wicket/form-test.ftl" , "src/test/java/{basepkg-name}/webapp/pages/{class-name}FormTest.java" ).start ();
206
+
207
+ // pages
208
+ configureExporter ("appfuse/web/wicket/model.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}Model.java" ).start ();
209
+ configureExporter ("appfuse/web/wicket/data-provider.ftl" , "src/main/java/{basepkg-name}/webapp/pages/Sortable{class-name}DataProvider.java" ).start ();
210
+ configureExporter ("appfuse/web/wicket/list.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}List.java" ).start ();
211
+ configureExporter ("appfuse/web/wicket/form.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}Form.java" ).start ();
212
+
213
+ // views
214
+ configureExporter ("appfuse/web/wicket/list-view.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}List.html" ).start ();
215
+ configureExporter ("appfuse/web/wicket/form-view.ftl" , "src/main/java/{basepkg-name}/webapp/pages/{class-name}Form.html" ).start ();
186
216
} else {
187
217
log .warn ("Your project's web framework '" + webFramework + "' is not supported by AMP at this time." );
188
- log .warn ("See http://issues.appfuse.org/browse/EQX-211 for more information." );
189
-
218
+ log .warn ("See enter an issue in JIRA if you'd like to see support. http://issues.appfuse.org/browse/APF" );
190
219
}
191
220
192
221
// menu
193
222
if (!webFramework .equalsIgnoreCase ("tapestry" )) {
194
223
configureExporter ("appfuse/web/menu.ftl" , "src/main/webapp/common/{class-name}-menu.jsp" ).start ();
195
- configureExporter ("appfuse/web/menu-light.ftl" , "src/main/webapp/common/{class-name}-menu-light.jsp" ).start ();
224
+ if (webFramework .equalsIgnoreCase ("spring-freemarker" )) {
225
+ configureExporter ("appfuse/web/menu-light-freemarker.ftl" , "src/main/webapp/common/{class-name}-menu-light.ftl" ).start ();
226
+ } else {
227
+ configureExporter ("appfuse/web/menu-light.ftl" , "src/main/webapp/common/{class-name}-menu-light.jsp" ).start ();
228
+ }
196
229
configureExporter ("appfuse/web/menu-config.ftl" , "src/main/webapp/WEB-INF/{class-name}-menu-config.xml" ).start ();
197
230
} else {
198
231
configureExporter ("appfuse/web/tapestry/menu.ftl" , "src/main/webapp/{class-name}-menu.tml" ).start ();
@@ -201,11 +234,18 @@ private void generateWeb() {
201
234
// i18n
202
235
configureExporter ("appfuse/web/ApplicationResources.ftl" , "src/main/resources/{class-name}-ApplicationResources.properties" ).start ();
203
236
204
- // ui tests
205
- if (!webFramework .equals ("wicket" ) && !webFramework .equals ("spring-security" ) &&
206
- !webFramework .equals ("spring-freemarker" ) && !webFramework .equals ("stripes" )) {
237
+ // canoo tests
238
+ if (!webFramework .equals ("spring-security" ) && !webFramework .equalsIgnoreCase ("spring-freemarker" ) && !webFramework .equalsIgnoreCase ("stripes" )) {
207
239
configureExporter ("appfuse/web/" + webFramework + "/web-tests.ftl" , "src/test/resources/{class-name}-web-tests.xml" ).start ();
208
240
}
241
+ // jwebunit tests
242
+ if (webFramework .equalsIgnoreCase ("spring-freemarker" )) {
243
+ webFramework = "spring" ;
244
+ jwebUnitTemplate = new ClassPathResource ("appfuse/web/" + webFramework + "/jwebunit-tests.ftl" );
245
+ }
246
+ if (jwebUnitTemplate .exists ()) {
247
+ configureExporter ("appfuse/web/" + webFramework + "/jwebunit-tests.ftl" , "src/test/java/{basepkg-name}/webapp/{class-name}WebTest.java" ).start ();
248
+ }
209
249
}
210
250
211
251
private String getDaoFilename (String daoFramework ) {
@@ -231,7 +271,7 @@ private GenericExporter configureExporter(String template, String pattern) {
231
271
}
232
272
}
233
273
} else {
234
- templatePaths = getTemplatePaths ();
274
+ templatePaths = getTemplatePaths ();
235
275
}
236
276
237
277
GenericExporter exporter = new GenericExporter (getConfiguration (), getOutputDirectory ()) {
0 commit comments