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 List<ProjectDescriptor> getDependentProjects(Module module) { ProjectDescriptor project = module.getProject(); List<ProjectDescriptor> projectDescriptors = new ArrayList<ProjectDescriptor>(); addDependentProjects(projectDescriptors, project); return projectDescriptors; }
@Override public Module_v5_16 toOldVersion(Module currentVersion) { Module_v5_16 module = new Module_v5_16(); module.setName(currentVersion.getName()); module.setRulesRootPath(currentVersion.getRulesRootPath()); module.setMethodFilter(currentVersion.getMethodFilter()); module.setExtension(currentVersion.getExtension()); return module; } }
private Module createModule(ProjectDescriptor project, PathEntry rootPath, String name) { Module module = new Module(); module.setProject(project); module.setRulesRootPath(rootPath); module.setName(name); return module; }
/** * Copy the module without {@link Module#getProject()}, as it prevents to Circular dependency. * * @param module income module * @return copy of income module without project field */ private Module copyOf(Module module) { Module copy = new Module(); copy.setName(module.getName()); copy.setProperties(module.getProperties()); copy.setRulesRootPath(module.getRulesRootPath()); return copy; }
@Override public String getDisplayName(Module module) { String displayName = module.getName(); if (displayName.equals(module.getClassname())) { displayName = StringTool.lastToken(displayName, "."); } return displayName + " (" + module.getClassname() + ")"; }
while (itr.hasNext()) { Module module = itr.next(); if (module.getWildcardRulesRootPath() == null || !wildcardPathSet.contains(module.getWildcardRulesRootPath())) { module.setProject(null); module.setProperties(null); if (module.getWildcardRulesRootPath() != null) { wildcardPathSet.add(module.getWildcardRulesRootPath()); module.setRulesRootPath(new PathEntry(module.getWildcardRulesRootPath())); module.setName(module.getWildcardName()); } else { PathEntry pathEntry = module.getRulesRootPath(); String path = pathEntry.getPath(); module.setRulesRootPath(new PathEntry(path.replaceAll("\\\\", "/"))); if (module.getMethodFilter() != null) { boolean f = true; if (module.getMethodFilter().getExcludes() != null && module.getMethodFilter() .getExcludes() .isEmpty()) { module.getMethodFilter().setExcludes(null); f = false; if (module.getMethodFilter().getIncludes() != null && module.getMethodFilter() .getIncludes() .isEmpty()) { if (f) { module.getMethodFilter().setExcludes(null); } else { module.setMethodFilter(null);
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); } } }
@Override public Module fromOldVersion(Module_v5_11 oldVersion) { Module module = new Module(); module.setName(oldVersion.getName()); module.setRulesRootPath(oldVersion.getRulesRootPath()); module.setMethodFilter(oldVersion.getMethodFilter()); return module; }
module = new Module(); module.setProject(newProjectDescriptor); newProjectDescriptor.getModules().add(module); } else { module.setName(name); PathEntry pathEntry = module.getRulesRootPath(); if (pathEntry == null) { pathEntry = new PathEntry(); module.setRulesRootPath(pathEntry); MethodFilter filter = module.getMethodFilter(); if (filter == null) { filter = new MethodFilter(); module.setMethodFilter(filter);
@Override public Module_v5_13 toOldVersion(Module currentVersion) { Module_v5_13 module = new Module_v5_13(); module.setName(currentVersion.getName()); module.setRulesRootPath(currentVersion.getRulesRootPath()); module.setMethodFilter(currentVersion.getMethodFilter()); return module; } }
public static String extractFileNameFromModule(Module module) { if (module.getRulesRootPath() == null) { return module.getName(); } String path = module.getRulesRootPath().getPath(); return FileUtils.getBaseName(path); } }
protected Module createNewModule() { Module module = new Module(); module.setName(getDisplayName()); module.setRulesRootPath(new PathEntry(getSrcFile())); return module; }
public String getModuleId(Module module) { if (module != null) { return module.getProject().getId() + " - " + module.getName(); } return null; }
private boolean isModuleWithWildcard(Module module) { if (module.getRulesRootPath() != null) { String path = module.getRulesRootPath().getPath(); return path.contains("*") || path.contains("?"); } return false; }
public String getModulePath(Module module) { PathEntry modulePath = module == null ? null : module.getRulesRootPath(); if (modulePath == null) return null; String moduleFullPath = modulePath.getPath(); ProjectDescriptor project = module.getProject(); if (project == null || project.getProjectFolder() == null) { return moduleFullPath; } String projectFullPath = project.getProjectFolder().getAbsolutePath(); if (moduleFullPath.contains(projectFullPath)) { return moduleFullPath.replace(projectFullPath, "").substring(1); } return moduleFullPath; }
if (!isModuleWithWildcard(module) && module.getExtension() == null) { processedModules.add(module); if (isModuleWithWildcard(module)) { List<Module> newModules = new ArrayList<Module>(); List<Module> modules = getAllModulesMatchingPathPattern(descriptor, module, module.getRulesRootPath() .getPath()); for (Module m : modules) { if (module.getExtension() != null) { ClassLoader classLoader = new SimpleBundleClassLoader(Thread.currentThread().getContextClassLoader()); IExtensionDescriptor extensionDescriptor = ExtensionDescriptorFactory.getExtensionDescriptor( module.getExtension(), classLoader); module.setProject(descriptor); processedModules.addAll(extensionDescriptor.getInternalModules(module)); ClassLoaderUtils.close(classLoader);
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"); } } }
if (getModule().getExtension() != null) { IExtensionDescriptor extensionDescriptor = ExtensionDescriptorFactory.getExtensionDescriptor(getModule().getExtension(), getClassLoader()); MethodFilter methodFilter = m.getMethodFilter(); if (methodFilter != null && (CollectionUtils.isNotEmpty(methodFilter.getExcludes()) || CollectionUtils.isNotEmpty(methodFilter.getIncludes()))) { String[] includes = new String[]{};