*/\r
public class BirthmarkEnvironment{\r
/**\r
- * Default context. All instance of this class is based on default context.\r
+ * Default environment. All instance of this class is based on default environment.\r
*/\r
- private static BirthmarkEnvironment DEFAULT_CONTEXT = new BirthmarkEnvironment(true);\r
+ private static BirthmarkEnvironment DEFAULT_ENVIRONMENT = new BirthmarkEnvironment(true);\r
\r
/**\r
- * parent of this context.\r
+ * parent of this environment.\r
*/\r
private BirthmarkEnvironment parent;\r
\r
private ComparisonPairFilterManager filterManager;\r
\r
/**\r
- * birthmark extraction unit.\r
+ * @deprecated moved to BirthmarkContext\r
*/\r
- private ExtractionUnit unit = ExtractionUnit.CLASS;\r
+ private ExtractionUnit unit;\r
\r
/**\r
- * constructor for root context\r
+ * constructor for root environment\r
*/\r
private BirthmarkEnvironment(boolean flag){\r
manager = new WellknownClassManager();\r
\r
/**\r
* default constructor. The instance constructed by this constructor has\r
- * default context as the parent.\r
+ * default environment as the parent.\r
*/\r
public BirthmarkEnvironment(){\r
- this(getDefaultContext());\r
+ this(getDefaultEnvironment());\r
}\r
\r
/**\r
- * constructor for specifying parent context.\r
+ * constructor for specifying parent environment.\r
*/\r
public BirthmarkEnvironment(BirthmarkEnvironment parent){\r
this.parent = parent;\r
}\r
\r
/**\r
- * returns the default birthmark context.\r
+ * returns the default birthmark environment.\r
*/\r
- public static final BirthmarkEnvironment getDefaultContext(){\r
- return DEFAULT_CONTEXT;\r
+ public static final BirthmarkEnvironment getDefaultEnvironment(){\r
+ return DEFAULT_ENVIRONMENT;\r
}\r
\r
public BirthmarkEnvironment getParent(){\r
}\r
\r
/**\r
- * add given birthmark service to this context.\r
+ * add given birthmark service to this environment.\r
*/\r
public synchronized void addService(BirthmarkSpi service){\r
if(parent == null || parent.getService(service.getType()) == null){\r
}\r
\r
/**\r
- * remove given birthmark service from this context.\r
+ * remove given birthmark service from this environment.\r
*/\r
public void removeService(String type){\r
services.remove(type);\r
}\r
\r
/**\r
- * return all birthmark services searching traverse to root context.\r
+ * return all birthmark services searching traverse to root environment.\r
*/\r
public synchronized BirthmarkSpi[] getServices(){\r
List<BirthmarkSpi> list = getServiceList();\r
}\r
\r
/**\r
- * find the all birthmark services searching to root context.\r
+ * find the all birthmark services searching to root environment.\r
*/\r
private List<BirthmarkSpi> getServiceList(){\r
List<BirthmarkSpi> list = new ArrayList<BirthmarkSpi>();\r
return filterManager;\r
}\r
\r
- public ExtractionUnit getExtractionUnit(){\r
- return unit;\r
- }\r
-\r
public void setExtractionUnit(ExtractionUnit unit){\r
this.unit = unit;\r
}\r
+\r
+ public ExtractionUnit getExtractionUnit(){\r
+ return unit;\r
+ }\r
}\r
public Birthmark extract(byte[] bytecode) throws BirthmarkExtractionFailedException;\r
\r
/**\r
- * extract birthmark from given stream with given context.\r
+ * extract birthmark from given stream with given environment.\r
*/\r
- public Birthmark extract(InputStream in, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException;\r
+ public Birthmark extract(InputStream in, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException;\r
\r
/**\r
- * extract birthmark from given byte array with given context.\r
+ * extract birthmark from given byte array with given environment.\r
*/\r
- public Birthmark extract(byte[] bytecode, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException;\r
+ public Birthmark extract(byte[] bytecode, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException;\r
\r
/**\r
* extract birthmark from given stream and add element to given birthmark object.\r
public Birthmark extract(Birthmark birthmark, byte[] bytecode) throws BirthmarkExtractionFailedException;\r
\r
/**\r
- * extract birthmark from given stream with given context and add element to given birthmark object.\r
+ * extract birthmark from given stream with given environment and add element to given birthmark object.\r
*/\r
- public Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException;\r
+ public Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException;\r
\r
/**\r
- * extract birthmark from given byte array with given context and add element to given birthmark object.\r
+ * extract birthmark from given byte array with given environment and add element to given birthmark object.\r
*/\r
- public Birthmark extract(Birthmark birthmark, byte[] bytecode, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException;\r
+ public Birthmark extract(Birthmark birthmark, byte[] bytecode, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException;\r
}\r
* @version $Revision$ $Date$\r
*/\r
public class CertainPairComparisonResultSet implements ComparisonResultSet{\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private List<ComparisonPair> pairList = new ArrayList<ComparisonPair>();\r
private Map<URL, BirthmarkSet> sources = new HashMap<URL, BirthmarkSet>();\r
\r
/**\r
* This constructor is the comparison pair list is specified.\r
*/\r
- public CertainPairComparisonResultSet(ComparisonPair[] pairs, BirthmarkEnvironment context){\r
- this.context = context;\r
+ public CertainPairComparisonResultSet(ComparisonPair[] pairs, BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
for(int i = 0; i < pairs.length; i++){\r
pairList.add(pairs[i]);\r
sources.put(pairs[i].getTarget1().getLocation(), pairs[i].getTarget1());\r
/**\r
* This constructor is the comparison pair was guessed with class name.\r
*/\r
- public CertainPairComparisonResultSet(BirthmarkSet[] targetX, BirthmarkSet[] targetY, BirthmarkEnvironment context){\r
- this.context = context;\r
+ public CertainPairComparisonResultSet(BirthmarkSet[] targetX, BirthmarkSet[] targetY, BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
for(int i = 0; i < targetX.length; i++){\r
BirthmarkSet target2 = findTarget(targetX[i].getName(), targetY);\r
\r
if(target2 != null){\r
- pairList.add(new ComparisonPair(targetX[i], target2, context));\r
+ pairList.add(new ComparisonPair(targetX[i], target2, environment));\r
}\r
}\r
addSources(targetX);\r
/**\r
* This constructor is the comparison pair was specified as mapping.\r
*/\r
- public CertainPairComparisonResultSet(BirthmarkSet[] targetX, BirthmarkSet[] targetY, Map<String, String> mapping, BirthmarkEnvironment context){\r
- this.context = context;\r
+ public CertainPairComparisonResultSet(BirthmarkSet[] targetX, BirthmarkSet[] targetY, Map<String, String> mapping, BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
for(Map.Entry<String, String> entry: mapping.entrySet()){\r
BirthmarkSet target1 = findTarget(entry.getKey(), targetX);\r
BirthmarkSet target2 = findTarget(entry.getValue(), targetY);\r
}\r
}\r
if(target1 != null && target2 != null){\r
- pairList.add(new ComparisonPair(target1, target2, context));\r
+ pairList.add(new ComparisonPair(target1, target2, environment));\r
}\r
}\r
addSources(targetX);\r
}\r
\r
/**\r
- * return the context.\r
+ * return the environment.\r
*/\r
- public BirthmarkEnvironment getContext(){\r
- return context;\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
/**\r
public class ComparisonPair implements Iterable<ComparisonPairElement>{\r
private BirthmarkSet target1;\r
private BirthmarkSet target2;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
/**\r
* constructor.\r
*/\r
- public ComparisonPair(BirthmarkSet target1, BirthmarkSet target2, BirthmarkEnvironment context){\r
+ public ComparisonPair(BirthmarkSet target1, BirthmarkSet target2, BirthmarkEnvironment environment){\r
this.target1 = target1;\r
this.target2 = target2;\r
- this.context = context;\r
+ this.environment = environment;\r
\r
if(target1.getBirthmarksCount() != target2.getBirthmarksCount()){\r
throw new IllegalArgumentException("birthmark count is not matched");\r
Birthmark b1 = target1.getBirthmark(type);\r
Birthmark b2 = target2.getBirthmark(type);\r
if(b1 != null && b2 != null){\r
- list.add(new ComparisonPairElement(b1, b2, context.getService(type).getComparator()));\r
+ list.add(new ComparisonPairElement(b1, b2, environment.getService(type).getComparator()));\r
}\r
}\r
return list.iterator();\r
*/\r
public interface ComparisonResultSet extends Iterable<ComparisonPair>{\r
/**\r
- * returns the birthmark context.\r
+ * returns the birthmark environment.\r
*/\r
- public BirthmarkEnvironment getContext();\r
+ public BirthmarkEnvironment getEnvironment();\r
\r
/**\r
* returns a iterator for {@link ComparisonPair <code>ComparisonPair</code>}.\r
*/\r
public final class Main{\r
private FormatManager manager = FormatManager.getInstance();\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
/**\r
* main process.\r
\r
Stigmata stigmata = Stigmata.getInstance();\r
stigmata.configuration(commandLine.getOptionValue("config-file"));\r
- context = stigmata.createContext();\r
+ environment = stigmata.createEnvironment();\r
\r
- addClasspath(context.getClasspathContext(), commandLine);\r
+ addClasspath(environment.getClasspathContext(), commandLine);\r
\r
String[] birthmarks = getTargetBirthmarks(commandLine);\r
String[] arguments = commandLine.getArgs();\r
compareBirthmarks(stigmata, birthmarks, filters, arguments, format);\r
}\r
else if(mode.equals("gui")){\r
- StigmataFrame frame = new StigmataFrame(stigmata, context);\r
+ StigmataFrame frame = new StigmataFrame(stigmata, environment);\r
frame.setVisible(true);\r
}\r
}\r
private void extractBirthmarks(Stigmata stigmata, String[] birthmarks,\r
String[] args, String format){\r
try{\r
- BirthmarkSet[] sets = stigmata.extract(birthmarks, args, context);\r
+ BirthmarkSet[] sets = stigmata.extract(birthmarks, args, environment);\r
\r
ResultFormatSpi spi = manager.getService(format);\r
BirthmarkExtractionResultFormat formatter = spi.getExtractionResultFormat();\r
private void compareBirthmarks(Stigmata stigmata, String[] birthmarks,\r
String[] filters, String[] args, String format){\r
try{\r
- BirthmarkSet[] sets = stigmata.extract(birthmarks, args, context);\r
- ComparisonResultSet resultset = stigmata.compare(sets, context);\r
+ BirthmarkSet[] sets = stigmata.extract(birthmarks, args, environment);\r
+ ComparisonResultSet resultset = stigmata.compare(sets, environment);\r
if(filters != null){\r
resultset = stigmata.filter(resultset, filters);\r
}\r
\r
private void listBirthmarks(Stigmata stigmata, String format){\r
try{\r
- BirthmarkSpi[] spis = stigmata.createContext().findServices();\r
+ BirthmarkSpi[] spis = stigmata.createEnvironment().findServices();\r
ResultFormatSpi spi = manager.getService(format);\r
BirthmarkServiceListFormat formatter = spi.getBirthmarkServiceListFormat();\r
\r
String[] birthmarks = cl.getOptionValues("birthmark");\r
if(birthmarks == null || birthmarks.length == 0){\r
List<String> birthmarkList = new ArrayList<String>();\r
- for(BirthmarkSpi service: context.getServices()){\r
+ for(BirthmarkSpi service: environment.getServices()){\r
if(!service.isExpert()){\r
birthmarkList.add(service.getType());\r
}\r
out = new PrintWriter(new FileWriter(file));\r
}\r
\r
- new ConfigFileExporter(context).export(out);\r
+ new ConfigFileExporter(environment).export(out);\r
out.close();\r
}catch(IOException e){\r
}\r
);\r
System.out.println();\r
System.out.println("Available birthmarks:");\r
- for(BirthmarkSpi service: context.getServices()){\r
+ for(BirthmarkSpi service: environment.getServices()){\r
if(!service.isExpert()){\r
System.out.printf(" %-5s (%s): %s%n", service.getType(),\r
service.getDisplayType(), service.getDescription());\r
}\r
System.out.println();\r
System.out.println("Available filers:");\r
- for(ComparisonPairFilterSet filterset: context.getFilterManager()\r
+ for(ComparisonPairFilterSet filterset: environment.getFilterManager()\r
.getFilterSets()){\r
System.out.printf(" %s (%s)%n", filterset.getName(), filterset.isMatchAll()? "match all": "match any");\r
for(ComparisonPairFilter filter: filterset){\r
public class RoundRobinComparisonResultSet implements ComparisonResultSet{\r
private List<BirthmarkSet> holders1;\r
private List<BirthmarkSet> holders2;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
private int compareCount;\r
private boolean tablePair = true;\r
* the instance (created by this constructor) compares { a<->b, a<->c,\r
* b<->c, }.\r
*/\r
- public RoundRobinComparisonResultSet(BirthmarkSet[] holders1, BirthmarkEnvironment context){\r
- this(holders1, context, false);\r
+ public RoundRobinComparisonResultSet(BirthmarkSet[] holders1, BirthmarkEnvironment environment){\r
+ this(holders1, environment, false);\r
}\r
\r
/**\r
* Otherwise, the instance compares { a<->b, a<->c, b<->c, } when\r
* samePair is false.\r
*/\r
- public RoundRobinComparisonResultSet(BirthmarkSet[] holders1, BirthmarkEnvironment context,\r
+ public RoundRobinComparisonResultSet(BirthmarkSet[] holders1, BirthmarkEnvironment environment,\r
boolean samePair){\r
this.holders1 = Arrays.asList(holders1);\r
this.holders2 = Arrays.asList(holders1);\r
- this.context = context;\r
+ this.environment = environment;\r
\r
tablePair = false;\r
setCompareSamePair(samePair);\r
* a<->z, b<->x, b<->y, b<->z, c<->x, c<->y, c<->z, }.\r
*/\r
public RoundRobinComparisonResultSet(final BirthmarkSet[] holders1, final BirthmarkSet[] holders2,\r
- BirthmarkEnvironment context){\r
+ BirthmarkEnvironment environment){\r
this.holders1 = Arrays.asList(holders1);\r
this.holders2 = Arrays.asList(holders2);\r
- this.context = context;\r
+ this.environment = environment;\r
tablePair = true;\r
\r
this.compareCount = holders1.length * holders2.length;\r
}\r
\r
/**\r
- * @return context\r
+ * @return environment\r
*/\r
- public BirthmarkEnvironment getContext(){\r
- return context;\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
/**\r
i = 0;\r
j++;\r
}\r
- ComparisonPair pair = new ComparisonPair(holders1.get(i), holders2.get(j), context);\r
+ ComparisonPair pair = new ComparisonPair(holders1.get(i), holders2.get(j), environment);\r
count++;\r
i++;\r
return pair;\r
* create a new {@link BirthmarkEnvironment <code>BirthmarkEnvironment</code>}.\r
*/\r
public BirthmarkEnvironment createEnvironment(){\r
- operationStart(OperationType.CREATE_CONTEXT);\r
+ operationStart(OperationType.CREATE_ENVIRONMENT);\r
BirthmarkEnvironment environment = new BirthmarkEnvironment();\r
- operationDone(OperationType.CREATE_CONTEXT);\r
+ operationDone(OperationType.CREATE_ENVIRONMENT);\r
return environment;\r
}\r
\r
}\r
\r
public abstract BirthmarkExtractVisitor\r
- createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context);\r
+ createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment);\r
\r
@Override\r
public Birthmark extract(Birthmark birthmark, InputStream in,\r
- BirthmarkEnvironment context) throws BirthmarkExtractionFailedException{\r
+ BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException{\r
BirthmarkExtractionFailedException bee = new BirthmarkExtractionFailedException();\r
\r
try{\r
ClassReader reader = new ClassReader(in);\r
ClassWriter writer = new ClassWriter(false);\r
- BirthmarkExtractVisitor visitor = createExtractVisitor(writer, birthmark, context);\r
+ BirthmarkExtractVisitor visitor = createExtractVisitor(writer, birthmark, environment);\r
reader.accept(visitor, false);\r
\r
if(!visitor.isSuccess()){\r
* extract birthmark given stream.\r
*/\r
public final Birthmark extract(InputStream in) throws BirthmarkExtractionFailedException{\r
- return extract(in, BirthmarkEnvironment.getDefaultContext());\r
+ return extract(in, BirthmarkEnvironment.getDefaultEnvironment());\r
}\r
\r
/**\r
* extract birthmark given byte array.\r
*/\r
public final Birthmark extract(byte[] bytecode) throws BirthmarkExtractionFailedException{\r
- return extract(bytecode, BirthmarkEnvironment.getDefaultContext());\r
+ return extract(bytecode, BirthmarkEnvironment.getDefaultEnvironment());\r
}\r
\r
/**\r
* extract birthmark given stream.\r
*/\r
public final Birthmark extract(Birthmark birthmark, InputStream in) throws BirthmarkExtractionFailedException{\r
- return extract(birthmark, in, BirthmarkEnvironment.getDefaultContext());\r
+ return extract(birthmark, in, BirthmarkEnvironment.getDefaultEnvironment());\r
}\r
\r
/**\r
* extract birthmark given byte array.\r
*/\r
public final Birthmark extract(Birthmark birthmark, byte[] bytecode) throws BirthmarkExtractionFailedException{\r
- return extract(birthmark, bytecode, BirthmarkEnvironment.getDefaultContext());\r
+ return extract(birthmark, bytecode, BirthmarkEnvironment.getDefaultEnvironment());\r
}\r
\r
/**\r
- * extract birthmark given stream with given context.\r
+ * extract birthmark given stream with given environment.\r
*/\r
- public final Birthmark extract(InputStream in, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException{\r
- return extract(createBirthmark(), in, context);\r
+ public final Birthmark extract(InputStream in, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException{\r
+ return extract(createBirthmark(), in, environment);\r
}\r
\r
/**\r
- * extract birthmark given byte array with given context.\r
+ * extract birthmark given byte array with given environment.\r
*/\r
- public final Birthmark extract(Birthmark birthmark, byte[] bytecode, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException{\r
- return extract(birthmark, new ByteArrayInputStream(bytecode), context);\r
+ public final Birthmark extract(Birthmark birthmark, byte[] bytecode, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException{\r
+ return extract(birthmark, new ByteArrayInputStream(bytecode), environment);\r
}\r
\r
/**\r
- * extract birthmark given byte array with given context.\r
+ * extract birthmark given byte array with given environment.\r
*/\r
- public final Birthmark extract(byte[] bytecode, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException{\r
- return extract(createBirthmark(), new ByteArrayInputStream(bytecode), context);\r
+ public final Birthmark extract(byte[] bytecode, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException{\r
+ return extract(createBirthmark(), new ByteArrayInputStream(bytecode), environment);\r
}\r
\r
/**\r
- * extract birthmark given stream with given context.\r
+ * extract birthmark given stream with given environment.\r
*/\r
- public abstract Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException;\r
+ public abstract Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException;\r
\r
/**\r
* create birthmark.\r
*/\r
public abstract class BirthmarkExtractVisitor extends ClassAdapter{\r
private Birthmark birthmark;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private List<Throwable> causes = new ArrayList<Throwable>();\r
\r
- public BirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment context){\r
+ public BirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment environment){\r
super(visitor);\r
this.birthmark = birthmark;\r
- this.context = context;\r
+ this.environment = environment;\r
}\r
\r
- protected BirthmarkEnvironment getContext(){\r
- return context;\r
+ protected BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
protected void addElement(BirthmarkElement element){\r
private BirthmarkExtractor extractorObject;\r
private BirthmarkComparator comparatorObject;\r
private boolean userDefined = true;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
- public BirthmarkService(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public BirthmarkService(BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
}\r
\r
public BirthmarkService(){\r
}\r
\r
- public void setBirthmarkContext(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public void setBirthmarkEnvironment(BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
}\r
\r
public void setExtractorClassName(String extractor){\r
try{\r
Class<?> c;\r
- if(context == null){\r
+ if(environment == null){\r
c = Class.forName(extractor);\r
}\r
else{\r
- c = context.getClasspathContext().findClass(extractor);\r
+ c = environment.getClasspathContext().findClass(extractor);\r
}\r
extractorClass = c.asSubclass(BirthmarkExtractor.class);\r
extractorObject = null;\r
public void setComparatorClassName(String comparator){\r
try{\r
Class<?> c;\r
- if(context == null){\r
+ if(environment == null){\r
c = Class.forName(comparator);\r
}\r
else{\r
- c = context.getClasspathContext().findClass(comparator);\r
+ c = environment.getClasspathContext().findClass(comparator);\r
}\r
comparatorClass = c.asSubclass(BirthmarkComparator.class);\r
comparatorObject = null;\r
private Map<String, TypeAndValueBirthmarkElement> elements = new LinkedHashMap<String, TypeAndValueBirthmarkElement>();\r
private String className;\r
\r
- public ConstantValueOfFieldVariableBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment context){\r
- super(visitor, birthmark, context);\r
+ public ConstantValueOfFieldVariableBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment environment){\r
+ super(visitor, birthmark, environment);\r
}\r
\r
public void visitEnd(){\r
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context) {
- return new ConstantValueOfFieldVariableBirthmarkExtractVisitor(writer, birthmark, context);
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment) {
+ return new ConstantValueOfFieldVariableBirthmarkExtractVisitor(writer, birthmark, environment);
}
public ExtractionUnit[] getAcceptableUnits(){
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context){
- return new SequentialMethodCallBirthmarkExtractVisitor(writer, birthmark, context){
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment){
+ return new SequentialMethodCallBirthmarkExtractVisitor(writer, birthmark, environment){
@Override
protected void addElement(String className, String methodName, String description){
addElement(new FrequencyBirthmarkElement(className + "#" + methodName + description));
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context){
- return new UsedClassesBirthmarkExtractVisitor(writer, birthmark, context);
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment){
+ return new UsedClassesBirthmarkExtractVisitor(writer, birthmark, environment);
}
public ExtractionUnit[] getAcceptableUnits(){
* @version $Revision$ $Date$\r
*/\r
public class InheritanceStructureBirthmarkExtractVisitor extends BirthmarkExtractVisitor{\r
- public InheritanceStructureBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment context){\r
- super(visitor, birthmark, context);\r
+ public InheritanceStructureBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment environment){\r
+ super(visitor, birthmark, environment);\r
}\r
\r
public void visit(int version, int access, String name, String signature,\r
String superName, String[] interfaces){\r
try {\r
- Class c = getContext().getClasspathContext().findClass(name.replace('/', '.'));\r
+ Class c = getEnvironment().getClasspathContext().findClass(name.replace('/', '.'));\r
if(c != null && !c.isInterface()){\r
addISBirthmark(c);\r
}\r
}\r
\r
private void addISBirthmark(Class c){\r
- WellknownClassManager wcm = getContext().getWellknownClassManager();\r
+ WellknownClassManager wcm = getEnvironment().getWellknownClassManager();\r
do{\r
String className = c.getName();\r
\r
}
@Override
- public Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment context) throws BirthmarkExtractionFailedException{
+ public Birthmark extract(Birthmark birthmark, InputStream in, BirthmarkEnvironment environment) throws BirthmarkExtractionFailedException{
BirthmarkElementClassNotFoundException e = new BirthmarkElementClassNotFoundException();
try{
ClassReader reader = new ClassReader(in);
ClassWriter writer = new ClassWriter(false);
- BirthmarkExtractVisitor visitor = new InheritanceStructureBirthmarkExtractVisitor(writer, birthmark, context);
+ BirthmarkExtractVisitor visitor = new InheritanceStructureBirthmarkExtractVisitor(writer, birthmark, environment);
reader.accept(visitor, false);
if(!visitor.isSuccess()){
private int kvalue;\r
private List<Integer> opcodes = new ArrayList<Integer>();\r
\r
- public KGramBasedBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment context){\r
- super(visitor, birthmark, context);\r
+ public KGramBasedBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment environment){\r
+ super(visitor, birthmark, environment);\r
}\r
\r
public int getKValue(){\r
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context){
- KGramBasedBirthmarkExtractVisitor extractor = new KGramBasedBirthmarkExtractVisitor(writer, birthmark, context);
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment){
+ KGramBasedBirthmarkExtractVisitor extractor = new KGramBasedBirthmarkExtractVisitor(writer, birthmark, environment);
extractor.setKValue(getKValue());
return extractor;
}
* @version $Revision$ $Date$\r
*/\r
public class SequentialMethodCallBirthmarkExtractVisitor extends BirthmarkExtractVisitor{\r
- public SequentialMethodCallBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment context){\r
- super(visitor, birthmark, context);\r
+ public SequentialMethodCallBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark, BirthmarkEnvironment environment){\r
+ super(visitor, birthmark, environment);\r
}\r
\r
public MethodVisitor visitMethod(int access, String name, String desc,\r
return new MethodAdapter(visitor){\r
public void visitMethodInsn(int opcode, String owner, String name, String desc){\r
String className = owner.replace('/', '.');\r
- if(getContext().getWellknownClassManager().isWellKnownClass(className)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(className)){\r
addElement(className, name, desc);\r
}\r
super.visitMethodInsn(opcode, owner, name, desc);\r
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context){
- return new SequentialMethodCallBirthmarkExtractVisitor(writer, birthmark, context);
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment){
+ return new SequentialMethodCallBirthmarkExtractVisitor(writer, birthmark, environment);
}
@Override
*/\r
public class UsedClassesBirthmarkExtractVisitor extends BirthmarkExtractVisitor{\r
public UsedClassesBirthmarkExtractVisitor(ClassVisitor visitor, Birthmark birthmark,\r
- BirthmarkEnvironment context){\r
- super(visitor, birthmark, context);\r
+ BirthmarkEnvironment environment){\r
+ super(visitor, birthmark, environment);\r
}\r
\r
public void visit(int version, int access, String name, String signature,\r
String superName, String[] interfaces){\r
addSignatureClass(signature);\r
\r
- if(getContext().getWellknownClassManager().isWellKnownClass(superName)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(superName)){\r
add(superName);\r
}\r
for(String i: interfaces){\r
- if(getContext().getWellknownClassManager().isWellKnownClass(i)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(i)){\r
add(i);\r
}\r
}\r
String signature, String[] exceptions){\r
if(exceptions != null){\r
for(String exception: exceptions){\r
- if(getContext().getWellknownClassManager().isWellKnownClass(exception)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(exception)){\r
add(exception);\r
}\r
}\r
}\r
\r
public void visitFieldInsn(int opcode, String owner, String name, String desc){\r
- if(getContext().getWellknownClassManager().isWellKnownClass(owner)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(owner)){\r
add(normalize(owner));\r
}\r
addDescriptor(desc);\r
}\r
public void visitMethodInsn(int opcode, String owner, String name, String desc){\r
String className = normalize(owner);\r
- if(getContext().getWellknownClassManager().isWellKnownClass(className)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(className)){\r
add(className);\r
}\r
addMethodDescriptor(desc);\r
SignatureReader in = new SignatureReader(signature);\r
SignatureWriter writer = new SignatureWriter(){\r
public void visitClassType(String classType){\r
- if(getContext().getWellknownClassManager().isWellKnownClass(classType)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(classType)){\r
add(normalize(classType));\r
}\r
}\r
\r
if(type.getSort() == Type.OBJECT){\r
String className = type.getClassName();\r
- if(getContext().getWellknownClassManager().isWellKnownClass(className)){\r
+ if(getEnvironment().getWellknownClassManager().isWellKnownClass(className)){\r
return true;\r
}\r
}\r
}
@Override
- public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment context){
- return new UsedClassesBirthmarkExtractVisitor(writer, birthmark, context);
+ public BirthmarkExtractVisitor createExtractVisitor(ClassWriter writer, Birthmark birthmark, BirthmarkEnvironment environment){
+ return new UsedClassesBirthmarkExtractVisitor(writer, birthmark, environment);
}
public ExtractionUnit[] getAcceptableUnits(){
COMPARE_BIRTHMARKS,\r
COMPARE_DETAIL_BIRTHMARKS,\r
FILTER_BIRTHMARKS,\r
- CREATE_CONTEXT,\r
+ CREATE_ENVIRONMENT,\r
}\r
return resultset.getComparisonCount();\r
}\r
\r
- public BirthmarkEnvironment getContext(){\r
- return resultset.getContext();\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return resultset.getEnvironment();\r
}\r
\r
public Iterator<ComparisonPair> iterator(){\r
}\r
}\r
\r
- public void updateContext(BirthmarkEnvironment context){\r
+ public void updateEnvironment(BirthmarkEnvironment environment){\r
for(BirthmarkSpi service: addedService){\r
- if(context.getService(service.getType()) == null){\r
+ if(environment.getService(service.getType()) == null){\r
if(service instanceof BirthmarkService){\r
- ((BirthmarkService)service).setBirthmarkContext(context);\r
+ ((BirthmarkService)service).setBirthmarkEnvironment(environment);\r
}\r
- context.addService(service);\r
+ environment.addService(service);\r
}\r
}\r
}\r
information.initData();\r
model.addElement(Messages.getString("newservice.definition.label"));\r
\r
- for(BirthmarkSpi service: stigmata.getContext().findServices()){\r
+ for(BirthmarkSpi service: stigmata.getEnvironment().findServices()){\r
model.addElement(service);\r
}\r
}\r
if(selectedComparator != null){\r
comparatorClass = selectedComparator.toString();\r
}\r
- BirthmarkEnvironment context = stigmata.getContext();\r
+ BirthmarkEnvironment environment = stigmata.getEnvironment();\r
\r
boolean flag = newType.length() > 0\r
&& displayType.getText().length() > 0\r
&& comparatorClass.length() > 0;\r
\r
// check inputed type is free\r
- flag = flag && context.getService(newType) == null;\r
+ flag = flag && environment.getService(newType) == null;\r
\r
// check extractor/comparator classes are available\r
try{\r
flag = flag\r
- && context.getClasspathContext().find(extractorClass) != null\r
- && context.getClasspathContext().find(comparatorClass) != null;\r
+ && environment.getClasspathContext().find(extractorClass) != null\r
+ && environment.getClasspathContext().find(comparatorClass) != null;\r
} catch(ClassNotFoundException e){\r
flag = false;\r
}\r
private List<BirthmarkSet> birthmarks;\r
private StigmataFrame frame;\r
\r
- public BirthmarkExtractionResultPane(StigmataFrame stigmataFrame, BirthmarkEnvironment context, BirthmarkSet[] sets){\r
+ public BirthmarkExtractionResultPane(StigmataFrame stigmataFrame, BirthmarkEnvironment environment, BirthmarkSet[] sets){\r
this.frame = stigmataFrame;\r
this.birthmarks = Arrays.asList(sets);\r
\r
}\r
\r
private void initServices(){\r
- BirthmarkSpi[] serviceArray = stigmata.getContext().getServices();\r
+ BirthmarkSpi[] serviceArray = stigmata.getEnvironment().getServices();\r
\r
services = new LinkedHashMap<String, BirthmarkSelection>();\r
for(BirthmarkSpi service: serviceArray){\r
\r
private boolean findClass(String className){\r
try{\r
- ClasspathContext b = stigmata.getStigmata().createContext().getClasspathContext();\r
+ ClasspathContext b = stigmata.getStigmata().createEnvironment().getClasspathContext();\r
ClasspathContext bytecode = new ClasspathContext(b);\r
String[] path = classpath.getValues();\r
for(String cp: path){\r
private static final long serialVersionUID = 234557758658567345L;\r
private static final double EPSILON = 1E-8d;\r
\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
- public CompareTableCellRenderer(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public CompareTableCellRenderer(BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
}\r
\r
public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected,\r
else if((d - 0.8d) < EPSILON) rank = 4;\r
else if((d - 1.0d) < EPSILON) rank = 5;\r
\r
- c.setBackground(getBackgroundColor(rank, context));\r
- c.setForeground(getForegroundColor(rank, context));\r
+ c.setBackground(getBackgroundColor(rank, environment));\r
+ c.setForeground(getForegroundColor(rank, environment));\r
}\r
\r
return c;\r
return c;\r
}\r
\r
- public static Color getBackgroundColor(int rank, BirthmarkEnvironment context){\r
- Color c = getColor("backcolor_" + rank, context);\r
+ public static Color getBackgroundColor(int rank, BirthmarkEnvironment environment){\r
+ Color c = getColor("backcolor_" + rank, environment);\r
if(c == null){\r
return getDefaultBackgroundColor(rank);\r
}\r
return c;\r
}\r
\r
- public static Color getForegroundColor(int rank, BirthmarkEnvironment context){\r
- Color c = getColor("forecolor_" + rank, context);\r
+ public static Color getForegroundColor(int rank, BirthmarkEnvironment environment){\r
+ Color c = getColor("forecolor_" + rank, environment);\r
if(c == null){\r
c = getDefaultForegroundColor(rank);\r
}\r
return c;\r
}\r
\r
- private static Color getColor(String key, BirthmarkEnvironment context){\r
- String v = context.getProperty(key);\r
+ private static Color getColor(String key, BirthmarkEnvironment environment){\r
+ String v = environment.getProperty(key);\r
try{\r
int color = Integer.parseInt(v, 16);\r
\r
);\r
\r
if(file != null){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
if(!file.getName().endsWith(".xml")){\r
file = new File(file.getParent(), file.getName() + ".xml");\r
}\r
\r
- ConfigFileExporter bce = new ConfigFileExporter(context);\r
+ ConfigFileExporter bce = new ConfigFileExporter(environment);\r
try{\r
PrintWriter out = new PrintWriter(new FileWriter(file));\r
bce.export(out);\r
}\r
\r
private void extractButtonActionPerformed(ActionEvent e){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
Set<String> targets = new HashSet<String>();\r
\r
stigmata.extract(\r
birthmarks.getSelectedServiceTypes(), \r
- targets.toArray(new String[targets.size()]), context\r
+ targets.toArray(new String[targets.size()]), environment\r
);\r
}\r
\r
private void compareRoundRobinWithFiltering(){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
FilterSelectionPane pane = new FilterSelectionPane(\r
- context.getFilterManager()\r
+ environment.getFilterManager()\r
);\r
int returnValue = JOptionPane.showConfirmDialog(\r
stigmata, pane, Messages.getString("filterselection.dialog.title"),\r
\r
stigmata.compareRoundRobin(\r
birthmarks.getSelectedServiceTypes(), targetX.getValues(),\r
- targetY.getValues(), filterSetList, context\r
+ targetY.getValues(), filterSetList, environment\r
);\r
}\r
}\r
\r
private void compareRoundRobin(){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
\r
stigmata.compareRoundRobin(\r
birthmarks.getSelectedServiceTypes(), targetX.getValues(), \r
- targetY.getValues(), context\r
+ targetY.getValues(), environment\r
);\r
}\r
\r
private void compareSpecifiedPair(){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
stigmata.compareSpecifiedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
- fileY, context);\r
+ fileY, environment);\r
}\r
\r
private void compareGuessedPair(){\r
- BirthmarkEnvironment context = generateContext();\r
+ BirthmarkEnvironment environment = generateEnvironment();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
\r
stigmata.compareGuessedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
- fileY, context);\r
+ fileY, environment);\r
}\r
\r
- private BirthmarkEnvironment generateContext(){\r
- BirthmarkEnvironment context = stigmata.getStigmata().createContext();\r
- ClasspathContext bytecode = context.getClasspathContext();\r
- WellknownClassManager manager = context.getWellknownClassManager();\r
- ComparisonPairFilterManager filterManager = context.getFilterManager();\r
+ private BirthmarkEnvironment generateEnvironment(){\r
+ BirthmarkEnvironment environment = stigmata.getStigmata().createEnvironment();\r
+ ClasspathContext bytecode = environment.getClasspathContext();\r
+ WellknownClassManager manager = environment.getWellknownClassManager();\r
+ ComparisonPairFilterManager filterManager = environment.getFilterManager();\r
\r
- context.setExtractionUnit(parseExtractionUnit());\r
+ environment.setExtractionUnit(parseExtractionUnit());\r
classpath.updateClasspathContext(bytecode);\r
wellknownClassses.setWellknownClasses(manager);\r
filters.updateFilterManager(filterManager);\r
- definition.updateContext(context);\r
- properties.updateContext(context);\r
+ definition.updateEnvironment(environment);\r
+ properties.updateEnvironment(environment);\r
\r
- return context;\r
+ return environment;\r
}\r
\r
private ExtractionUnit parseExtractionUnit(){\r
filterPane.reset();\r
model.removeAllElements();\r
\r
- ComparisonPairFilterManager manager = stigmata.getContext().getFilterManager();\r
+ ComparisonPairFilterManager manager = stigmata.getEnvironment().getFilterManager();\r
for(ComparisonPairFilterSet filterset: manager.getFilterSets()){\r
addFilterSet(filterset);\r
}\r
private static final long serialVersionUID = 3298346465652354302L;\r
\r
private StigmataFrame frame;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private DefaultTableModel model = new PairComparisonResultSetTableModel();\r
private JTable table = new JTable(model);\r
private JLabel averageLabel, maximumLabel, minimumLabel;\r
\r
public PairComparisonResultSetPane(StigmataFrame frame, ComparisonResultSet resultset){\r
this.frame = frame;\r
- this.context = resultset.getContext();\r
+ this.environment = resultset.getEnvironment();\r
\r
for(ComparisonPair pair: resultset){\r
list.add(pair);\r
BirthmarkSet set1 = obfuscator.obfuscateClassName(pair.getTarget1());\r
BirthmarkSet set2 = obfuscator.obfuscateClassName(pair.getTarget2());\r
\r
- newList.add(new ComparisonPair(set1, set2, context));\r
+ newList.add(new ComparisonPair(set1, set2, environment));\r
}\r
\r
try{\r
}\r
service.getComparisonResultFormat().printResult(\r
out, new CertainPairComparisonResultSet(\r
- list.toArray(new ComparisonPair[list.size()]), context\r
+ list.toArray(new ComparisonPair[list.size()]), environment\r
)\r
);\r
}\r
})\r
);\r
JButton updateColorButton = Utility.createButton(\r
- "updatecellcolor", new UpdateBirthmarkCellColorAction(this, context)\r
+ "updatecellcolor", new UpdateBirthmarkCellColorAction(this, environment)\r
);\r
JButton obfuscateButton = Utility.createButton("obfuscate");\r
JScrollPane scroll = new JScrollPane();\r
minimumLabel = new JLabel(Double.toString(minimum), JLabel.RIGHT);\r
\r
scroll.setViewportView(table);\r
- table.setDefaultRenderer(Double.class, new CompareTableCellRenderer(context));\r
+ table.setDefaultRenderer(Double.class, new CompareTableCellRenderer(environment));\r
similarityPane.setBorder(new TitledBorder(Messages.getString("similarity.border")));\r
averageLabel.setBorder(new TitledBorder(Messages.getString("average.border")));\r
maximumLabel.setBorder(new TitledBorder(Messages.getString("maximum.border")));\r
&& row < table.getRowCount()){\r
ComparisonPair pair = list.get(row);\r
\r
- frame.compareDetails(pair.getTarget1(), pair.getTarget2(), context);\r
+ frame.compareDetails(pair.getTarget1(), pair.getTarget2(), environment);\r
}\r
}\r
}\r
initData();\r
}\r
\r
- public void updateContext(BirthmarkEnvironment context){\r
- context.clearProperties();\r
+ public void updateEnvironment(BirthmarkEnvironment environment){\r
+ environment.clearProperties();\r
for(int i = 0; i < model.getRowCount(); i++){\r
- context.addProperty(\r
+ environment.addProperty(\r
(String)model.getValueAt(i, 0),\r
(String)model.getValueAt(i, 1)\r
);\r
}\r
\r
private void initData(){\r
- BirthmarkEnvironment context = stigmata.getContext();\r
- context.addPropertyListener(new PropertyChangeListener(){\r
+ BirthmarkEnvironment environment = stigmata.getEnvironment();\r
+ environment.addPropertyListener(new PropertyChangeListener(){\r
public void propertyChange(PropertyChangeEvent evt){\r
String name = evt.getPropertyName();\r
String value = (String)evt.getNewValue();\r
}\r
}\r
});\r
- for(Iterator<String> i = context.propertyKeys(); i.hasNext(); ){\r
+ for(Iterator<String> i = environment.propertyKeys(); i.hasNext(); ){\r
String key = i.next();\r
- model.addRow(new Object[] { key, context.getProperty(key), });\r
+ model.addRow(new Object[] { key, environment.getProperty(key), });\r
}\r
}\r
\r
private JLabel classCount, comparisonCount, distinctionRatio;\r
private JLabel average, minimum, maximum;\r
private StigmataFrame stigmataFrame;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
- public RoundRobinComparisonResultPane(StigmataFrame stigmata, BirthmarkEnvironment context,\r
+ public RoundRobinComparisonResultPane(StigmataFrame stigmata, BirthmarkEnvironment environment,\r
BirthmarkSet[] birthmarksX, BirthmarkSet[] birthmarksY){\r
this.stigmataFrame = stigmata;\r
- this.context = context;\r
+ this.environment = environment;\r
this.birthmarksX = Arrays.asList(birthmarksX);\r
this.birthmarksY = Arrays.asList(birthmarksY);\r
\r
rows[0] = birthmarksY.get(j).getName();\r
\r
for(int i = 0; i < birthmarksX.size(); i++){\r
- double similarity = compare(context, birthmarksX.get(i), birthmarksY.get(j));\r
+ double similarity = compare(environment, birthmarksX.get(i), birthmarksY.get(j));\r
rows[i + 1] = new Double(similarity);\r
\r
if(Math.abs(similarity - 1) < 1E-8){\r
maximum.setText(Double.toString(max));\r
}\r
\r
- private double compare(BirthmarkEnvironment context, BirthmarkSet x, BirthmarkSet y){\r
+ private double compare(BirthmarkEnvironment environment, BirthmarkSet x, BirthmarkSet y){\r
double similarity = 0d;\r
int count = 0;\r
\r
Birthmark b1 = x.getBirthmark(type);\r
Birthmark b2 = y.getBirthmark(type);\r
if(b1 != null && b2 != null){\r
- BirthmarkComparator comparator = context.getService(type).getComparator();\r
+ BirthmarkComparator comparator = environment.getService(type).getComparator();\r
double result = comparator.compare(b1, b2);\r
if(result != Double.NaN){\r
similarity += result;\r
\r
model = new RoundRobinComparisonResultSetTableModel();\r
table = new JTable(model);\r
- table.setDefaultRenderer(Double.class, new CompareTableCellRenderer(context));\r
+ table.setDefaultRenderer(Double.class, new CompareTableCellRenderer(environment));\r
table.addMouseListener(new MouseAdapter(){\r
public void mouseClicked(MouseEvent e){\r
if(e.getClickCount() == 2){\r
BirthmarkSet b1 = birthmarksX.get(col - 1);\r
BirthmarkSet b2 = birthmarksY.get(row);\r
\r
- stigmataFrame.compareDetails(b1, b2, context);\r
+ stigmataFrame.compareDetails(b1, b2, environment);\r
}\r
}\r
}\r
service.getComparisonResultFormat().printResult(out,\r
new RoundRobinComparisonResultSet(\r
birthmarksX.toArray(new BirthmarkSet[birthmarksX.size()]), \r
- birthmarksY.toArray(new BirthmarkSet[birthmarksY.size()]), context\r
+ birthmarksY.toArray(new BirthmarkSet[birthmarksY.size()]), environment\r
)\r
);\r
}\r
JButton obfuscate = Utility.createButton("obfuscate");\r
JButton compare = Utility.createButton("guessedpair");\r
JButton updateColor = Utility.createButton(\r
- "updatecellcolor", new UpdateBirthmarkCellColorAction(this, context)\r
+ "updatecellcolor", new UpdateBirthmarkCellColorAction(this, environment)\r
);\r
JMenuItem mdsMenu = Utility.createJMenuItem("mdsmap");\r
\r
\r
private void compareRoundRobinWithFiltering(){\r
FilterSelectionPane pane = new FilterSelectionPane(\r
- context.getFilterManager()\r
+ environment.getFilterManager()\r
);\r
int returnValue = JOptionPane.showConfirmDialog(\r
stigmataFrame, pane, Messages.getString("filterselection.dialog.title"),\r
ComparisonResultSet resultset = new RoundRobinComparisonResultSet(\r
birthmarksX.toArray(new BirthmarkSet[birthmarksX.size()]),\r
birthmarksY.toArray(new BirthmarkSet[birthmarksY.size()]),\r
- context\r
+ environment\r
);\r
\r
ComparisonResultSet filterResultSet = new FilteredComparisonResultSet(\r
resultset,\r
- context.getFilterManager().getFilterSets(filterSetList)\r
+ environment.getFilterManager().getFilterSets(filterSetList)\r
);\r
stigmataFrame.showComparisonResultSet(filterResultSet);\r
}\r
ComparisonResultSet resultset = new CertainPairComparisonResultSet(\r
birthmarksX.toArray(new BirthmarkSet[birthmarksX.size()]),\r
birthmarksY.toArray(new BirthmarkSet[birthmarksY.size()]),\r
- context\r
+ environment\r
);\r
stigmataFrame.showComparisonResultSet(resultset);\r
}\r
ComparisonResultSet resultset = new CertainPairComparisonResultSet(\r
birthmarksX.toArray(new BirthmarkSet[birthmarksX.size()]),\r
birthmarksY.toArray(new BirthmarkSet[birthmarksY.size()]),\r
- mapping, context\r
+ mapping, environment\r
);\r
stigmataFrame.showComparisonResultSet(resultset);\r
}\r
private JMenuItem closeTabMenu;\r
private JCheckBoxMenuItem expertmodeMenu;\r
private Stigmata stigmata;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private ControlPane control;\r
private FileIOManager fileio;\r
private Map<String, Integer> countmap = new HashMap<String, Integer>();\r
}\r
\r
public StigmataFrame(Stigmata stigmata){\r
- this(stigmata, stigmata.createContext());\r
+ this(stigmata, stigmata.createEnvironment());\r
}\r
\r
- public StigmataFrame(Stigmata stigmata, BirthmarkEnvironment context){\r
+ public StigmataFrame(Stigmata stigmata, BirthmarkEnvironment environment){\r
this.stigmata = stigmata;\r
- this.context = context;\r
+ this.environment = environment;\r
this.fileio = new FileIOManager(this);\r
\r
- stigmata.addOperationListener(new BirthmarkEngineAdapter(){\r
+ stigmata.addBirthmarkEngineListener(new BirthmarkEngineAdapter(){\r
@Override\r
public void operationDone(BirthmarkEngineEvent e){\r
showWarnings(e.getMessage());\r
return stigmata;\r
}\r
\r
- public BirthmarkEnvironment getContext(){\r
- return context;\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
public File getCurrentDirectory(){\r
control.removeBirthmarkServiceListener(listener);\r
}\r
\r
- public void compareDetails(BirthmarkSet target1, BirthmarkSet target2, BirthmarkEnvironment context){\r
+ public void compareDetails(BirthmarkSet target1, BirthmarkSet target2, BirthmarkEnvironment environment){\r
PairComparisonPane detail = new PairComparisonPane(\r
- this, new ComparisonPair(target1, target2, context)\r
+ this, new ComparisonPair(target1, target2, environment)\r
);\r
int compareDetail = getNextCount("compare_detail");\r
\r
}\r
\r
public void compareRoundRobin(String[] birthmarks, String[] targetX, String[] targetY, \r
- BirthmarkEnvironment context){\r
+ BirthmarkEnvironment environment){\r
try{\r
- BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, context);\r
- BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, context);\r
+ BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, environment);\r
+ BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, environment);\r
\r
- RoundRobinComparisonResultPane compare = new RoundRobinComparisonResultPane(this, context, x, y);\r
+ RoundRobinComparisonResultPane compare = new RoundRobinComparisonResultPane(this, environment, x, y);\r
int compareCount = getNextCount("compare");\r
Utility.addNewTab(\r
"compare", tabPane, compare,\r
}\r
\r
public void compareRoundRobin(String[] birthmarks, String[] targetX, String[] targetY, \r
- String[] filterNames, BirthmarkEnvironment context){\r
+ String[] filterNames, BirthmarkEnvironment environment){\r
try{\r
- BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, context);\r
- BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, context);\r
- ComparisonPairFilterSet[] filters = context.getFilterManager().getFilterSets(filterNames);\r
+ BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, environment);\r
+ BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, environment);\r
+ ComparisonPairFilterSet[] filters = environment.getFilterManager().getFilterSets(filterNames);\r
\r
- ComparisonResultSet resultset = stigmata.compare(x, y, context);\r
+ ComparisonResultSet resultset = stigmata.compare(x, y, environment);\r
FilteredComparisonResultSet fcrs = new FilteredComparisonResultSet(resultset, filters);\r
int compareCount = getNextCount("compare");\r
Utility.addNewTab(\r
}\r
\r
public void compareGuessedPair(String[] birthmarks, String[] targetX, String[] targetY,\r
- BirthmarkEnvironment context){\r
+ BirthmarkEnvironment environment){\r
try{\r
- BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, context);\r
- BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, context);\r
+ BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, environment);\r
+ BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, environment);\r
int comparePair = getNextCount("compare_pair");\r
\r
- ComparisonResultSet resultset = new CertainPairComparisonResultSet(x, y, context);\r
+ ComparisonResultSet resultset = new CertainPairComparisonResultSet(x, y, environment);\r
Utility.addNewTab("comparepair", tabPane,\r
new PairComparisonResultSetPane(this, resultset),\r
new Object[] { new Integer(comparePair), },\r
}\r
\r
public void compareSpecifiedPair(String[] birthmarks, String[] targetX, String[] targetY,\r
- BirthmarkEnvironment context){\r
+ BirthmarkEnvironment environment){\r
File file = getOpenFile(Messages.getStringArray("comparemapping.extension"),\r
Messages.getString("comparemapping.description"));\r
\r
Map<String, String> mapping = constructMapping(file);\r
\r
try{\r
- BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, context);\r
- BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, context);\r
+ BirthmarkSet[] x = stigmata.extract(birthmarks, targetX, environment);\r
+ BirthmarkSet[] y = stigmata.extract(birthmarks, targetY, environment);\r
int comparePair = getNextCount("compare_pair");\r
- ComparisonResultSet resultset = new CertainPairComparisonResultSet(x, y, mapping, context);\r
+ ComparisonResultSet resultset = new CertainPairComparisonResultSet(x, y, mapping, environment);\r
\r
Utility.addNewTab(\r
"comparepair", tabPane,\r
\r
public void showMDSGraph(BirthmarkSet[] set){\r
try{\r
- MDSGraphPanel panel = new MDSGraphPanel(this, set, context);\r
+ MDSGraphPanel panel = new MDSGraphPanel(this, set, environment);\r
int mappingGraphCount = getNextCount("mds_graph");\r
Utility.addNewTab("mappinggraph", tabPane, panel, new Object[] { new Integer(mappingGraphCount), }, null);\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
}\r
\r
- public void showExtractionResult(BirthmarkSet[] set, BirthmarkEnvironment context){\r
+ public void showExtractionResult(BirthmarkSet[] set, BirthmarkEnvironment environment){\r
int extractCount = getNextCount("extract");\r
- BirthmarkExtractionResultPane viewer = new BirthmarkExtractionResultPane(this, context, set);\r
+ BirthmarkExtractionResultPane viewer = new BirthmarkExtractionResultPane(this, environment, set);\r
Utility.addNewTab(\r
"extract", tabPane, viewer,\r
new Object[] { new Integer(extractCount), },\r
\r
}\r
\r
- public void extract(String[] birthmarks, String[] targets, BirthmarkEnvironment context){\r
+ public void extract(String[] birthmarks, String[] targets, BirthmarkEnvironment environment){\r
try{\r
- BirthmarkSet[] holders = stigmata.extract(birthmarks, targets, context);\r
- showExtractionResult(holders, context);\r
+ BirthmarkSet[] holders = stigmata.extract(birthmarks, targets, environment);\r
+ showExtractionResult(holders, environment);\r
}catch(Exception e){\r
showExceptionMessage(e);\r
}\r
\r
newFrameMenu.addActionListener(new ActionListener(){\r
public void actionPerformed(ActionEvent evt){\r
- StigmataFrame frame = new StigmataFrame(stigmata, context);\r
+ StigmataFrame frame = new StigmataFrame(stigmata, environment);\r
frame.setVisible(true);\r
}\r
});\r
\r
public WellknownClassesSettingsPane(StigmataFrame stigmata){\r
this.stigmata = stigmata;\r
- this.manager = stigmata.getContext().getWellknownClassManager();\r
+ this.manager = stigmata.getEnvironment().getWellknownClassManager();\r
\r
initLayouts();\r
initializeData();\r
private static final long serialVersionUID = 2390797591047570440L;\r
\r
private Component parent;\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private JColorChooser chooser;\r
\r
- public UpdateBirthmarkCellColorAction(Component parent, BirthmarkEnvironment context){\r
+ public UpdateBirthmarkCellColorAction(Component parent, BirthmarkEnvironment environment){\r
this.parent = parent;\r
- this.context = context;\r
+ this.environment = environment;\r
}\r
\r
public UpdateBirthmarkCellColorAction(Component parent){\r
- this(parent, BirthmarkEnvironment.getDefaultContext());\r
+ this(parent, BirthmarkEnvironment.getDefaultEnvironment());\r
}\r
\r
public void actionPerformed(ActionEvent e){\r
private JComponent createPanel(){\r
Box panel = Box.createVerticalBox();\r
for(int i = 0; i <= 5; i++){\r
- Color fore = CompareTableCellRenderer.getForegroundColor(i, context);\r
- Color back = CompareTableCellRenderer.getBackgroundColor(i, context);\r
+ Color fore = CompareTableCellRenderer.getForegroundColor(i, environment);\r
+ Color back = CompareTableCellRenderer.getBackgroundColor(i, environment);\r
\r
UpdateColorPane pane = new UpdateColorPane(i, fore, back);\r
panel.add(pane);\r
c = updateColor(c, getRank(), foreground);\r
if(foreground){\r
label.setForeground(c);\r
- context.addProperty(\r
+ environment.addProperty(\r
"forecolor_" + getRank(), String.format("%06x", c.getRGB() & 0xffffff)\r
);\r
}\r
else{\r
label.setBackground(c);\r
- context.addProperty(\r
+ environment.addProperty(\r
"backcolor_" + getRank(), String.format("%06x", c.getRGB() & 0xffffff)\r
);\r
}\r
\r
ComparisonPairFilterPane pane = service.createComponent(service.getComparisonPairFilterService());\r
if(pane instanceof BirthmarkServiceListener){\r
- for(BirthmarkSpi bs: stigmata.getContext().getServices()){\r
+ for(BirthmarkSpi bs: stigmata.getEnvironment().getServices()){\r
((BirthmarkServiceListener)pane).serviceAdded(bs);\r
}\r
stigmata.addBirthmarkServiceListener((BirthmarkServiceListener)pane);\r
private MDSGraphViewer viewer;\r
\r
public MDSGraphPanel(StigmataFrame stigmata, BirthmarkSet[] set){\r
- this(stigmata, set, stigmata.getContext());\r
+ this(stigmata, set, stigmata.getEnvironment());\r
}\r
\r
- public MDSGraphPanel(StigmataFrame stigmata, BirthmarkSet[] set, BirthmarkEnvironment context){\r
+ public MDSGraphPanel(StigmataFrame stigmata, BirthmarkSet[] set, BirthmarkEnvironment environment){\r
this.stigmata = stigmata;\r
this.set = set;\r
\r
- double[][] matrix = initData(set, context);\r
+ double[][] matrix = initData(set, environment);\r
initLayouts(matrix);\r
}\r
\r
- private double[][] initData(BirthmarkSet[] set, BirthmarkEnvironment context){\r
+ private double[][] initData(BirthmarkSet[] set, BirthmarkEnvironment environment){\r
labels = new LabelMap();\r
double[][] matrix = new double[set.length][set.length];\r
\r
for(int i = 0; i < set.length; i++){\r
for(int j = 0; j <= i; j++){\r
- ComparisonPair pair = new ComparisonPair(set[i], set[j], context);\r
+ ComparisonPair pair = new ComparisonPair(set[i], set[j], environment);\r
matrix[i][j] = 1d - pair.calculateSimilarity();\r
if(i != j){\r
matrix[j][i] = matrix[i][j];\r
for(int i = 0; i < set.length; i++){\r
if(c.equals(set[i].getName())){\r
stigmata.showExtractionResult(\r
- new BirthmarkSet[]{ set[i], }, stigmata.getContext()\r
+ new BirthmarkSet[]{ set[i], }, stigmata.getEnvironment()\r
);\r
}\r
}\r
import org.apache.commons.beanutils.BeanUtils;\r
\r
/**\r
- * Export birthmark context to xml file.\r
+ * Export birthmark environment to xml file.\r
* \r
* @author Haruaki TAMADA\r
* @version $Revision$ $Date$\r
*/\r
public class ConfigFileExporter{\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
- public ConfigFileExporter(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public ConfigFileExporter(BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
}\r
\r
- public void export(BirthmarkEnvironment context, PrintWriter out) throws IOException{\r
- new ConfigFileExporter(context).export(out);\r
+ public void export(BirthmarkEnvironment environment, PrintWriter out) throws IOException{\r
+ new ConfigFileExporter(environment).export(out);\r
}\r
\r
public void export(PrintWriter out) throws IOException{\r
\r
private void exportProperties(PrintWriter out) throws IOException{\r
out.println(" <properties>");\r
- for(Iterator<String> i = context.propertyKeys(); i.hasNext(); ){\r
+ for(Iterator<String> i = environment.propertyKeys(); i.hasNext(); ){\r
String key = i.next();\r
- String value = context.getProperty(key);\r
+ String value = environment.getProperty(key);\r
out.println(" <property>");\r
out.printf(" <name>%s</name>%n", key);\r
out.printf(" <value>%s</value>%n", value);\r
\r
private void exportClasspath(PrintWriter out) throws IOException{\r
out.println(" <classpath-list>");\r
- for(URL location: context.getClasspathContext()){\r
+ for(URL location: environment.getClasspathContext()){\r
out.printf(" <classpath>%s</classpath>%n", location.toString());\r
}\r
out.println(" </classpath-list>");\r
\r
private void exportWellknownClasses(PrintWriter out) throws IOException{\r
out.println(" <wellknown-classes>");\r
- for(WellknownClassJudgeRule rule: context.getWellknownClassManager().getSections()){\r
+ for(WellknownClassJudgeRule rule: environment.getWellknownClassManager().getSections()){\r
int partType = rule.getMatchPartType();\r
int match = rule.getMatchType();\r
String value = rule.getName();\r
\r
private void exportFilters(PrintWriter out) throws IOException{\r
out.println(" <filterset-list>");\r
- for(ComparisonPairFilterSet filterset: context.getFilterManager().getFilterSets()){\r
+ for(ComparisonPairFilterSet filterset: environment.getFilterManager().getFilterSets()){\r
out.println(" <filterset>");\r
out.printf(" <name>%s</name>%n", filterset.getName());\r
out.printf(" <match>%s</match>%n", filterset.isMatchAll()? "all": "any");\r
\r
private void exportServices(PrintWriter out) throws IOException{\r
out.println(" <birthmark-services>");\r
- for(BirthmarkSpi service: context.getServices()){\r
+ for(BirthmarkSpi service: environment.getServices()){\r
if(service.isExpert() && service instanceof BirthmarkService){\r
out.println(" <birthmark-service>");\r
out.printf(" <type>%s</type>%n", service.getType());\r
* @version $Revision$ $Date$\r
*/\r
public class ConfigFileImporter{\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
\r
- public ConfigFileImporter(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public ConfigFileImporter(BirthmarkEnvironment environment){\r
+ this.environment = environment;\r
}\r
\r
public ConfigFileImporter(){\r
- // generate context.\r
+ // generate environment.\r
}\r
\r
public BirthmarkEnvironment parse(InputStream in) throws IOException{\r
try{\r
SAXParserFactory factory = SAXParserFactory.newInstance();\r
SAXParser parser = factory.newSAXParser();\r
- Handler handler = new Handler(getContext());\r
+ Handler handler = new Handler(getEnvironment());\r
parser.parse(in, handler);\r
- this.context = handler.getContext();\r
+ this.environment = handler.getEnvironment();\r
\r
- return context;\r
+ return environment;\r
}catch(ParserConfigurationException e){\r
throw new IOException(e.getMessage());\r
}catch(SAXException e){\r
}\r
}\r
\r
- public BirthmarkEnvironment getContext(){\r
- return context;\r
- }\r
-\r
- public void setContext(BirthmarkEnvironment context){\r
- this.context = context;\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
private static enum Part{\r
}\r
\r
private static class Handler extends DefaultHandler{\r
- private BirthmarkEnvironment context;\r
+ private BirthmarkEnvironment environment;\r
private WellknownClassManager manager;\r
private BirthmarkService service;\r
private ComparisonPairFilterSet filter;\r
private String filterType, filterCriterion, attributeName;\r
private Map<String, String> filterAttributes = new HashMap<String, String>();\r
\r
- public Handler(BirthmarkEnvironment context){\r
- if(context == null){\r
- context = new BirthmarkEnvironment();\r
+ public Handler(BirthmarkEnvironment environment){\r
+ if(environment == null){\r
+ environment = new BirthmarkEnvironment();\r
}\r
- this.context = context;\r
- this.manager = context.getWellknownClassManager();\r
+ this.environment = environment;\r
+ this.manager = environment.getWellknownClassManager();\r
}\r
\r
- public BirthmarkEnvironment getContext(){\r
- return context;\r
+ public BirthmarkEnvironment getEnvironment(){\r
+ return environment;\r
}\r
\r
@Override\r
key = value;\r
}\r
else if(qname.equals("value")){\r
- context.addProperty(key, value);\r
+ environment.addProperty(key, value);\r
}\r
}\r
else if(part == Part.WELLKNOWN_CLASSES\r
}\r
else if(part == Part.CLASSPATH && qname.equals("classpath")){\r
try{\r
- context.getClasspathContext().addClasspath(\r
+ environment.getClasspathContext().addClasspath(\r
new URL(value));\r
}catch(MalformedURLException e){\r
throw new SAXException(e);\r
@Override\r
public void endElement(String uri, String localname, String qname){\r
if(part == Part.SERVICES && qname.equals("birthmark-service")){\r
- context.addService(service);\r
+ environment.addService(service);\r
service = null;\r
}\r
else if(part == Part.FILTER_DEFINITION && qname.equals("filter")){\r
- ComparisonPairFilter f = context.getFilterManager().buildFilter(\r
+ ComparisonPairFilter f = environment.getFilterManager().buildFilter(\r
filterType, filterCriterion, filterAttributes\r
);\r
filter.addFilter(f);\r
part = Part.FILTER_SET;\r
}\r
else if(part == Part.FILTER_SET && qname.equals("filterset")){\r
- context.getFilterManager().addFilterSet(filter);\r
+ environment.getFilterManager().addFilterSet(filter);\r
}\r
}\r
}\r
\r
@Before\r
public void prepare(){\r
- context = Stigmata.getInstance().createContext();\r
+ context = Stigmata.getInstance().createEnvironment();\r
}\r
\r
@Test\r