package core; import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.components.ApplicationComponent; import core.actions.generated.RunTemplateAction; import global.Const; import global.models.PackageTemplate; import global.utils.file.FileWriter; import global.utils.templates.PackageTemplateHelper; import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.ArrayList; /** * Created by Arsen on 11.09.2016. */ public class AppComponent implements ApplicationComponent { @Override public void initComponent() { checkAndCreateRootDir(); ActionManager am = ActionManager.getInstance(); ArrayList<PackageTemplate> listPackageTemplate = PackageTemplateHelper.getListPackageTemplate(); for (PackageTemplate pt : listPackageTemplate) { if (!pt.isShouldRegisterAction()) { continue; } RunTemplateAction action = new RunTemplateAction(pt.getName(), pt); am.registerAction(Const.ACTION_PREFIX + action.getName(), action); } } /** * Создает корневую директорию для шаблонов. */ private void checkAndCreateRootDir() { File rootDir = new File(PackageTemplateHelper.getRootDirPath()); if (!rootDir.exists()) { FileWriter.createDirectories(rootDir.toPath()); } } @Override public void disposeComponent() { } @NotNull @Override public String getComponentName() { return "PackageTemplatesComponent"; } }