package org.fandev.actions.generation;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiFile;
import com.intellij.util.IncorrectOperationException;
import org.fandev.lang.fan.FanBundle;
import org.fandev.lang.fan.FanFileType;
import org.fandev.icons.Icons;
import org.jetbrains.annotations.NonNls;
import java.util.EnumMap;
/**
* Created by IntelliJ IDEA.
* User: Dror Bereznitsky
* Date: Aug 30, 2009
* Time: 6:43:13 PM
*/
public class NewFanBuildScriptAction extends NewFanActionBase {
protected NewFanBuildScriptAction() {
super(
FanBundle.message("newpod.menu.action.text"),
FanBundle.message("newpod.menu.action.description"),
Icons.POD);
}
protected String getTemplateName() {
return "FanBuildScript.fan";
}
protected String getDialogPrompt() {
return FanBundle.message("newpod.dlg.prompt");
}
protected String getDialogTitle() {
return FanBundle.message("newpod.dlg.title");
}
protected String getCommandName() {
return FanBundle.message("newpod.command.name");
}
protected String getActionName(final PsiDirectory directory, final String newName) {
return FanBundle.message("newpod.progress.text", newName);
}
@Override
protected void addTemplateParams(final EnumMap<TemplateProperty, String> parameters) {
parameters.put(TemplateProperty.POD_DEPENDS, ",");
parameters.put(TemplateProperty.POD_SRC_DIRS, ",");
}
@Override
protected PsiFile createClassFromTemplate(final PsiDirectory directory, final String className, String templateName,
@NonNls final EnumMap<TemplateProperty, String> parameters) throws IncorrectOperationException {
return FanTemplatesFactory.createFromTemplate(directory, "build." + FanFileType.DEFAULT_EXTENSION, templateName, parameters);
}
}