package org.objectstyle.wolips.wizards;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.objectstyle.wolips.core.resources.internal.types.project.ProjectPatternsets;
import org.objectstyle.wolips.templateengine.TemplateDefinition;
import org.objectstyle.wolips.templateengine.TemplateEngine;
/**
*
*/
public abstract class AbstractWonderProjectWizard extends AbstractProjectWizard {
@Override
protected void addComponentDefinition(String templateFolder, TemplateEngine engine, String path, String name) {
File wo = new File(path + File.separator + "Components" + File.separator + name + ".wo");
wo.mkdirs();
engine.addTemplate(new TemplateDefinition(templateFolder + "/" + name + ".html.vm", path + File.separator + "Components" + File.separator + name + ".wo", name + ".html", name + ".html"));
engine.addTemplate(new TemplateDefinition(templateFolder + "/" + name + ".wod.vm", path + File.separator + "Components" + File.separator + name + ".wo", name + ".wod", name + ".wod"));
engine.addTemplate(new TemplateDefinition(templateFolder + "/" + name + ".woo.vm", path + File.separator + "Components" + File.separator + name + ".wo", name + ".woo", name + ".woo"));
engine.addTemplate(new TemplateDefinition(templateFolder + "/" + name + ".api.vm", path + File.separator + "Components", name + ".api", name + ".api"));
engine.addTemplate(new TemplateDefinition(templateFolder + "/" + name + ".java.vm", path + File.separator + "Sources", name + ".java", name + ".java"));
}
protected void prepare(String path) {
File components = new File(path + File.separator + "Components");
components.mkdirs();
File src = new File(path + File.separator + "Sources");
src.mkdirs();
File resources = new File(path + File.separator + "Resources");
resources.mkdirs();
File wsresources = new File(path + File.separator + "WebServerResources");
wsresources.mkdirs();
File libraries = new File(path + File.separator + "Libraries");
libraries.mkdirs();
File bin = new File(path + File.separator + "bin");
bin.mkdirs();
File ant = new File(path + File.separator + ProjectPatternsets.ANT_FOLDER_NAME);
ant.mkdirs();
writeString("WebServerResources/**/*\n", new File(ant, "wsresources.include.patternset"));
writeString("Components/**/*.wo\nComponents/**/*.api\nResources/**/*\n", new File(ant, "resources.include.patternset"));
}
private void writeString(String string, File file) {
try {
File parentDir = file.getParentFile();
if (!parentDir.exists()) {
parentDir.mkdirs();
}
OutputStream os = new FileOutputStream(file);
os.write(string.getBytes());
os.close();
} catch (Exception e) {
System.out.println(e);
}
}
}