package no.divvun.Analyzer.Communication; import no.divvun.Analyzer.Objects.Generation; import org.xml.sax.helpers.DefaultHandler; public class GenerationResponseParser extends DefaultHandler { ElementContainer container; public GenerationResponseParser(ElementContainer container) { this.container = container; } public ElementContainer getElementContainer() { return container; } public void parseResponse(StringBuilder xml, int offset) { int start=-1; int docend=offset; int end=docend; boolean responseEnd = false; Generation gen = new Generation(); while(!responseEnd) { if((start = xml.indexOf("<" + XMLTags.TAG_SURFACE, docend)) != -1) { docend = xml.indexOf("/>", start); String xmlElement = xml.substring(start, docend+1); start = xmlElement.indexOf("form=\""); end = xmlElement.indexOf("\"", start+6); String word = xmlElement.substring(start+6, end); if (!word.contains("+")) gen.addWord(word); } else if((start = xml.indexOf("", docend)) != -1) { container.add(gen); responseEnd = true; } } } }