private static void doTemplateTest(@NotNull PsiDirectory dir, @NotNull String newFileName, @NotNull String expectedPackage, @NotNull CustomFileTemplate template) { GoFile file = (GoFile)CreateFileFromTemplateAction.createFileFromTemplate(newFileName, template, dir, null, true); assertNotNull(file); assertEquals(expectedPackage, file.getPackageName()); WriteCommandAction.runWriteCommandAction(dir.getProject(), file::delete); } }
@Override protected boolean isAvailable(DataContext dataContext) { return PerlProjectManager.isPerlEnabled(dataContext) && super.isAvailable(dataContext); }
@Override protected void postProcess(PsiFile createdElement, String templateName, Map<String, String> customProperties) { super.postProcess(createdElement, templateName, customProperties); }
@Override protected boolean isAvailable(final DataContext dataContext) { return super.isAvailable(dataContext) && ActionUtils.isHybrisContext(dataContext); }
@Override protected boolean isAvailable(DataContext dataContext) { return PerlProjectManager.isPerlEnabled(dataContext) && super.isAvailable(dataContext); }
@Override protected PsiFile createFileFromTemplate(String name, FileTemplate template, PsiDirectory dir) { final List<String> pathChunks = new ArrayList<>(); if (StringUtil.contains(name, PerlPackageUtil.PACKAGE_SEPARATOR)) { pathChunks.addAll(StringUtil.split(name, PerlPackageUtil.PACKAGE_SEPARATOR)); } else if (StringUtil.contains(name, "/")) { pathChunks.addAll(StringUtil.split(name, "/")); } else { pathChunks.add(name); } name = pathChunks.remove(pathChunks.size() - 1); for (String pathChunk : pathChunks) { if (StringUtil.isNotEmpty(pathChunk)) { final PsiDirectory sub = dir.findSubdirectory(pathChunk); dir = sub == null ? dir.createSubdirectory(pathChunk) : sub; } } return super.createFileFromTemplate(name, template, dir); } }
@Override protected boolean isAvailable(DataContext dataContext) { return PerlProjectManager.isPerlEnabled(dataContext) && super.isAvailable(dataContext); }