package com.nvarghese.beowulf.scs.categorizers.impl; import java.util.HashSet; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.google.code.morphia.Datastore; import com.nvarghese.beowulf.common.http.txn.AbstractHttpTransaction; import com.nvarghese.beowulf.common.scan.model.WebScanDocument; import com.nvarghese.beowulf.common.webtest.WebTestType; import com.nvarghese.beowulf.scs.categorizers.MultiSetCategorizer; import com.nvarghese.beowulf.scs.categorizers.TransactionCategorizer; public class OutputContextCategorizer extends MultiSetCategorizer implements TransactionCategorizer { private Pattern tokenPattern; public OutputContextCategorizer(Datastore ds, WebScanDocument webScanDocument) { super(ds, webScanDocument, WebTestType.OUTPUT_CONTEXT_TEST); } protected Set<String> getTestTokens(AbstractHttpTransaction transaction) { Set<String> tokens = new HashSet<String>(); String body = transaction.getResponseBodyAsString(); Matcher m = tokenPattern.matcher(body); while (m.find()) { tokens.add(m.group(1)); } return tokens; } public void analyzeTransaction(AbstractHttpTransaction transaction) { } }