protected Map<String, Object> getData(Object model, boolean isRootProject) { Map<String, Object> data = new HashMap<>(); if (model instanceof ProjectModel) { ProjectModel projectModel = (ProjectModel) model; FileModel rootFileModel = projectModel.getRootFileModel(); if (rootFileModel != null) { this.addFileInfo(rootFileModel, data, isRootProject); } } return data; }
public DependencyGraphItem(ProjectModel projectModel) { this.metadata = new HashMap<>(1); this.metadata.put("name", projectModel.getRootFileModel().getFileName()); this.kind = Kind.getKind(projectModel); }
@Override public int compare(ProjectModel o1, ProjectModel o2) { String filePath1 = o1.getRootFileModel().getFilePath(); String filePath2 = o2.getRootFileModel().getFilePath(); return filePathComparator.compare(filePath1, filePath2); } }
@Override public int compare(ProjectModel o1, ProjectModel o2) { String filePath1 = o1.getRootFileModel().getFilePath(); String filePath2 = o2.getRootFileModel().getFilePath(); return filePathComparator.compare(filePath1, filePath2); } }
public DependencyGraphItem(ProjectModel projectModel) { this.metadata = new HashMap<>(1); this.metadata.put("name", projectModel.getRootFileModel().getFileName()); this.kind = Kind.getKind(projectModel); }
private List<String> getAllFatherProjectPaths(ProjectModel projectModel) { List<String> paths = new ArrayList<String>(); paths.add(projectModel.getRootFileModel().getFilePath()); while (projectModel.getParentProject() != null) { projectModel = projectModel.getParentProject(); paths.add(projectModel.getRootFileModel().getFilePath()); } return paths; } }
protected String getProjectName(ProjectModel projectModel) { FileModel fileModel = projectModel.getRootFileModel(); if (fileModel != null) { return fileModel.getFileName(); } return projectModel.getName(); }
/** * Tries to guess the packaging of the archive - whether it's an EAR, WAR, JAR. * Maybe not needed as we can rely on the suffix? */ private static String guessPackaging(ProjectModel projectModel) { String projectType = projectModel.getProjectType(); if (projectType != null) return projectType; LOG.warning("WINDUP-983 getProjectType() returned null for: " + projectModel.getRootFileModel().getPrettyPath()); String suffix = StringUtils.substringAfterLast(projectModel.getRootFileModel().getFileName(), "."); if ("jar war ear sar har ".contains(suffix+" ")){ projectModel.setProjectType(suffix); // FIXME: Remove when WINDUP-983 is fixed. return suffix; } // Should we try something more? Used APIs? What if it's a source? return "unknown"; }
private Integer countLibrariesInModel(GraphContext graphContext, ProjectModel projectModel) { int count = 0; for (ProjectModel child: projectModel.getChildProjects()) { if(child.getRootFileModel() instanceof ArchiveModel) { count++; count += countLibrariesInModel(graphContext, child); } } return count; } }
/** * Tries to guess the packaging of the archive - whether it's an EAR, WAR, JAR. * Maybe not needed as we can rely on the suffix? */ private static String guessPackaging(ProjectModel projectModel) { String projectType = projectModel.getProjectType(); if (projectType != null) return projectType; LOG.warning("WINDUP-983 getProjectType() returned null for: " + projectModel.getRootFileModel().getPrettyPath()); String suffix = StringUtils.substringAfterLast(projectModel.getRootFileModel().getFileName(), "."); if ("jar war ear sar har ".contains(suffix+" ")){ projectModel.setProjectType(suffix); // FIXME: Remove when WINDUP-983 is fixed. return suffix; } // Should we try something more? Used APIs? What if it's a source? return "unknown"; }
private Integer countLibrariesInModel(GraphContext graphContext, ProjectModel projectModel) { int count = 0; for (ProjectModel child: projectModel.getChildProjects()) { if(child.getRootFileModel() instanceof ArchiveModel) { count++; count += countLibrariesInModel(graphContext, child); } } return count; } }
public int compare(ApplicationReportModel o1, ApplicationReportModel o2) { // If the info is missing, put that to the end. This may be the case of virtual apps. if (null == o1.getProjectModel() || null == o1.getProjectModel().getRootFileModel() || null == o1.getProjectModel().getRootFileModel().getFileName() ) return 1; if (null == o2.getProjectModel() || null == o2.getProjectModel().getRootFileModel() || null == o2.getProjectModel().getRootFileModel().getFileName() ) return -1; try { return o1.getProjectModel().getRootFileModel().getFileName().compareToIgnoreCase(o2.getProjectModel().getRootFileModel().getFileName()); //return Comparator.comparing((ApplicationReportModel o) -> o.getProjectModel().getRootFileModel().getFileName(), String::compareToIgnoreCase).compare(o1, o2); } catch (Throwable ex) { return 0; } } }
public int compare(ApplicationReportModel o1, ApplicationReportModel o2) { // If the info is missing, put that to the end. This may be the case of virtual apps. if (null == o1.getProjectModel() || null == o1.getProjectModel().getRootFileModel() || null == o1.getProjectModel().getRootFileModel().getFileName() ) return 1; if (null == o2.getProjectModel() || null == o2.getProjectModel().getRootFileModel() || null == o2.getProjectModel().getRootFileModel().getFileName() ) return -1; try { return o1.getProjectModel().getRootFileModel().getFileName().compareToIgnoreCase(o2.getProjectModel().getRootFileModel().getFileName()); //return Comparator.comparing((ApplicationReportModel o) -> o.getProjectModel().getRootFileModel().getFileName(), String::compareToIgnoreCase).compare(o1, o2); } catch (Throwable ex) { return 0; } } }
@Override public int compare(ProjectModelTraversal o1, ProjectModelTraversal o2) { String filePath1 = o1.getFilePath(o1.getCanonicalProject().getRootFileModel()); String filePath2 = o2.getFilePath(o2.getCanonicalProject().getRootFileModel()); return filePathComparator.compare(filePath1, filePath2); } }
@Override public int compare(ProjectModelTraversal o1, ProjectModelTraversal o2) { String filePath1 = o1.getFilePath(o1.getCanonicalProject().getRootFileModel()); String filePath2 = o2.getFilePath(o2.getCanonicalProject().getRootFileModel()); return filePathComparator.compare(filePath1, filePath2); } }
@Override public boolean apply(ProjectModelTraversal input) { FileModel rootFile = input.getCurrent().getRootFileModel(); // This duplicate handling logic only applies to archives, so skip if it is not an archive if (!(rootFile instanceof ArchiveModel)) return true; ArchiveModel archive = (ArchiveModel) rootFile; if (!alreadySeenHashes.contains(archive.getSHA1Hash())) { alreadySeenHashes.add(archive.getSHA1Hash()); return true; } else { return false; } } });
private boolean include(ReportFilterDTO reportFilterDTO, PersistedProjectModelTraversalModel persistedTraversal) { if (reportFilterDTO == null || !reportFilterDTO.isEnabled()) return true; String traversalProjectPath = persistedTraversal.getCurrentProject().getRootFileModel().getFilePath(); return reportFilterDTO.getSelectedApplicationPaths().contains(traversalProjectPath); }
@Override public void visit(ProjectModelTraversal traversal) { FileModel rootFile = traversal.getCurrent().getRootFileModel(); if (!(rootFile instanceof ArchiveModel)) return; ArchiveModel archive = (ArchiveModel) rootFile; String filePath = traversal.getFilePath(archive); addToMap(archive.getSHA1Hash(), filePath); } };
@Override public void visit(ProjectModelTraversal traversal) { FileModel rootFile = traversal.getCurrent().getRootFileModel(); if (!(rootFile instanceof ArchiveModel)) return; ArchiveModel archive = (ArchiveModel) rootFile; String filePath = traversal.getFilePath(archive); addToMap(archive.getSHA1Hash(), filePath); } };
private void writeCsvRecordForProject(Map<String, CSVWriter> projectToFile, String outputFolderPath, ProjectModel projectModel, String[] line) { if (!projectToFile.containsKey(projectModel.getName())) { String filename = PathUtil.cleanFileName(projectModel.getRootFileModel().getFileName()) + ".csv"; CSVWriter writer = initCSVWriter(outputFolderPath + filename); projectToFile.put(projectModel.getName(), writer); LOG.info("Setting csv filename to: " + filename + " for id: " + projectModel.getId()); projectModel.setCsvFilename(filename); } projectToFile.get(projectModel.getName()).writeNext(line); }