import jp.naist.se.stigmata.event.WarningMessages;\r
import jp.naist.se.stigmata.filter.ComparisonPairFilterManager;\r
import jp.naist.se.stigmata.filter.FilteredComparisonResultSet;\r
+import jp.naist.se.stigmata.hook.Phase;\r
+import jp.naist.se.stigmata.hook.StigmataHookManager;\r
import jp.naist.se.stigmata.reader.ClassFileArchive;\r
import jp.naist.se.stigmata.reader.ClassFileEntry;\r
import jp.naist.se.stigmata.reader.ClasspathContext;\r
\r
ComparisonResultSet crs = compare(targetX, targetY, context);\r
crs = filter(crs);\r
- \r
+\r
operationDone(OperationType.FILTER_BIRTHMARKS);\r
\r
return crs;\r
\r
ComparisonResultSet crs = compare(er);\r
crs = filter(crs);\r
- \r
+\r
operationDone(OperationType.FILTER_BIRTHMARKS);\r
\r
return crs;\r
*/\r
public synchronized ComparisonResultSet filter(ComparisonResultSet crs) throws BirthmarkExtractionFailedException, BirthmarkComparisonFailedException{\r
operationStart(OperationType.FILTER_BIRTHMARKS);\r
+ StigmataHookManager.getInstance().runHook(Phase.BEFORE_FILTERING, crs.getContext());\r
\r
String[] filterTypes = crs.getContext().getFilterTypes();\r
\r
\r
crs = new FilteredComparisonResultSet(crs, cpfs);\r
}\r
- \r
+\r
+ StigmataHookManager.getInstance().runHook(Phase.AFTER_FILTERING, crs.getContext());\r
operationDone(OperationType.FILTER_BIRTHMARKS);\r
+\r
return crs;\r
}\r
\r
operationStart(OperationType.COMPARE_BIRTHMARKS);\r
BirthmarkContext context = er.getContext();\r
\r
+ StigmataHookManager.getInstance().runHook(Phase.BEFORE_COMPARISON, context);\r
ComparisonResultSet crs = null;\r
switch(context.getComparisonMethod()){\r
case ROUND_ROBIN_SAME_PAIR:\r
break;\r
}\r
\r
+ StigmataHookManager.getInstance().runHook(Phase.AFTER_COMPARISON, context);\r
operationDone(OperationType.COMPARE_BIRTHMARKS);\r
+\r
return crs;\r
}\r
\r
ExtractionResultSet er = context.getEnvironment().getHistoryManager().createDefaultResultSet(context);\r
\r
try{\r
+ StigmataHookManager.getInstance().runHook(Phase.BEFORE_EXTRACTION, context);\r
+\r
switch(context.getComparisonMethod()){\r
case ROUND_ROBIN_SAME_PAIR:\r
case ROUND_ROBIN_WITHOUT_SAME_PAIR:\r
} catch(IOException e){\r
throw new BirthmarkExtractionFailedException(e);\r
} finally{\r
+ StigmataHookManager.getInstance().runHook(Phase.AFTER_EXTRACTION, context);\r
operationDone(OperationType.EXTRACT_BIRTHMARKS);\r
}\r
}\r
try{\r
BirthmarkSet birthmarkset = new BirthmarkSet(entry.getClassName(), entry.getLocation());\r
byte[] data = inputStreamToByteArray(entry.getLocation().openStream());\r
- \r
+\r
for(String birthmarkType: context.getBirthmarkTypes()){\r
try{\r
BirthmarkExtractor extractor = factory.getExtractor(birthmarkType);\r