// add output directory to compile roots
getProject().addCompileSourceRoot(new File(getComponent().getOutputDirectory()).getPath());
// now set the extra properties for the AppFuseExporter
AppFuseExporter exporter = (AppFuseExporter) super.configureExporter(exp);
exporter.getProperties().setProperty("ejb3", getComponentProperty("ejb3", "true"));
exporter.getProperties().setProperty("jdk5", getComponentProperty("jdk5", "true"));
if (generateCoreOnly) {
exporter.getProperties().setProperty("generate-core", "true");
} else if (generateWebOnly) {
exporter.getProperties().setProperty("generate-web", "true");
}
String rootPackage = (fullPath != null) ? fullPath : getProject().getGroupId();
// AppFuse-specific values
exporter.getProperties().setProperty("basepackage", rootPackage);
exporter.getProperties().setProperty("daoframework", getProject().getProperties().getProperty("dao.framework"));
String webFramework = (getProject().getProperties().containsKey("web.framework")) ?
getProject().getProperties().getProperty("web.framework") : "";
exporter.getProperties().setProperty("webframework", webFramework);
exporter.getProperties().setProperty("packaging", getProject().getPackaging());
exporter.getProperties().setProperty("genericcore", String.valueOf(genericCore));
if (templateDirectory != null) {
exporter.getProperties().setProperty("templatedirectory", templateDirectory);
}
if (isFullSource())
exporter.getProperties().setProperty("appfusepackage", rootPackage);
else {
exporter.getProperties().setProperty("appfusepackage", "org.appfuse");
}
// See if the project has security enabled
boolean hasSecurity = false;
if (getProject().getPackaging().equals("war")) {
Collection<File> sourceFiles = FileUtils.listFiles(getProject().getBasedir(),new String[]{"xml"}, true);
for (File file : sourceFiles) {
if (file.getPath().contains("security.xml")) {
hasSecurity = true;
break;
}
}
}
exporter.getProperties().setProperty("hasSecurity", String.valueOf(hasSecurity));
// determine if using Home or Home for Tapestry
if (webFramework.equals("tapestry")) {
boolean useHome = true;
Collection<File> sourceFiles = FileUtils.listFiles(getProject().getBasedir(),new String[]{"java"}, true);
for (File file : sourceFiles) {
if (file.getPath().contains("Home.java")) {
useHome = false;
break;
}
}
exporter.getProperties().setProperty("useHome", String.valueOf(useHome));
}
return exporter;
}