package com.occamlab.te.index; import java.util.ArrayList; import java.util.List; import javax.xml.namespace.QName; import org.w3c.dom.Document; import org.w3c.dom.Element; import com.occamlab.te.Test; import com.occamlab.te.util.DomUtils; public class ProfileEntry extends IndexEntry { String defaultResult = "Pass"; QName baseSuite; List<List<QName>> excludes = new ArrayList<List<QName>>(); QName startingTest; Document form = null; String title = null; String description = null; public ProfileEntry() { super(); } public ProfileEntry(Element profile) throws Exception { super(profile); title = DomUtils.getElementByTagName(profile, "title").getTextContent(); description = DomUtils.getElementByTagName(profile, "description") .getTextContent(); Element base = DomUtils.getElementByTagName(profile, "base"); baseSuite = getQName(base); for (Element exclude : DomUtils .getElementsByTagName(profile, "exclude")) { ArrayList<QName> list = new ArrayList<QName>(); for (Element test : DomUtils.getElementsByTagName(exclude, "test")) { list.add(getQName(test)); } excludes.add(list); } setDefaultResult(DomUtils.getElementByTagName(profile, "defaultResult") .getTextContent()); Element e = DomUtils.getElementByTagName(profile, "starting-test"); startingTest = getQName(e); Element form_e = DomUtils.getElementByTagNameNS(profile, Test.CTL_NS, "form"); if (form_e != null) { form = DomUtils.createDocument(form_e); } } public QName getStartingTest() { return startingTest; } public void setStartingTest(QName startingTest) { this.startingTest = startingTest; } public Document getForm() { return form; } public void setForm(Document form) { this.form = form; } public QName getBaseSuite() { return baseSuite; } public void setBaseSuite(QName baseSuite) { this.baseSuite = baseSuite; } public List<List<QName>> getExcludes() { return excludes; } public void setExcludes(List<List<QName>> excludes) { this.excludes = excludes; } QName getQName(Element e) { String prefix = e.getAttribute("prefix"); String namespaceUri = e.getAttribute("namespace-uri"); String localName = e.getAttribute("local-name"); return new QName(namespaceUri, localName, prefix); } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getDefaultResult() { return defaultResult; } public void setDefaultResult(String defaultResult) { this.defaultResult = defaultResult; } }