fixed test issue, made tests simpler, added default Main
This commit is contained in:
parent
254fef17af
commit
dab266b9e3
18 changed files with 58 additions and 149 deletions
|
|
@ -46,3 +46,6 @@ dependencies{
|
||||||
testCompile 'javax.annotation:jsr250-api:1.0'
|
testCompile 'javax.annotation:jsr250-api:1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
springBoot {
|
||||||
|
mainClass = "yooze.application.YoozeServer"
|
||||||
|
}
|
||||||
|
|
@ -10,6 +10,11 @@ import yooze.domain.ClassModel;
|
||||||
public class ClassCache {
|
public class ClassCache {
|
||||||
private final Map<String, ClassModel> entries = new ConcurrentHashMap<String, ClassModel>();
|
private final Map<String, ClassModel> entries = new ConcurrentHashMap<String, ClassModel>();
|
||||||
private InclusionDecider inclusionDecider;
|
private InclusionDecider inclusionDecider;
|
||||||
|
private final static ClassCache instance = new ClassCache();
|
||||||
|
|
||||||
|
private ClassCache() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public boolean contains(String classname) {
|
public boolean contains(String classname) {
|
||||||
return entries.containsKey(classname);
|
return entries.containsKey(classname);
|
||||||
|
|
@ -47,4 +52,8 @@ public class ClassCache {
|
||||||
this.inclusionDecider = inclusionDecider;
|
this.inclusionDecider = inclusionDecider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ClassCache getInstance() {
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,15 @@ public class ClassModelBuilder {
|
||||||
private static Logger log = LoggerFactory.getLogger(ClassModelBuilder.class);
|
private static Logger log = LoggerFactory.getLogger(ClassModelBuilder.class);
|
||||||
|
|
||||||
private ClassPool pool;
|
private ClassPool pool;
|
||||||
private InclusionDecider inclusionDecider;
|
private final InclusionDecider inclusionDecider;
|
||||||
private ClassCache classCache;
|
private ClassCache classCache;
|
||||||
|
|
||||||
|
public ClassModelBuilder(InclusionDecider inclusionDecider) {
|
||||||
|
this.inclusionDecider = inclusionDecider;
|
||||||
|
classCache = ClassCache.getInstance();
|
||||||
|
classCache.setInclusionDecider(inclusionDecider);
|
||||||
|
}
|
||||||
|
|
||||||
public ClassModel scanClassOrSkip(String className) {
|
public ClassModel scanClassOrSkip(String className) {
|
||||||
if (inclusionDecider.shouldSkip(className))
|
if (inclusionDecider.shouldSkip(className))
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -55,6 +61,7 @@ public class ClassModelBuilder {
|
||||||
resolveMethodReferences();
|
resolveMethodReferences();
|
||||||
return model;
|
return model;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
System.out.println(e.getClass().getName() + ":" + e.getMessage());
|
System.out.println(e.getClass().getName() + ":" + e.getMessage());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -110,15 +117,8 @@ public class ClassModelBuilder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setInclusionDecider(InclusionDecider inclusionDecider) {
|
|
||||||
this.inclusionDecider = inclusionDecider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPool(ClassPool pool) {
|
public void setPool(ClassPool pool) {
|
||||||
this.pool = pool;
|
this.pool = pool;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClassCache(ClassCache classCache) {
|
|
||||||
this.classCache = classCache;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,12 @@ public class GraphBuilder {
|
||||||
|
|
||||||
Graph graph = createClassDependencyGraph(pool, cpList, className, e);
|
Graph graph = createClassDependencyGraph(pool, cpList, className, e);
|
||||||
graph.setName(archiveFile.getName());
|
graph.setName(archiveFile.getName());
|
||||||
|
|
||||||
|
// leave ClassPool in original state, because getDefault will always
|
||||||
|
// return the same instance
|
||||||
|
for (ClassPath cp : cpList) {
|
||||||
|
pool.removeClassPath(cp);
|
||||||
|
}
|
||||||
return graph;
|
return graph;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,7 @@ public class Yooze {
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageExcludePatterns(packageExcludePatterns);
|
i.setPackageExcludePatterns(packageExcludePatterns);
|
||||||
i.setPackageIncludePatterns(packageIncludePatterns);
|
i.setPackageIncludePatterns(packageIncludePatterns);
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
libDirectoryBuilder.setClassModelBuilder(classModelBuilder);
|
libDirectoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = libDirectoryBuilder.build(archive, startingClass);
|
Graph graph = libDirectoryBuilder.build(archive, startingClass);
|
||||||
|
|
|
||||||
|
|
@ -109,17 +109,15 @@ public class YoozeServer {
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void startup() throws IOException {
|
public void startup() throws IOException {
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider inclusionDecider = new InclusionDecider();
|
||||||
i.setPackageExcludePatterns("java\\.");
|
inclusionDecider.setPackageExcludePatterns("java\\.");
|
||||||
i.setPackageIncludePatterns("org");
|
inclusionDecider.setPackageIncludePatterns("org");
|
||||||
GraphBuilder directoryBuilder = GraphBuilderFactory.getJarBuilder();
|
GraphBuilder directoryBuilder = GraphBuilderFactory.getJarBuilder();
|
||||||
classCache = new ClassCache();
|
classCache = ClassCache.getInstance();
|
||||||
classCache.setInclusionDecider(i);
|
classCache.setInclusionDecider(inclusionDecider);
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(inclusionDecider);
|
||||||
classModelBuilder.setClassCache(classCache);
|
|
||||||
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
raw = directoryBuilder.build("src/test/resources/commons-io-1.4.jar", null);
|
raw = directoryBuilder.build("src/test/resources/commons-io-1.4.jar", null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package yooze.domain;
|
package yooze.domain;
|
||||||
|
|
||||||
import javassist.CtClass;
|
import javassist.CtClass;
|
||||||
|
import yooze.ClassCache;
|
||||||
|
|
||||||
public class ParameterModel {
|
public class ParameterModel {
|
||||||
private ClassModel type;
|
private ClassModel type;
|
||||||
|
|
@ -8,10 +9,10 @@ public class ParameterModel {
|
||||||
|
|
||||||
public ParameterModel(CtClass typeAsCtClass) {
|
public ParameterModel(CtClass typeAsCtClass) {
|
||||||
String classname = typeAsCtClass.getName();
|
String classname = typeAsCtClass.getName();
|
||||||
// type = ClassCache.get(classname);
|
type = ClassCache.getInstance().get(classname);
|
||||||
// if (type == null) {
|
if (type == null) {
|
||||||
// type = ClassCache.createNewDummyModel(classname);
|
type = ClassCache.getInstance().createNewDummyModel(classname);
|
||||||
// }
|
}
|
||||||
name = "";// javassist doesn't give me this (?)
|
name = "";// javassist doesn't give me this (?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
2
src/main/resources/META-INF/MANIFEST.MF
Normal file
2
src/main/resources/META-INF/MANIFEST.MF
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
Main-Class: yooze.application.YoozeServer
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
package yooze;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class Config {
|
|
||||||
private File earFile;
|
|
||||||
private File tgzFile;
|
|
||||||
|
|
||||||
public void setEarFile(File earFile) {
|
|
||||||
this.earFile = earFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public File getEarFile() {
|
|
||||||
return earFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public File getTgzFile() {
|
|
||||||
return tgzFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTgzFile(File tgzFile) {
|
|
||||||
this.tgzFile = tgzFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -7,32 +7,20 @@ import java.io.IOException;
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext.ClassMode;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.application.GraphBuilderFactory;
|
import yooze.application.GraphBuilderFactory;
|
||||||
import yooze.domain.ClassModel;
|
import yooze.domain.ClassModel;
|
||||||
import yooze.domain.Graph;
|
import yooze.domain.Graph;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
|
|
||||||
public class GraphTest {
|
public class GraphTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void buildGraph() throws IOException {
|
public void buildGraph() throws IOException {
|
||||||
// new Yooze("/tmp/test").createNeoGraph("target/test-classes",
|
|
||||||
// ".*?.Class.");
|
|
||||||
GraphBuilder libDirectoryBuilder = GraphBuilderFactory.getClassesDirectoryBuilder();
|
GraphBuilder libDirectoryBuilder = GraphBuilderFactory.getClassesDirectoryBuilder();
|
||||||
|
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageIncludePatterns(".*?.Class.");
|
i.setPackageIncludePatterns(".*?.Class.");
|
||||||
i.setPackageExcludePatterns("");
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
libDirectoryBuilder.setClassModelBuilder(classModelBuilder);
|
libDirectoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = libDirectoryBuilder.build("target/test-classes", "yooze.Class1");
|
Graph graph = libDirectoryBuilder.build("target/test-classes", "yooze.Class1");
|
||||||
|
|
|
||||||
|
|
@ -4,25 +4,14 @@ import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.springframework.core.io.DefaultResourceLoader;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext.ClassMode;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.application.GraphBuilderFactory;
|
import yooze.application.GraphBuilderFactory;
|
||||||
import yooze.domain.Graph;
|
import yooze.domain.Graph;
|
||||||
import yooze.output.DotPrinter;
|
import yooze.output.DotPrinter;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
|
|
||||||
public class LargePackageTest {
|
public class LargePackageTest {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private Config config;
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void largePackage() throws IOException {
|
public void largePackage() throws IOException {
|
||||||
GraphBuilder earBuilder = GraphBuilderFactory.getEarBuilder();
|
GraphBuilder earBuilder = GraphBuilderFactory.getEarBuilder();
|
||||||
|
|
@ -30,22 +19,14 @@ public class LargePackageTest {
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageIncludePatterns("");
|
i.setPackageIncludePatterns("");
|
||||||
i.setPackageExcludePatterns("java.*");
|
i.setPackageExcludePatterns("java.*");
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
earBuilder.setClassModelBuilder(classModelBuilder);
|
earBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = earBuilder.build(config.getEarFile(), "java.lang.String");
|
Graph graph = earBuilder.build(new DefaultResourceLoader().getResource("classpath:examples.ear").getFile(),
|
||||||
|
"java.lang.String");
|
||||||
DotPrinter dotPrinter = new DotPrinter(new FileOutputStream("/tmp/example.dot"));
|
DotPrinter dotPrinter = new DotPrinter(new FileOutputStream("/tmp/example.dot"));
|
||||||
dotPrinter.print(graph);
|
dotPrinter.print(graph);
|
||||||
dotPrinter.close();
|
dotPrinter.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Config getConfig() {
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setConfig(Config config) {
|
|
||||||
this.config = config;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,19 +10,11 @@ import org.codehaus.jackson.JsonGenerator;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
import org.codehaus.jackson.map.ObjectMapper;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext;
|
|
||||||
import org.springframework.test.annotation.DirtiesContext.ClassMode;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.application.GraphBuilderFactory;
|
import yooze.application.GraphBuilderFactory;
|
||||||
import yooze.domain.MethodModel;
|
import yooze.domain.MethodModel;
|
||||||
import yooze.dto.MethodDto;
|
import yooze.dto.MethodDto;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
|
|
||||||
public class MethodReferencesTest {
|
public class MethodReferencesTest {
|
||||||
|
|
||||||
@After
|
@After
|
||||||
|
|
@ -36,8 +28,7 @@ public class MethodReferencesTest {
|
||||||
|
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageIncludePatterns("yooze.Class.*");
|
i.setPackageIncludePatterns("yooze.Class.*");
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
directoryBuilder.build("target/test-classes", "yooze.Class1");
|
directoryBuilder.build("target/test-classes", "yooze.Class1");
|
||||||
|
|
|
||||||
|
|
@ -6,34 +6,25 @@ import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.springframework.core.io.DefaultResourceLoader;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.application.GraphBuilderFactory;
|
import yooze.application.GraphBuilderFactory;
|
||||||
import yooze.domain.ClassModel;
|
import yooze.domain.ClassModel;
|
||||||
import yooze.domain.Graph;
|
import yooze.domain.Graph;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
public class TgzBuilderTest {
|
public class TgzBuilderTest {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private Config config;
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void tgzBuilder() throws IOException {
|
public void tgzBuilder() throws IOException {
|
||||||
GraphBuilder tgzBuilder = GraphBuilderFactory.getDefaultTgzBuilder();
|
GraphBuilder tgzBuilder = GraphBuilderFactory.getDefaultTgzBuilder();
|
||||||
|
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageIncludePatterns("nl.*");
|
i.setPackageIncludePatterns("nl\\.");
|
||||||
i.setPackageExcludePatterns("");
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
tgzBuilder.setClassModelBuilder(classModelBuilder);
|
tgzBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = tgzBuilder.build(config.getTgzFile(), "nl.jssl.jas.Main");
|
Graph graph = tgzBuilder.build(new DefaultResourceLoader().getResource("classpath:agent.tar.gz").getFile(),
|
||||||
|
"nl.jssl.jas.Main");
|
||||||
|
|
||||||
ArrayList<String> names = new ArrayList<String>();
|
ArrayList<String> names = new ArrayList<String>();
|
||||||
|
|
||||||
|
|
@ -43,7 +34,4 @@ public class TgzBuilderTest {
|
||||||
assertTrue(names.contains("nl.jssl.jas.Main"));
|
assertTrue(names.contains("nl.jssl.jas.Main"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setConfig(Config config) {
|
|
||||||
this.config = config;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,6 @@ import java.io.IOException;
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.ClassModelBuilder;
|
import yooze.ClassModelBuilder;
|
||||||
import yooze.GraphBuilder;
|
import yooze.GraphBuilder;
|
||||||
|
|
@ -16,8 +13,6 @@ import yooze.InclusionDecider;
|
||||||
import yooze.application.GraphBuilderFactory;
|
import yooze.application.GraphBuilderFactory;
|
||||||
import yooze.domain.Graph;
|
import yooze.domain.Graph;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
public class DotPrinterTest {
|
public class DotPrinterTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -26,8 +21,7 @@ public class DotPrinterTest {
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageExcludePatterns(".*?Class4");
|
i.setPackageExcludePatterns(".*?Class4");
|
||||||
i.setPackageIncludePatterns(".*?.Class.");
|
i.setPackageIncludePatterns(".*?.Class.");
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class1");
|
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class1");
|
||||||
|
|
||||||
|
|
@ -57,10 +51,8 @@ public class DotPrinterTest {
|
||||||
GraphBuilder directoryBuilder = GraphBuilderFactory.getClassesDirectoryBuilder();
|
GraphBuilder directoryBuilder = GraphBuilderFactory.getClassesDirectoryBuilder();
|
||||||
|
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageExcludePatterns("");
|
|
||||||
i.setPackageIncludePatterns("yooze.Class4");
|
i.setPackageIncludePatterns("yooze.Class4");
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class4");
|
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class4");
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,7 @@ public class JsonPrinterTest {
|
||||||
InclusionDecider i = new InclusionDecider();
|
InclusionDecider i = new InclusionDecider();
|
||||||
i.setPackageExcludePatterns(".*?Class4");
|
i.setPackageExcludePatterns(".*?Class4");
|
||||||
i.setPackageIncludePatterns(".*?.Class.");
|
i.setPackageIncludePatterns(".*?.Class.");
|
||||||
ClassModelBuilder classModelBuilder = new ClassModelBuilder();
|
ClassModelBuilder classModelBuilder = new ClassModelBuilder(i);
|
||||||
classModelBuilder.setInclusionDecider(i);
|
|
||||||
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
directoryBuilder.setClassModelBuilder(classModelBuilder);
|
||||||
|
|
||||||
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class1");
|
Graph graph = directoryBuilder.build("target/test-classes", "yooze.Class1");
|
||||||
|
|
|
||||||
|
|
@ -8,24 +8,16 @@ import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.springframework.core.io.DefaultResourceLoader;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
||||||
|
|
||||||
import yooze.Config;
|
|
||||||
import yooze.InspectableClasspath;
|
import yooze.InspectableClasspath;
|
||||||
|
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
|
||||||
@ContextConfiguration(locations = "classpath:applicationContext-test.xml")
|
|
||||||
public class EarScannerTest {
|
public class EarScannerTest {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private Config config;
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void scanner() throws IOException {
|
public void scanner() throws IOException {
|
||||||
List<InspectableClasspath> classpaths = new ArchiveScanner(new WarScanner()).scanArchive(config.getEarFile());
|
List<InspectableClasspath> classpaths = new ArchiveScanner(new WarScanner())
|
||||||
|
.scanArchive(new DefaultResourceLoader().getResource("classpath:examples.ear").getFile());
|
||||||
for (InspectableClasspath path : classpaths) {
|
for (InspectableClasspath path : classpaths) {
|
||||||
if (path instanceof DirClassPath) {
|
if (path instanceof DirClassPath) {
|
||||||
List<String> classes = ((InspectableClasspath) path).getClasses();
|
List<String> classes = ((InspectableClasspath) path).getClasses();
|
||||||
|
|
@ -40,9 +32,4 @@ public class EarScannerTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setConfig(Config config) {
|
|
||||||
this.config = config;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ public class LibScannerTest {
|
||||||
@Test
|
@Test
|
||||||
public void directoryWithoutJars_isNotAClasspathEntry() throws IOException {
|
public void directoryWithoutJars_isNotAClasspathEntry() throws IOException {
|
||||||
LibScanner libScanner = new LibScanner();
|
LibScanner libScanner = new LibScanner();
|
||||||
List<InspectableClasspath> classpathList = libScanner.scanArchive("src");
|
List<InspectableClasspath> classpathList = libScanner.scanArchive("src/main");
|
||||||
assertTrue("This should be empty", classpathList.isEmpty());
|
assertTrue("This should be empty", classpathList.isEmpty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
|
||||||
<bean id="config" class="yooze.Config">
|
|
||||||
<property name="earFile" value="classpath:examples.ear"></property>
|
|
||||||
<property name="tgzFile" value="classpath:agent.tar.gz"></property>
|
|
||||||
</bean>
|
|
||||||
</beans>
|
|
||||||
Loading…
Add table
Reference in a new issue