/**
* extract all the modification information and store to member fields.
* @param filePath
* @throws Exception
*/
public
void
extractModifyInfo(String filePath)
throws
Exception{
SAXReader reader =
new
SAXReader();
Document document = reader.read(
new
File(filePath));
Element rootElement = document.getRootElement();
String testcaseElementPathValue;
Element addElements;
Element addElementPath;
String addElementPathValue;
Element addElementValue;
String addElementValueValue;
Element updateElements;
Element updateElementPath;
String updateElementPathValue;
Element updateElementValue;
String updateElementValueValue;
Element removeElements;
Element removeElementPath;
String removeElementPathValue;
List<Element> testcaseElementList = rootElement.elements(
"test_case"
);
for
(Element testcaseElement : testcaseElementList){
testcaseElementPathValue = testcaseElement.getUniquePath();
addElements= testcaseElement.element(
"add_elements"
);
if
(addElements!=
null
){
List<Element> addElementList = addElements.elements(
"add_element"
);
for
(Element addElement : addElementList){
addElementPath = addElement.element(
"path"
);
addElementPathValue = addElementPath.getTextTrim();
addElementValue = addElement.element(
"value"
);
String xmlValue=addElementValue.asXML();
addElementValueValue=xmlValue.replace(
"<value>"
,
""
).replace(
"</value>"
,
""
);
addElementInfoList.add
(
new
AddElement(testcaseElementPathValue,addElementPathValue,addElementValueValue));
}
}
updateElements= testcaseElement.element(
"update_elements"
);
if
(updateElements!=
null
){
List<Element> updateElementList = updateElements.elements(
"update_element"
);
for
(Element updateElement : updateElementList){
updateElementPath = updateElement.element(
"path"
);
updateElementPathValue = updateElementPath.getTextTrim();
updateElementValue = updateElement.element(
"value"
);
updateElementValueValue=updateElementValue.getTextTrim();
updateElementInfoList.add
(
new
UpdateElement(testcaseElementPathValue,updateElementPathValue,updateElementValueValue));
}
}
removeElements= testcaseElement.element(
"remove_elements"
);
if
(removeElements !=
null
){
List<Element> removeElementList = removeElements.elements(
"remove_element"
);
for
(Element removeElement : removeElementList){
removeElementPath = removeElement.element(
"path"
);
removeElementPathValue = removeElementPath.getTextTrim();
removeElementInfoList.add(
new
RemoveElement(testcaseElementPathValue,removeElementPathValue));
}
}
}
}