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:
bwalding
2003-01-30 15:34:46 +00:00
parent 5d9065724d
commit 417599b027
10 changed files with 107 additions and 84 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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();
}
}

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<info>
<element name="linkcheck">
<element name="file" property="files"/>
</element>
</info>

View File

@@ -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();
}
}

View File

@@ -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>

View File

@@ -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();
}
}

View File

@@ -1,7 +0,0 @@
<linkcheck>
<file name="asd.html">
<link
url="bob"
status="OK"/>
</file>
</linkcheck>

View File

@@ -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>

View File

@@ -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());
}
}