MAVEN-214: Changed XML generation method
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112781 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -24,24 +24,16 @@
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<id>commons-betwixt</id>
|
||||
<version>1.0-beta-1</version>
|
||||
<id>commons-util</id>
|
||||
<version>SNAPSHOT</version>
|
||||
<properties>
|
||||
<classloader>root.maven</classloader>
|
||||
</properties>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<id>commons-collections</id>
|
||||
<version>2.1</version>
|
||||
<properties>
|
||||
<classloader>root.maven</classloader>
|
||||
</properties>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<id>commons-digester</id>
|
||||
<version>1.3</version>
|
||||
<id>commons-lang</id>
|
||||
<version>SNAPSHOT</version>
|
||||
<properties>
|
||||
<classloader>root.maven</classloader>
|
||||
</properties>
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<info>
|
||||
<element name="file">
|
||||
<attribute name="name" property="name"/>
|
||||
<attribute name="successful" property="successful"/>
|
||||
<attribute name="unsuccessful" property="unsuccessful"/>
|
||||
<element name="result" property="results"/>
|
||||
</element>
|
||||
</info>
|
||||
@@ -150,8 +150,6 @@ public class FileToCheck {
|
||||
break;
|
||||
}
|
||||
|
||||
//FIXME: needs expanding and caching for remote links
|
||||
|
||||
links.add(lcr);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -219,7 +217,29 @@ public class FileToCheck {
|
||||
String fileName = f.getAbsolutePath();
|
||||
if (fileName.startsWith(baseName))
|
||||
fileName = fileName.substring(baseName.length() + 1);
|
||||
|
||||
fileName = fileName.replace('\\', '/');
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public String toXML() {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
|
||||
buf.append(" <file>\n");
|
||||
buf.append(" <name>" + getName() + "</name>\n");
|
||||
buf.append(" <successful>" + getSuccessful() + "</successful>\n");
|
||||
buf.append(" <unsuccessful>" + getUnsuccessful() + "</unsuccessful>\n");
|
||||
|
||||
Iterator iter = getResults().iterator();
|
||||
while (iter.hasNext()) {
|
||||
LinkCheckResult result = (LinkCheckResult) iter.next();
|
||||
buf.append(result.toXML());
|
||||
}
|
||||
|
||||
|
||||
buf.append(" </file>\n");
|
||||
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<info>
|
||||
<element name="linkcheck">
|
||||
<element name="file" property="files"/>
|
||||
</element>
|
||||
</info>
|
||||
@@ -66,7 +66,6 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.betwixt.io.BeanWriter;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.maven.linkcheck.validation.FileLinkValidator;
|
||||
@@ -80,7 +79,7 @@ import org.apache.maven.linkcheck.validation.MailtoLinkValidator;
|
||||
* output that represents the list of changes.
|
||||
*
|
||||
* @author <a href="mailto:ben@walding.com">Ben Walding</a>
|
||||
* @version $Id: LinkCheck.java,v 1.1 2003/01/30 10:58:08 bwalding Exp $
|
||||
* @version $Id: LinkCheck.java,v 1.2 2003/01/30 15:34:26 bwalding Exp $
|
||||
*/
|
||||
public class LinkCheck {
|
||||
/** Log */
|
||||
@@ -131,8 +130,7 @@ public class LinkCheck {
|
||||
* support ISO-8859-1 encoding
|
||||
*/
|
||||
List filesToCheck = null; //of FileToCheck
|
||||
public void doExecute()
|
||||
throws Exception {
|
||||
public void doExecute() throws Exception {
|
||||
if (output == null) {
|
||||
throw new NullPointerException("output must be set");
|
||||
}
|
||||
@@ -156,9 +154,8 @@ public class LinkCheck {
|
||||
createDocument(files);
|
||||
lvm.saveCache(cache);
|
||||
}
|
||||
|
||||
|
||||
public List getFiles() {
|
||||
LOG.info("About to write " + filesToCheck.size() + " file entries");
|
||||
return filesToCheck;
|
||||
}
|
||||
|
||||
@@ -206,23 +203,19 @@ public class LinkCheck {
|
||||
new OutputStreamWriter(
|
||||
new FileOutputStream(output),
|
||||
getOutputEncoding()));
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer
|
||||
.append("<?xml version=\"1.0\" encoding=\"")
|
||||
.append(getOutputEncoding())
|
||||
.append("\" ?>\n");
|
||||
|
||||
|
||||
BeanWriter bw = new BeanWriter(out);
|
||||
bw.writeXmlDeclaration(buffer.toString());
|
||||
bw.setWriteIDs(false);
|
||||
bw.enablePrettyPrint();
|
||||
bw.write(this);
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer
|
||||
.append("<?xml version=\"1.0\" encoding=\"")
|
||||
.append(getOutputEncoding())
|
||||
.append("\" ?>\n");
|
||||
|
||||
out.write(buffer.toString());
|
||||
|
||||
out.write(toXML());
|
||||
out.close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns the outputEncoding.
|
||||
* @return String
|
||||
@@ -239,7 +232,6 @@ public class LinkCheck {
|
||||
this.outputEncoding = outputEncoding;
|
||||
}
|
||||
|
||||
|
||||
LinkValidatorManager lvm = null;
|
||||
public LinkValidatorManager getLinkValidatorManager() {
|
||||
if (lvm == null) {
|
||||
@@ -285,4 +277,19 @@ public class LinkCheck {
|
||||
this.exclude = exclude;
|
||||
}
|
||||
|
||||
public String toXML() {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
|
||||
buf.append("<linkcheck>\n");
|
||||
|
||||
//buf.append(" <files>\n");
|
||||
for (Iterator iter = getFiles().iterator(); iter.hasNext();) {
|
||||
FileToCheck ftc = (FileToCheck) iter.next();
|
||||
buf.append(ftc.toXML());
|
||||
}
|
||||
//buf.append(" </files>\n");
|
||||
buf.append("</linkcheck>\n");
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<info>
|
||||
<element name="result">
|
||||
<attribute name="status" property="status"/>
|
||||
<attribute name="target" property="target"/>
|
||||
</element>
|
||||
</info>
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.apache.maven.linkcheck;
|
||||
|
||||
import org.apache.commons.util.XmlUtils;
|
||||
|
||||
/* ====================================================================
|
||||
* The Apache Software License, Version 1.1
|
||||
*
|
||||
@@ -55,8 +57,7 @@ package org.apache.maven.linkcheck;
|
||||
*
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @author Ben Walding
|
||||
*
|
||||
@@ -81,7 +82,6 @@ public class LinkCheckResult {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the target.
|
||||
* @return String
|
||||
@@ -90,7 +90,6 @@ public class LinkCheckResult {
|
||||
return target;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the target.
|
||||
* @param target The target to set
|
||||
@@ -99,4 +98,14 @@ public class LinkCheckResult {
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
public String toXML() {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
|
||||
buf.append(" <result>\n");
|
||||
buf.append(" <target>" + XmlUtils.escapeXml(getTarget()) + "</target>\n");
|
||||
buf.append(" <status>" + getStatus() + "</status>\n");
|
||||
buf.append(" </result>\n");
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<linkcheck>
|
||||
<file name="asd.html">
|
||||
<link
|
||||
url="bob"
|
||||
status="OK"/>
|
||||
</file>
|
||||
</linkcheck>
|
||||
@@ -21,12 +21,11 @@
|
||||
<tr>
|
||||
<th>URL</th>
|
||||
</tr>
|
||||
<x:set var="files" select="file[@unsuccessful!=0]"/>
|
||||
<j:forEach var="file" items="${files}">
|
||||
<x:forEach var="file" select="file[unsuccessful != 0]">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<util:replace var="name" oldChar="\\" newChar="/">
|
||||
${file.attribute('name').value}
|
||||
<x:expr select="$file/name"/>
|
||||
</util:replace>
|
||||
<a href="${name}">${name}</a>
|
||||
</td>
|
||||
@@ -34,8 +33,8 @@
|
||||
<tr>
|
||||
<td>
|
||||
<x:forEach var="result" select="$file/result">
|
||||
<j:set var="status"><x:expr select="$result/@status"/></j:set>
|
||||
<j:set var="target"><x:expr select="$result/@target"/></j:set>
|
||||
<j:set var="status"><x:expr select="$result/status"/></j:set>
|
||||
<j:set var="target"><x:expr select="$result/target"/></j:set>
|
||||
<j:if test="${status != 'OK'}">
|
||||
<span style="pad-left:60px">${status} - ${target}</span>
|
||||
<br/>
|
||||
@@ -43,7 +42,7 @@
|
||||
</x:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
</j:forEach>
|
||||
</x:forEach>
|
||||
</table>
|
||||
</section>
|
||||
</body>
|
||||
|
||||
@@ -56,7 +56,12 @@ package org.apache.maven.linkcheck;
|
||||
* ====================================================================
|
||||
*/
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.linkcheck.validation.FileLinkValidator;
|
||||
import org.apache.maven.linkcheck.validation.LinkValidatorManager;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
@@ -71,8 +76,7 @@ public class LinkCheckTest extends TestCase {
|
||||
baseDir = System.getProperty("basedir");
|
||||
}
|
||||
|
||||
public void testScan()
|
||||
throws Exception {
|
||||
public void testScan() throws Exception {
|
||||
File f = new File(baseDir + "/src/test-resources");
|
||||
LinkCheck lc = new LinkCheck();
|
||||
lc.setBasedir(f);
|
||||
@@ -80,16 +84,40 @@ public class LinkCheckTest extends TestCase {
|
||||
lc.setOutputEncoding("ISO8859-1");
|
||||
lc.setCache(baseDir + "/target/linkcheck-cache.xml");
|
||||
lc.doExecute();
|
||||
|
||||
|
||||
Iterator iter = lc.getFiles().iterator();
|
||||
|
||||
Iterator iter = lc.getFiles().iterator();
|
||||
Map map = new HashMap();
|
||||
while (iter.hasNext()) {
|
||||
FileToCheck ftc = (FileToCheck) iter.next();
|
||||
System.out.println(ftc.getName());
|
||||
map.put(ftc.getName(), ftc);
|
||||
}
|
||||
|
||||
//Iterator iter = Collections.EMPTY_LIST.iterator();
|
||||
|
||||
assertEquals("files.size()", 6, lc.getFiles().size());
|
||||
|
||||
check(map, "nolink.html", 0);
|
||||
check(map, "test-resources/nolink.html", 0);
|
||||
check(map, "test-resources/test1/test1.html", 1);
|
||||
check(map, "test-resources/test1/test2.html", 0);
|
||||
check(map, "test1/test1.html", 1);
|
||||
check(map, "testA.html", 2);
|
||||
|
||||
}
|
||||
|
||||
private void check(Map map, String name, int linkCount) {
|
||||
FileToCheck ftc;
|
||||
|
||||
ftc = (FileToCheck) map.get(name);
|
||||
assertNotNull(name, ftc);
|
||||
|
||||
/*if (ftc.getResults().size() != linkCount) {
|
||||
|
||||
}*/
|
||||
|
||||
assertEquals(
|
||||
name + ".getLinks().size()",
|
||||
linkCount,
|
||||
ftc.getResults().size());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user