Author: chris.laprun(a)jboss.com
Date: 2008-02-05 21:37:14 -0500 (Tue, 05 Feb 2008)
New Revision: 9792
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/SimpleFragmentRenderer.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java
modules/portlet/trunk/test/src/test/build.xml
modules/portlet/trunk/test/src/test/resources/google-map-portlet-war/WEB-INF/portlet.xml
modules/portlet/trunk/test/src/test/resources/google-weather-portlet-war/WEB-INF/portlet.xml
Log:
- Fixed sample portlets deployment and code. Should now work with public render
parameters.
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/SimpleFragmentRenderer.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/SimpleFragmentRenderer.java 2008-02-06
01:25:04 UTC (rev 9791)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/controller/SimpleFragmentRenderer.java 2008-02-06
02:37:14 UTC (rev 9792)
@@ -50,7 +50,7 @@
}
StringBuilder builder = new StringBuilder(frag.length() + 50);
- builder.append("<div
class=\"portlet\">").append(frag).append("</div>");
+ builder.append("<div class='portlet' style='border: 1px
solid #aaa; background-color:
#eee;'>").append(frag).append("</div>");
return builder.toString();
}
else
@@ -63,7 +63,7 @@
{
String html = error.toHTML();
StringBuilder builder = new StringBuilder(html.length() + 50);
- builder.append("<div
class='error'>").append(html).append("</div>");
+ builder.append("<div class='error' style='border: 1px solid
#aaa; background-color:
#fee;'>").append(html).append("</div>");
return builder.toString();
}
}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java 2008-02-06
01:25:04 UTC (rev 9791)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleClippingPortlet.java 2008-02-06
02:37:14 UTC (rev 9792)
@@ -33,6 +33,7 @@
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
@@ -66,24 +67,10 @@
URLConnection connection = url.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
- InputStream in = new BufferedInputStream(connection.getInputStream());
- StringBuilder tmp = new StringBuilder(8192);
- byte[] buffer = new byte[4096];
- while (true)
- {
- int i = in.read(buffer);
- if (i == 0)
- {
- continue;
- }
- if (i == -1)
- {
- break;
- }
- tmp.append(new String(buffer, "UTF-8"), 0, i);
- }
+ BufferedInputStream in = new BufferedInputStream(connection.getInputStream());
+ String html = new String(getBytes(in, 16384), "UTF-8");
+ in.close();
- String html = tmp.toString();
String beg = "<div class=e>";
String end = "</table>";
int begIndex = html.indexOf(beg);
@@ -173,4 +160,26 @@
{
return GOOGLE + zip;
}
+
+ private byte[] getBytes(InputStream in, int bufferSize) throws IOException,
IllegalArgumentException
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ byte[] buffer = new byte[bufferSize];
+ while (true)
+ {
+ int i = in.read(buffer);
+ if (i == 0)
+ {
+ continue;
+ }
+ if (i == -1)
+ {
+ break;
+ }
+ out.write(buffer, 0, i);
+ }
+ return out.toByteArray();
+ }
+
}
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java 2008-02-06
01:25:04 UTC (rev 9791)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/simple/samples/GoogleWeatherClippingPortlet.java 2008-02-06
02:37:14 UTC (rev 9792)
@@ -30,7 +30,7 @@
public class GoogleWeatherClippingPortlet extends GoogleClippingPortlet
{
private final static String WEATHER_URL =
"http://www.google.com/search?q=weather+";
- private static final String A_END = "</a";
+ private static final String A_END = "</a>";
protected String getQueryString(String zip)
{
@@ -49,9 +49,9 @@
if (begIndex != -1)
{
endIndex = html.indexOf(A_END, begIndex);
- tmp = tmp.substring(0, begIndex) + html.substring(endIndex);
+ tmp = tmp.substring(0, begIndex) + html.substring(endIndex + A_END.length());
}
- return tmp;
+ return super.postProcessHTML(tmp);
}
}
Modified: modules/portlet/trunk/test/src/test/build.xml
===================================================================
--- modules/portlet/trunk/test/src/test/build.xml 2008-02-06 01:25:04 UTC (rev 9791)
+++ modules/portlet/trunk/test/src/test/build.xml 2008-02-06 02:37:14 UTC (rev 9792)
@@ -716,13 +716,6 @@
<path refid="mc.jboss_microcontainer"/>
<path refid="mc.jaxb-api"/>
- <!-- Portal dependencies -->
- <path>
- <pathelement path="${dependency.portal-common-portal.jar}"/>
- <pathelement path="${dependency.portal-portlet.jar}"/>
- </path>
-
-
<!-- For Tomcat -->
<path>
<pathelement path="${dependency.log4j.jar}"/>
@@ -740,9 +733,11 @@
<copy todir="${target}/simple-portal" flatten="true">
<path>
- <pathelement path="${dependency.portal-common.jar}"/>
- <pathelement path="${dependency.portal-web.jar}"/>
- <pathelement path="${dependency.jsr168api.jar}"/>
+ <path location="${dependency.portal-common.jar}"/>
+ <path location="${dependency.portal-common-portal.jar}"/>
+ <path location="${dependency.portal-portlet.jar}"/>
+ <path location="${dependency.portal-web.jar}"/>
+ <path location="${dependency.jsr168api.jar}"/>
</path>
</copy>
Modified:
modules/portlet/trunk/test/src/test/resources/google-map-portlet-war/WEB-INF/portlet.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/google-map-portlet-war/WEB-INF/portlet.xml 2008-02-06
01:25:04 UTC (rev 9791)
+++
modules/portlet/trunk/test/src/test/resources/google-map-portlet-war/WEB-INF/portlet.xml 2008-02-06
02:37:14 UTC (rev 9792)
@@ -26,12 +26,27 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0">
<portlet>
+ <description>Portlet displaying a location on Google
Maps</description>
<portlet-name>GoogleMap</portlet-name>
+ <display-name>Google Map Portlet</display-name>
<portlet-class>org.jboss.portal.simple.samples.GoogleClippingPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ <portlet-mode>EDIT</portlet-mode>
</supports>
-
<supported-public-render-parameter>g:zipcode</supported-public-render-parameter>
+ <portlet-info>
+ <title>Google Map Portlet</title>
+ <keywords>sample,map,google</keywords>
+ </portlet-info>
+ <portlet-preferences>
+ <preference>
+ <name>zipcode</name>
+ <value>94102</value>
+ <read-only>false</read-only>
+ </preference>
+ </portlet-preferences>
+
<supported-public-render-parameter>zipcode</supported-public-render-parameter>
</portlet>
<public-render-parameter>
Modified:
modules/portlet/trunk/test/src/test/resources/google-weather-portlet-war/WEB-INF/portlet.xml
===================================================================
---
modules/portlet/trunk/test/src/test/resources/google-weather-portlet-war/WEB-INF/portlet.xml 2008-02-06
01:25:04 UTC (rev 9791)
+++
modules/portlet/trunk/test/src/test/resources/google-weather-portlet-war/WEB-INF/portlet.xml 2008-02-06
02:37:14 UTC (rev 9792)
@@ -26,12 +26,27 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2...
http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0">
<portlet>
+ <description>Portlet displaying the weather forecast for the specified
location</description>
<portlet-name>GoogleWeather</portlet-name>
+ <display-name>Google Weather Portlet</display-name>
<portlet-class>org.jboss.portal.simple.samples.GoogleWeatherClippingPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ <portlet-mode>EDIT</portlet-mode>
</supports>
-
<supported-public-render-parameter>g:zipcode</supported-public-render-parameter>
+ <portlet-info>
+ <title>Google Weather Portlet</title>
+ <keywords>sample,weather,google</keywords>
+ </portlet-info>
+ <portlet-preferences>
+ <preference>
+ <name>zipcode</name>
+ <value>94102</value>
+ <read-only>false</read-only>
+ </preference>
+ </portlet-preferences>
+
<supported-public-render-parameter>zipcode</supported-public-render-parameter>
</portlet>
<public-render-parameter>