Hola a todos:
Estoy desarrollando un plugin de Maven que al aplicarse a otro proyecto cree carpetas con los nombres de los subproeyctos (y luego mueva los ficheros a las carpetas correspondientes).
El caso es que estoy realizando la implementacion recorriendo los Nodelist leyendo el XML y queria saber si hay alguna manera mas eficiente o mas sencilla ya que estoy un poco atascado y estoy empezando a plantearme otras posibles implementaciones. Un saludo
Añado el ccodigo que estoy implementando por si alguien ve mi fallo
Código:
public String leerPom(String tag1, String tag2) {
Document doc = crearDocument();
doc.getDocumentElement().normalize();
NodeList listaProjects = numeroNodos(tag1);
for (int i = 0; i < listaProjects.getLength(); i++) {
Node artifact = listaProjects.item(i);
if (artifact.getNodeType() == Node.ELEMENT_NODE) {
Element elemento = (Element) artifact;
return (getTagValue(tag2, elemento).toString());
} else {
return "FALLO";
}
}
return "FIN";
}
Código:
private static String getTagValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0)
.getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
La llamada a la funcion la hago con
Código:
int subProyectos = numeroNodos("module").getLength();
if (subProyectos > 0) {
for (int j = 0; j < subProyectos; j++) {
File myFolder6 = new File(DIRECTORIO + "\\"
+ constantes[i] + "\\" + aux + "\\"
+ leerPom(MODULE, MODULES));
crearDirectorio(myFolder6);
}
mi problema es que Subproyectos tiene valor 3 pero cuando recorre el pom solo crea la carpeta con el valor de la primera etiqueta module es decir teniendo este codigo
Código:
<modules>
<module>Uno</module>
<module>Dos</module>
<module>Tres</module>
</modules>
Solo se me crea la carpeta Uno. alguien ve algo mal?