Author: woonsan
Date: Wed Nov 25 16:09:44 2009
New Revision: 884169

URL: http://svn.apache.org/viewvc?rev=884169&view=rev
Log:
APA-24: Adding proxy host and port preferences

Modified:
    
portals/applications/webcontent/trunk/webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/WebContentPortlet.java
    
portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml

Modified: 
portals/applications/webcontent/trunk/webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/WebContentPortlet.java
URL: 
http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/WebContentPortlet.java?rev=884169&r1=884168&r2=884169&view=diff
==============================================================================
--- 
portals/applications/webcontent/trunk/webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/WebContentPortlet.java
 (original)
+++ 
portals/applications/webcontent/trunk/webcontent-jar/src/main/java/org/apache/portals/applications/webcontent/portlet/WebContentPortlet.java
 Wed Nov 25 16:09:44 2009
@@ -53,6 +53,7 @@
 import org.apache.commons.httpclient.HttpMethod;
 import org.apache.commons.httpclient.HttpMethodBase;
 import org.apache.commons.httpclient.NameValuePair;
+import org.apache.commons.httpclient.ProxyHost;
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.MultipartPostMethod;
 import org.apache.commons.httpclient.methods.PostMethod;
@@ -111,6 +112,9 @@
 
     public static final String NO_URL = "<p>URL source not specified. Go to 
edit mode and specify an URL.</p>";
     
+    private String defaultProxyHost;
+    private int defaultProxyPort = -1;
+    
     public WebContentPortlet()
     {
         super();
@@ -122,6 +126,26 @@
     public void init(PortletConfig config) throws PortletException
     {
         super.init(config);
+        
+        String param = config.getInitParameter("PROXYHOST");
+        
+        if (param != null && !"".equals(param.trim()))
+        {
+            defaultProxyHost = param.trim();
+        }
+        
+        param = config.getInitParameter("PROXYPORT");
+        
+        if (param != null && !"".equals(param.trim()))
+        {
+            try
+            {
+                defaultProxyPort = Integer.parseInt(param.trim());
+            }
+            catch (Exception ignore)
+            {
+            }
+        }
     }
 
     /**
@@ -505,6 +529,20 @@
         // derived class hook (e.g. to set up Basic Authentication)
         HttpClient client = new HttpClient();
         
+        String proxyHost = request.getPreferences().getValue("PROXYHOST", 
defaultProxyHost);
+        int proxyPort = -1;
+        
+        try
+        {
+            proxyPort = 
Integer.parseInt(request.getPreferences().getValue("PROXYPORT", 
Integer.toString(defaultProxyPort)));
+        }
+        catch (Exception ignore)
+        {
+        }
+        
+        ProxyHost proxyHostObject = (proxyPort == -1 ? new 
ProxyHost(proxyHost) : new ProxyHost(proxyHost, proxyPort));
+        client.getHostConfiguration().setProxyHost(proxyHostObject);
+        
         // reuse existing state, if we have been here before
         Cookie[] cookies = (Cookie[])PortletMessaging.receive(request, 
HTTP_STATE);
         if (cookies != null)

Modified: 
portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml
URL: 
http://svn.apache.org/viewvc/portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml?rev=884169&r1=884168&r2=884169&view=diff
==============================================================================
--- 
portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml
 (original)
+++ 
portals/applications/webcontent/trunk/webcontent-war/src/main/webapp/WEB-INF/portlet.xml
 Wed Nov 25 16:09:44 2009
@@ -223,6 +223,14 @@
         <name>SRC</name>
         <value>http://www.google.com</value>
       </preference>
+      <preference>
+        <name>PROXYHOST</name>
+        <value></value>
+      </preference>
+      <preference>
+        <name>PROXYPORT</name>
+        <value></value>
+      </preference>
     </portlet-preferences>        
   </portlet>
   


Reply via email to