Author: dkulp
Date: Wed Dec 12 19:11:08 2012
New Revision: 1420920
URL: http://svn.apache.org/viewvc?rev=1420920&view=rev
Log:
Change how auth is handled and only auth for the user logos
Modified:
cxf/web/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java
cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
Modified:
cxf/web/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java
URL:
http://svn.apache.org/viewvc/cxf/web/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java?rev=1420920&r1=1420919&r2=1420920&view=diff
==============================================================================
--- cxf/web/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java
(original)
+++ cxf/web/src/main/java/org/apache/cxf/cwiki/ConfluenceCleanupWriter.java Wed
Dec 12 19:11:08 2012
@@ -150,7 +150,8 @@ public class ConfluenceCleanupWriter ext
try {
name = exporter.loadUserImage(page, href);
} catch (Exception ex) {
- throw new SAXException(ex);
+ System.out.println("Could not download userLogo " +
href
+ + " linked from " +
page.getTitle());
}
String dirName = page.createFileName();
dirName = dirName.substring(0, dirName.lastIndexOf(".")) +
".userimage/";
@@ -164,7 +165,8 @@ public class ConfluenceCleanupWriter ext
try {
name = exporter.loadThumbnail(page, href);
} catch (Exception ex) {
- throw new SAXException(ex);
+ System.out.println("Could not download thumbnail " + href
+ + " linked from " + page.getTitle());
}
String dirName = page.createFileName();
dirName = dirName.substring(0, dirName.lastIndexOf(".")) +
".thumbs/";
Modified: cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
URL:
http://svn.apache.org/viewvc/cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java?rev=1420920&r1=1420919&r2=1420920&view=diff
==============================================================================
--- cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java (original)
+++ cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java Wed Dec 12
19:11:08 2012
@@ -29,7 +29,10 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StringReader;
import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
import java.io.Writer;
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
@@ -158,16 +161,18 @@ public class SiteExporter implements Run
props.put("resource.loader", "url");
props.put("url.resource.loader.class", clzName);
props.put("url.resource.loader.root", "");
- Velocity.init(props);
-
- URL url = ClassLoaderUtils.getResource(templateName, this.getClass());
- if (url == null) {
- File file = new File(templateName);
- if (file.exists()) {
- url = file.toURI().toURL();
+ synchronized (Velocity.class) {
+ Velocity.init(props);
+
+ URL url = ClassLoaderUtils.getResource(templateName,
this.getClass());
+ if (url == null) {
+ File file = new File(templateName);
+ if (file.exists()) {
+ url = file.toURI().toURL();
+ }
}
+ template = Velocity.getTemplate(url.toURI().toString());
}
- template = Velocity.getTemplate(url.toURI().toString());
outputDir.mkdirs();
}
@@ -404,12 +409,12 @@ public class SiteExporter implements Run
}
}
String loadUserImage(Page p, String href) throws Exception {
- return loadPageBinaryData(p, href, "userimage");
+ return loadPageBinaryData(p, href, "userimage", true);
}
String loadThumbnail(Page p, String href) throws Exception {
- return loadPageBinaryData(p, href, "thumbs");
+ return loadPageBinaryData(p, href, "thumbs", false);
}
- String loadPageBinaryData(Page p, String href, String type) throws
Exception {
+ String loadPageBinaryData(Page p, String href, String type, boolean auth)
throws Exception {
String filename = href.substring(href.lastIndexOf('/') + 1);
filename = filename.replace(' ', '_');
if (filename.indexOf('?') != -1) {
@@ -426,14 +431,18 @@ public class SiteExporter implements Run
file = new File(file, filename);
boolean exists = file.exists();
FileOutputStream out = new FileOutputStream(file);
- if (href.indexOf('?') != -1) {
- href += "&os_authType=basic";
- } else {
- href += "?os_authType=basic";
+ if (auth) {
+ if (href.indexOf('?') != -1) {
+ href += "&os_authType=basic";
+ } else {
+ href += "?os_authType=basic";
+ }
}
URL url = new URL(HOST + href);
URLConnection con = url.openConnection();
- con.addRequestProperty("Authorization", getBasicAuthHeader());
+ if (auth) {
+ con.addRequestProperty("Authorization", getBasicAuthHeader());
+ }
InputStream ins = con.getInputStream();
IOUtils.copy(ins, out);
out.close();
@@ -448,7 +457,11 @@ public class SiteExporter implements Run
}
public String getBasicAuthHeader() {
String userAndPass = userName + ":" + password;
- return "Basic " + Base64Utility.encode(userAndPass.getBytes());
+ try {
+ return "Basic " +
Base64Utility.encode(userAndPass.getBytes("ISO-8859-1"));
+ } catch (UnsupportedEncodingException e) {
+ return "Basic";
+ }
}
public Page findPage(String title) throws Exception {
for (Page p : pages.values()) {
@@ -782,7 +795,12 @@ public class SiteExporter implements Run
return xmlWriter;
}
- public static void main(String[] args) throws Exception {
+ public static void main(String[] args) throws Exception {
+ Authenticator.setDefault(new Authenticator() {
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(userName,
password.toCharArray());
+ }
+ });
ListIterator<String> it = Arrays.asList(args).listIterator();
List<String> files = new ArrayList<String>();
boolean forceAll = false;