protected ProjectDescriptor createNewProject() { ProjectDescriptor project = new ProjectDescriptor(); project.setName(defaultProjectName != null ? defaultProjectName : getDisplayName()); List<PathEntry> classpath = new ArrayList<PathEntry>(); for (String path : defaultClasspaths) { classpath.add(new PathEntry(path)); } project.setClasspath(classpath); return project; }
public ProjectDescriptor resolveProject(File folder) throws ProjectResolvingException { Map<String, Module> modules = new TreeMap<String, Module>(); try { ProjectDescriptor project = createDescriptor(folder); for (File f : folder.listFiles()) { if (!f.isHidden() && f.isFile() && FileTypeHelper.isExcelFile(f.getName())) { String name = FileUtils.removeExtension(f.getName()); if (!modules.containsKey(name)) { PathEntry rootPath = new PathEntry(f.getCanonicalFile().getAbsolutePath()); Module module = createModule(project, rootPath, name); modules.put(name, module); } else { if (log.isErrorEnabled()){ log.error("A module with the same name already exists: {}", name); } } } } project.setModules(new ArrayList<Module>(modules.values())); return project; } catch (IOException e) { throw new ProjectResolvingException(e); } }
public ProjectDescriptor resolveProject(File folder) throws ProjectResolvingException { Map<String, Module> modules = new TreeMap<String, Module>(); try { ProjectDescriptor project = createDescriptor(folder); for (File f : folder.listFiles()) { if (!f.isHidden() && f.isFile() && FileTypeHelper.isExcelFile(f.getName())) { String name = FileUtils.removeExtension(f.getName()); if (!modules.containsKey(name)) { PathEntry rootPath = new PathEntry(f.getCanonicalFile().getAbsolutePath()); Module module = createModule(project, rootPath, name); modules.put(name, module); } else { if (log.isErrorEnabled()){ log.error("A module with the same name already exists: {}", name); } } } } project.setModules(new ArrayList<Module>(modules.values())); return project; } catch (IOException e) { throw new ProjectResolvingException(e); } }
protected ProjectDescriptor createNewProject() { ProjectDescriptor project = new ProjectDescriptor(); project.setName(defaultProjectName != null ? defaultProjectName : getDisplayName()); List<PathEntry> classpath = new ArrayList<PathEntry>(); for (String path : defaultClasspaths) { classpath.add(new PathEntry(path)); } project.setClasspath(classpath); return project; }
private boolean containsInProcessedModules(Collection<Module> modules, Module m, File projectRoot) { PathEntry pathEntry = m.getRulesRootPath(); if (!new File(m.getRulesRootPath().getPath()).isAbsolute()) { pathEntry = new PathEntry(new File(projectRoot, m.getRulesRootPath().getPath()).getAbsolutePath()); } for (Module module : modules) { PathEntry modulePathEntry = module.getRulesRootPath(); if (!new File(module.getRulesRootPath().getPath()).isAbsolute()) { modulePathEntry = new PathEntry(new File(projectRoot, module.getRulesRootPath().getPath()).getAbsolutePath()); } if (pathEntry.getPath().equals(modulePathEntry.getPath())) { return true; } } return false; }
private boolean containsInProcessedModules(Collection<Module> modules, Module m, File projectRoot) { PathEntry pathEntry = m.getRulesRootPath(); if (!new File(m.getRulesRootPath().getPath()).isAbsolute()) { pathEntry = new PathEntry(new File(projectRoot, m.getRulesRootPath().getPath()).getAbsolutePath()); } for (Module module : modules) { PathEntry modulePathEntry = module.getRulesRootPath(); if (!new File(module.getRulesRootPath().getPath()).isAbsolute()) { modulePathEntry = new PathEntry(new File(projectRoot, module.getRulesRootPath().getPath()).getAbsolutePath()); } if (pathEntry.getPath().equals(modulePathEntry.getPath())) { return true; } } return false; }
public void editSources() { List<PathEntry> sourceList = new ArrayList<PathEntry>(); String[] sourceArray = sources.split(StringTool.NEW_LINE); if (CollectionUtils.isNotEmpty(sourceArray)) { for (String source : sourceArray) { if (StringUtils.isNotBlank(source)) { PathEntry sourcePath = new PathEntry(source); sourceList.add(sourcePath); } } } ProjectDescriptor projectDescriptor = studio.getCurrentProjectDescriptor(); ProjectDescriptor newProjectDescriptor = cloneProjectDescriptor(projectDescriptor); clean(newProjectDescriptor); newProjectDescriptor.setClasspath(!sourceList.isEmpty() ? sourceList : null); save(newProjectDescriptor); }
public void editSources() { tryLockProject(); List<PathEntry> sourceList = new ArrayList<PathEntry>(); String[] sourceArray = sources.split(StringTool.NEW_LINE); if (CollectionUtils.isNotEmpty(sourceArray)) { for (String source : sourceArray) { if (StringUtils.isNotBlank(source)) { PathEntry sourcePath = new PathEntry(source); sourceList.add(sourcePath); } } } ProjectDescriptor projectDescriptor = studio.getCurrentProjectDescriptor(); ProjectDescriptor newProjectDescriptor = cloneProjectDescriptor(projectDescriptor); clean(newProjectDescriptor); newProjectDescriptor.setClasspath(!sourceList.isEmpty() ? sourceList : null); save(newProjectDescriptor); }
protected Module createNewModule() { Module module = new Module(); module.setName(getDisplayName()); module.setRulesRootPath(new PathEntry(getSrcFile())); return module; }
protected Module createNewModule() { Module module = new Module(); module.setName(getDisplayName()); module.setRulesRootPath(new PathEntry(getSrcFile())); return module; }
public List<Module> getAllModulesMatchingPathPattern(ProjectDescriptor descriptor, Module module, String pathPattern) throws IOException{ List<Module> modules = new ArrayList<Module>(); List<File> files = new ArrayList<File>(); check(descriptor.getProjectFolder(), files, pathPattern.trim(), descriptor.getProjectFolder()); for (File file : files) { Module m = new Module(); m.setProject(descriptor); m.setRulesRootPath(new PathEntry(file.getCanonicalPath())); m.setName(FileUtils.getBaseName(file.getName())); m.setMethodFilter(module.getMethodFilter()); m.setWildcardRulesRootPath(pathPattern); m.setWildcardName(module.getName()); m.setExtension(module.getExtension()); modules.add(m); } return modules; }
private void postProcess(ProjectDescriptor descriptor, File projectDescriptorFile) throws IOException{ File projectRoot = projectDescriptorFile.getParentFile().getCanonicalFile(); descriptor.setProjectFolder(projectRoot); processModulePathPatterns(descriptor, projectRoot); for (Module module : descriptor.getModules()) { module.setProject(descriptor); if (module.getMethodFilter() == null) { module.setMethodFilter(new MethodFilter()); } if (module.getMethodFilter().getExcludes() == null) { module.getMethodFilter().setExcludes(new HashSet<String>()); } else { // Remove empty nodes module.getMethodFilter().getExcludes().removeAll(Arrays.asList("", null)); } if (module.getMethodFilter().getIncludes() == null) { module.getMethodFilter().setIncludes(new HashSet<String>()); } else { // Remove empty nodes module.getMethodFilter().getIncludes().removeAll(Arrays.asList("", null)); } if (!new File(module.getRulesRootPath().getPath()).isAbsolute()) { PathEntry absolutePath = new PathEntry(new File(projectRoot, module.getRulesRootPath().getPath()).getCanonicalFile().getAbsolutePath()); module.setRulesRootPath(absolutePath); } } }
public List<Module> getAllModulesMatchingPathPattern(ProjectDescriptor descriptor, Module module, String pathPattern) throws IOException{ List<Module> modules = new ArrayList<Module>(); List<File> files = new ArrayList<File>(); check(descriptor.getProjectFolder(), files, pathPattern.trim(), descriptor.getProjectFolder()); for (File file : files) { Module m = new Module(); m.setProject(descriptor); m.setRulesRootPath(new PathEntry(file.getCanonicalPath())); m.setName(FileUtils.getBaseName(file.getName())); m.setMethodFilter(module.getMethodFilter()); m.setWildcardRulesRootPath(pathPattern); m.setWildcardName(module.getName()); m.setExtension(module.getExtension()); modules.add(m); } return modules; }
private void postProcess(ProjectDescriptor descriptor, File projectDescriptorFile) throws IOException{ File projectRoot = projectDescriptorFile.getParentFile().getCanonicalFile(); descriptor.setProjectFolder(projectRoot); processModulePathPatterns(descriptor, projectRoot); for (Module module : descriptor.getModules()) { module.setProject(descriptor); if (module.getMethodFilter() == null) { module.setMethodFilter(new MethodFilter()); } if (module.getMethodFilter().getExcludes() == null) { module.getMethodFilter().setExcludes(new HashSet<String>()); } else { // Remove empty nodes module.getMethodFilter().getExcludes().removeAll(Arrays.asList("", null)); } if (module.getMethodFilter().getIncludes() == null) { module.getMethodFilter().setIncludes(new HashSet<String>()); } else { // Remove empty nodes module.getMethodFilter().getIncludes().removeAll(Arrays.asList("", null)); } if (!new File(module.getRulesRootPath().getPath()).isAbsolute()) { PathEntry absolutePath = new PathEntry(new File(projectRoot, module.getRulesRootPath().getPath()).getCanonicalFile().getAbsolutePath()); module.setRulesRootPath(absolutePath); } } }
public Boolean getFileNameMatched() { if (newFileName == null) { return null; } ProjectDescriptor projectDescriptor = getOriginalProjectDescriptor(); PropertiesFileNameProcessorBuilder builder = new PropertiesFileNameProcessorBuilder(); Module module = new Module(); int indexOfSlash = newFileName.lastIndexOf("/"); module.setName(indexOfSlash < 0 ? newFileName : newFileName.substring(indexOfSlash + 1)); module.setRulesRootPath(new PathEntry(newFileName)); Boolean fileNameMatched = null; try { String pattern = projectDescriptor.getPropertiesFileNamePattern(); if (pattern != null) { builder.build(projectDescriptor).process(module, pattern); fileNameMatched = true; } } catch (InvalidFileNameProcessorException ignored) { // Can't check for name correctness } catch (InvalidFileNamePatternException e) { // Invalid pattern, can't check for name correctness } catch (NoMatchFileNameException e) { fileNameMatched = false; } return fileNameMatched; }
public Boolean getFileNameMatched() { if (newFileName == null) { return null; } ProjectDescriptor projectDescriptor = getOriginalProjectDescriptor(); PropertiesFileNameProcessorBuilder builder = new PropertiesFileNameProcessorBuilder(); Module module = new Module(); int indexOfSlash = newFileName.lastIndexOf("/"); module.setName(indexOfSlash < 0 ? newFileName : newFileName.substring(indexOfSlash + 1)); module.setRulesRootPath(new PathEntry(newFileName)); Boolean fileNameMatched = null; try { String pattern = projectDescriptor.getPropertiesFileNamePattern(); if (pattern != null) { builder.build(projectDescriptor).process(module, pattern); fileNameMatched = true; } } catch (InvalidFileNameProcessorException ignored) { // Can't check for name correctness } catch (InvalidFileNamePatternException e) { // Invalid pattern, can't check for name correctness } catch (NoMatchFileNameException e) { fileNameMatched = false; } return fileNameMatched; }
public void validateModuleName(FacesContext context, UIComponent toValidate, Object value) { String newName = (String) value; String oldName = FacesUtils.getRequestParameter("moduleNameOld"); String modulePath = FacesUtils.getRequestParameter("modulePath"); Module toCheck = new Module(); toCheck.setRulesRootPath(new PathEntry(modulePath)); boolean withWildcard = isModuleWithWildcard(toCheck); if (!withWildcard) { FacesUtils.validate(StringUtils.isNotBlank(newName), "Can not be empty"); } if (StringUtils.isBlank(oldName) // Add new Module || !oldName.equals(newName)) { // Edit current Module if (!withWildcard || StringUtils.isNotBlank(newName)) { FacesUtils.validate(NameChecker.checkName(newName), NameChecker.BAD_NAME_MSG); Module module = studio.getModule(studio.getCurrentProjectDescriptor(), newName); FacesUtils.validate(module == null, "Module with such name already exists"); } } }
public void validateModuleName(FacesContext context, UIComponent toValidate, Object value) { String newName = (String) value; String oldName = FacesUtils.getRequestParameter("moduleNameOld"); String modulePath = FacesUtils.getRequestParameter("modulePath"); Module toCheck = new Module(); toCheck.setRulesRootPath(new PathEntry(modulePath)); boolean withWildcard = isModuleWithWildcard(toCheck); if (!withWildcard) { FacesUtils.validate(StringUtils.isNotBlank(newName), "Can not be empty"); } if (StringUtils.isBlank(oldName) // Add new Module || !oldName.equals(newName)) { // Edit current Module if (!withWildcard || StringUtils.isNotBlank(newName)) { FacesUtils.validate(NameChecker.checkName(newName), NameChecker.BAD_NAME_MSG); Module module = studio.getModule(studio.getCurrentProjectDescriptor(), newName); FacesUtils.validate(module == null, "Module with such name already exists"); } } }
public void validateModuleNameForCopy(FacesContext context, UIComponent toValidate, Object value) { String newName = (String) value; String oldName = FacesUtils.getRequestParameter("copyModuleForm:moduleNameOld"); String modulePath = FacesUtils.getRequestParameter("copyModuleForm:modulePath"); Module toCheck = new Module(); toCheck.setRulesRootPath(new PathEntry(modulePath)); boolean withWildcard = isModuleWithWildcard(toCheck); if (!withWildcard) { FacesUtils.validate(StringUtils.isNotBlank(newName), "Can not be empty"); } if (StringUtils.isBlank(oldName) // Add new Module || !oldName.equals(newName)) { // Edit current Module if (!withWildcard || StringUtils.isNotBlank(newName)) { FacesUtils.validate(NameChecker.checkName(newName), NameChecker.BAD_NAME_MSG); Module module = studio.getModule(studio.getCurrentProjectDescriptor(), newName); FacesUtils.validate(module == null, "Module with such name already exists"); } } }
public void validateModuleNameForCopy(FacesContext context, UIComponent toValidate, Object value) { String newName = (String) value; String oldName = FacesUtils.getRequestParameter("copyModuleForm:moduleNameOld"); String modulePath = FacesUtils.getRequestParameter("copyModuleForm:modulePath"); Module toCheck = new Module(); toCheck.setRulesRootPath(new PathEntry(modulePath)); boolean withWildcard = isModuleWithWildcard(toCheck); if (!withWildcard) { FacesUtils.validate(StringUtils.isNotBlank(newName), "Can not be empty"); } if (StringUtils.isBlank(oldName) // Add new Module || !oldName.equals(newName)) { // Edit current Module if (!withWildcard || StringUtils.isNotBlank(newName)) { FacesUtils.validate(NameChecker.checkName(newName), NameChecker.BAD_NAME_MSG); Module module = studio.getModule(studio.getCurrentProjectDescriptor(), newName); FacesUtils.validate(module == null, "Module with such name already exists"); } } }