X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FClassGraph.java;h=65b8d4d8fff0cb2eae351d5bc6946c9ef5b96801;hb=c98cda3c339e0a3345884e17e7657301d285ca1f;hp=45d600a2256b94cd6ea21a0aa21e80c2bb737a9c;hpb=d4780f4855f42272779c424b0d5e88f4e4621418;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java b/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java index 45d600a..65b8d4d 100755 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/ClassGraph.java @@ -1,6 +1,6 @@ /* * JavaInspect - Utility to visualize java software - * Copyright (C) 2013-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu + * Copyright (C) 2013-2020, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu * * This program is free software; you can redistribute it and/or * modify it under the terms of version 3 of the GNU Lesser General Public License @@ -9,10 +9,7 @@ package eu.svjatoslav.inspector.java.structure; -import eu.svjatoslav.commons.file.CommonPathResolver; -import eu.svjatoslav.commons.string.WildCardMatcher; -import eu.svjatoslav.inspector.java.methods.Clazz; -import eu.svjatoslav.inspector.java.methods.ProjectScanner; +import eu.svjatoslav.commons.string.GlobMatcher; import java.io.File; import java.io.IOException; @@ -22,7 +19,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static eu.svjatoslav.inspector.java.methods.JavaFile.UTF_8; +import static java.io.File.separator; +import static java.lang.System.getProperty; public class ClassGraph { @@ -35,9 +33,13 @@ public class ClassGraph { private final List whitelistClassGlobs = new ArrayList<>(); TargetImageType targetImageType = TargetImageType.SVG; - private File targetDirectory = CommonPathResolver.getDesktopDirectory(); private boolean keepDotFile; + /** + * Default to current directory + */ + private File targetDirectory = new File(getProperty("user.dir") + separator); + public ClassGraph() { } @@ -61,23 +63,6 @@ public class ClassGraph { getOrCreateClassDescriptor(object.getClass()); } - /** - * @param path path to recursively scan for java source code could be - * relative to current project or absolute - */ - public void addProject(final String path) { - final ProjectScanner projectScanner = new ProjectScanner(new File(path)); - for (final Clazz clazz : projectScanner.getAllClasses()) - try { - System.out.println("Class full name: " + clazz.getFullName()); - final Class c = Class.forName(clazz.getFullName()); - addObject(c); - } catch (final Exception exception) { - System.out.println("cannot add class: " - + exception.getMessage()); - } - } - public void blacklistClassGlob(final String glob) { blacklistClassGlobs.add(glob); } @@ -99,7 +84,7 @@ public class ClassGraph { try { // write DOT file to disk - final PrintWriter out = new PrintWriter(dotFile, UTF_8); + final PrintWriter out = new PrintWriter(dotFile, "UTF-8"); out.write(getDot()); out.close(); @@ -181,12 +166,12 @@ public class ClassGraph { protected boolean isClassShown(final String className) { for (final String pattern : blacklistClassGlobs) - if (WildCardMatcher.match(className, pattern)) + if (GlobMatcher.match(className, pattern)) return false; if (!whitelistClassGlobs.isEmpty()) { for (final String pattern : whitelistClassGlobs) - if (WildCardMatcher.match(className, pattern)) + if (GlobMatcher.match(className, pattern)) return true; return false; }