cmailleux 2005/07/04 11:56:32 CEST
Modified files:
war/src/java/com/codeva/webapps/webclipping Rewriter.java
Log:
Correct handling of different protocol for href
Correct handling of file for download like pdf
Revision Changes Path
1.11 +6 -2
webclipping/war/src/java/com/codeva/webapps/webclipping/Rewriter.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclipping/war/src/java/com/codeva/webapps/webclipping/Rewriter.java.diff?r1=1.10&r2=1.11&f=h
Index: Rewriter.java
===================================================================
RCS file:
/home/cvs/repository/webclipping/war/src/java/com/codeva/webapps/webclipping/Rewriter.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Rewriter.java 11 May 2005 13:20:36 -0000 1.10
+++ Rewriter.java 4 Jul 2005 09:56:32 -0000 1.11
@@ -302,7 +302,10 @@
String hrefUrl = href.getValue().trim();
log.debug("Now we must rewrite this anchor tag for url : " +
hrefUrl);
stringBuffer.setLength(0);
- if (!hrefUrl.toLowerCase().startsWith("http") &&
!hrefUrl.toLowerCase().startsWith("javascript")) {
+ if (!hrefUrl.toLowerCase().startsWith("http") &&
!hrefUrl.toLowerCase().startsWith("javascript")
+ && !hrefUrl.toLowerCase().startsWith("mailto") &&
!hrefUrl.toLowerCase().startsWith("ftp")
+ && !hrefUrl.toLowerCase().startsWith("news") &&
!hrefUrl.toLowerCase().startsWith("wais")
+ && !hrefUrl.toLowerCase().startsWith("gopher")) {
Matcher matcher = pattern.matcher(hrefUrl);
if (!matcher.find()) {
String rewritedUrl =
getRewritedUrl(httpServletRequest, response,
@@ -334,8 +337,9 @@
document.add(new StringOutputSegment(startTag,
stringBuffer.toString()));
} else if (hrefUrl.toLowerCase().startsWith("http")) {
+ Matcher matcher = pattern.matcher(hrefUrl);
URL tmp = new URL(hrefUrl);
- if
(tmp.getHost().equalsIgnoreCase(urlProperties.getHost())) {
+ if (!matcher.find() &&
tmp.getHost().equalsIgnoreCase(urlProperties.getHost())) {
stringBuffer.append("<a
href=\"").append(getRewritedUrl(httpServletRequest, response,
hrefUrl)).append("\" ");
Iterator atList = attributes.iterator();
while (atList.hasNext()) {