Commit 51ea3808 authored by Christopher Cottier's avatar Christopher Cottier

created child classes to XML parser specific to the xml file it will parse,...

created child classes to XML parser specific to the xml file it will parse, moved XMLParsing script logic to class to increase portability and encapsulation, added scriptrunner to demo class functionality
parent 5c08e3f5
No preview for this file type
package com.nisum
class PomXMLParser extends XMLParser {
public PomXMLParser(File f){
super(f)
}
public PomXMLParser(String f){
super(f)
}
}
package com.nisum
String[] fileLocations = [
"/Users/ccottier/Documents/ds-spring-conversion-tool/spring-conversion-xml-parser/src/main/groovy/com/nisum/web.xml",
"./pom.xml"
]
XMLParsingScript.executeConversions(fileLocations)
package com.nisum
class WebXMLParser extends XMLParser {
public WebXMLParser(File f){
super(f)
}
public WebXMLParser(String f){
super(f)
}
}
...@@ -9,8 +9,12 @@ class XMLParser { ...@@ -9,8 +9,12 @@ class XMLParser {
File file; File file;
public void loadFile(String fileLocation){ public XMLParser(File f){
file = new File(fileLocation); this.file = f
}
public XMLParser(String f){
this.file = new File(f)
} }
public GPathResult createParser() { public GPathResult createParser() {
......
...@@ -2,37 +2,53 @@ package com.nisum ...@@ -2,37 +2,53 @@ package com.nisum
import groovy.xml.slurpersupport.GPathResult import groovy.xml.slurpersupport.GPathResult
String webXMLFileLocation = "./web.xml" class XMLParsingScript {
public static void executeConversions(File[] files){
//argument will be file names
//String webXMLFileLocation = "./web.xml"
//eventually script will require absolute path from user input //eventually script will require absolute path from user input
//String webXMLFileLocation = "/Users/ccottier/Documents/ds-spring-conversion-tool/spring-conversion-xml-parser/src/main/groovy/com/nisum/web.xml" //String webXMLFileLocation = "/Users/ccottier/Documents/ds-spring-conversion-tool/spring-conversion-xml-parser/src/main/groovy/com/nisum/web.xml"
XMLParser webXMLParser = new XMLParser() WebXMLParser webXMLParser = new WebXMLParser(files[0])
webXMLParser.loadFile(webXMLFileLocation)
String[] servPath = ["servlet","servlet-name"] String[] servPath = ["servlet","servlet-name"]
def servletNameNode = webXMLParser.getNodeByPath(servPath) def servletNameNode = webXMLParser.getNodeByPath(servPath)
println(servletNameNode.toString()) println(servletNameNode.toString())
//POM XML PARSER //POM XML PARSER
String pomXMLFileLocation = "./pom.xml" PomXMLParser pomXMLParser = new PomXMLParser(files[1])
XMLParser pomXMLParser = new XMLParser() String[] displayNamePath = ["display-name"]
pomXMLParser.loadFile(pomXMLFileLocation) def displayNameNode = pomXMLParser.getNodeByPath(displayNamePath)
println(displayNameNode.toString());
String[] displayNamePath = ["display-name"] println(displayNameNode.name())
def displayNameNode = pomXMLParser.getNodeByPath(displayNamePath)
println(displayNameNode.toString());
println(displayNameNode.name()) def groupId = pomXMLParser.findNodeByTagName("groupId")
println(groupId.toString())
def groupId = pomXMLParser.findNodeByTagName("groupId") def dependencies = pomXMLParser.findAllNodesByTagName("dependency")
println(groupId.toString()) println(dependencies)
def rootPom = pomXMLParser.getRootNode()
println(rootPom)
}
public static void executeConversions(String[] fileLocations){
File[] files = new File[fileLocations.length]
int i = 0
for (String fileLocation : fileLocations) {
File conv = new File(fileLocation)
files[i] = conv
i++
}
executeConversions(files)
}
}
def dependencies = pomXMLParser.findAllNodesByTagName("dependency")
println(dependencies)
def rootPom = pomXMLParser.getRootNode()
println(rootPom)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment