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;


Reply via email to