You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(61) |
Dec
(2) |
---|
From: <plu...@us...> - 2003-12-02 17:22:23
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv29460/jsr168/webcontent/googlesearch/WEB-INF Modified Files: portlet.xml Log Message: change schema location to double it. Index: portlet.xml =================================================================== RCS file: /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/WEB-INF/portlet.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** portlet.xml 17 Nov 2003 17:58:42 -0000 1.2 --- portlet.xml 2 Dec 2003 17:22:19 -0000 1.3 *************** *** 1,6 **** <?xml version="1.0" encoding="UTF-8"?> ! <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> ! ! <portlet> <portlet-name>GooglePortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.GooglePortlet</portlet-class> --- 1,9 ---- <?xml version="1.0" encoding="UTF-8"?> ! <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" ! version="1.0" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd ! http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> ! <portlet> <portlet-name>GooglePortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.GooglePortlet</portlet-class> *************** *** 12,16 **** <supports> <mime-type>text/html</mime-type> - <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> </supports> --- 15,18 ---- *************** *** 18,23 **** <portlet-info> ! <title>Google Portlet</title> ! <short-title>Googler</short-title> <keywords>Google, Search</keywords> </portlet-info> --- 20,25 ---- <portlet-info> ! <title>Google Search Portlet</title> ! <short-title>Google Search</short-title> <keywords>Google, Search</keywords> </portlet-info> |
From: <plu...@us...> - 2003-12-02 17:21:49
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv29350/jsr168/webcontent/newsfeed/WEB-INF Modified Files: portlet.xml Log Message: change schema location and removed config support Index: portlet.xml =================================================================== RCS file: /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/WEB-INF/portlet.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** portlet.xml 17 Nov 2003 17:59:41 -0000 1.2 --- portlet.xml 2 Dec 2003 17:21:46 -0000 1.3 *************** *** 1,4 **** <?xml version="1.0" encoding="UTF-8"?> ! <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <portlet-name>RssPortlet</portlet-name> --- 1,7 ---- <?xml version="1.0" encoding="UTF-8"?> ! <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" ! xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ! xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd ! http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <portlet-name>RssPortlet</portlet-name> *************** *** 11,15 **** <supports> <mime-type>text/html</mime-type> - <portlet-mode>config</portlet-mode> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> --- 14,17 ---- *************** *** 30,34 **** <value>http://headlines.internet.com/internetnews/fina-news/news.rss</value> <value>http://www.sciencedaily.com/newsfeed.xml</value> - <modifiable>1</modifiable> </preference> </portlet-preferences> --- 32,35 ---- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/webcontent/googlesearch Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp/webcontent/newsfeed In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp/webcontent/newsfeed Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/collaboration In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/collaboration Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/webcontent/newsfeed Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp/collaboration In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp/collaboration Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp/webcontent/googlesearch In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp/webcontent/googlesearch Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/enterpriseapps In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/enterpriseapps Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/webcontent Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp/enterpriseapps In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp/enterpriseapps Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/wsrp/webcontent In directory sc8-pr-cvs1:/tmp/cvs-serv32285/wsrp/webcontent Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/helloworld In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168/helloworld Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:54:25
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168 In directory sc8-pr-cvs1:/tmp/cvs-serv32285/jsr168 Removed Files: README.txt Log Message: Remove placeholder files --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-22 01:48:32
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc In directory sc8-pr-cvs1:/tmp/cvs-serv31465 Removed Files: README.txt Log Message: --- README.txt DELETED --- |
From: <plu...@us...> - 2003-11-17 18:00:24
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv28006/jsr168/webcontent/newsfeed/WEB-INF Modified Files: portlet.xml Log Message: removed validatator and description Index: portlet.xml =================================================================== RCS file: /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/WEB-INF/portlet.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** portlet.xml 4 Nov 2003 21:47:07 -0000 1.1 --- portlet.xml 17 Nov 2003 17:59:41 -0000 1.2 *************** *** 4,7 **** --- 4,11 ---- <portlet-name>RssPortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.RssPortlet</portlet-class> + <init-param> + <name>url</name> + <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> + </init-param> <expiration-cache>30</expiration-cache> <supports> *************** *** 12,26 **** </supports> <supported-locale>en-US</supported-locale> ! <init-param> ! <name>url</name> ! <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> ! </init-param> <portlet-info> <title>RSS Portlet</title> <short-title>RSS</short-title> <keywords>RSS</keywords> ! </portlet-info> <portlet-preferences> <preference> - <description xml:lang="EN">Default rss choices</description> <name>RssXml</name> <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> --- 16,27 ---- </supports> <supported-locale>en-US</supported-locale> ! <portlet-info> <title>RSS Portlet</title> <short-title>RSS</short-title> <keywords>RSS</keywords> ! </portlet-info> ! <portlet-preferences> <preference> <name>RssXml</name> <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> *************** *** 31,35 **** <modifiable>1</modifiable> </preference> - <validator>com.plumtree.portlet.impl.PreferencesValidatorImpl</validator> </portlet-preferences> </portlet> --- 32,35 ---- |
From: <plu...@us...> - 2003-11-17 17:59:26
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv27832/jsr168/webcontent/googlesearch/WEB-INF Modified Files: portlet.xml Log Message: removed config mode Change placement of init-param Index: portlet.xml =================================================================== RCS file: /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/WEB-INF/portlet.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** portlet.xml 4 Nov 2003 21:47:06 -0000 1.1 --- portlet.xml 17 Nov 2003 17:58:42 -0000 1.2 *************** *** 5,20 **** <portlet-name>GooglePortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.GooglePortlet</portlet-class> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> ! <portlet-mode>help</portlet-mode> ! <portlet-mode>config</portlet-mode> </supports> <supported-locale>en-US</supported-locale> ! <init-param> ! <name>key</name> ! <value></value> ! </init-param> <portlet-info> <title>Google Portlet</title> --- 5,20 ---- <portlet-name>GooglePortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.GooglePortlet</portlet-class> + <init-param> + <name>key</name> + <value></value> + </init-param> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> ! <portlet-mode>help</portlet-mode> </supports> <supported-locale>en-US</supported-locale> ! <portlet-info> <title>Google Portlet</title> |
From: <plu...@us...> - 2003-11-04 21:47:11
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/com/plumtree/portlet/portlets In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/newsfeed/com/plumtree/portlet/portlets Removed Files: RssPortlet.java Log Message: new samples for google search and rss --- RssPortlet.java DELETED --- |
From: <plu...@us...> - 2003-11-04 21:47:10
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/src/com/plumtree/portlet/portlets In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/newsfeed/src/com/plumtree/portlet/portlets Added Files: RssPortlet.java Log Message: new samples for google search and rss --- NEW FILE: RssPortlet.java --- /* Copyright (c) 2003, Plumtree Software All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions is met: Neither the name of Plumtree Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package com.plumtree.portlet.portlets; import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.GenericPortlet; import javax.portlet.PortletException; import javax.portlet.PortletMode; import javax.portlet.PortletPreferences; import javax.portlet.PortletSecurityException; import javax.portlet.PortletURL; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.portlet.UnavailableException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Source; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.*; import javax.xml.transform.stream.StreamSource; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URL; import java.util.Arrays; import java.util.TreeSet; /** * Portlet that transforms an RSS newsfeed */ public class RssPortlet extends GenericPortlet { /** xsl file for rss 1.0 */ private static final String RSS10XSL = "/WEB-INF/html.xsl"; /** xsl file for rss 2.0 */ private static final String RSS20XSL = "/WEB-INF/Rss20.xsl"; /**DOCUMENT ME!*/ private static final String CONTENT_TYPE_HTML = "text/html;charset=UTF-8"; /** compiled xsl file for 1.0 */ private Templates m_translet10; /** compiled xsl file for 2.0 */ private Templates m_translet20; /** * Gets the xsl file and puts it into application scope * * @see javax.servlet.portlet.Portlet#init(javax.servlet.portlet.PortletConfig) */ public void init() { try { InputStream xslstream = this.getPortletContext().getResourceAsStream( RssPortlet.RSS10XSL); StreamSource source = new StreamSource(xslstream); TransformerFactory tFactory = TransformerFactory.newInstance(); this.m_translet10 = tFactory.newTemplates(source); xslstream = this.getPortletContext().getResourceAsStream( RssPortlet.RSS20XSL); source = new StreamSource(xslstream); tFactory = TransformerFactory.newInstance(); this.m_translet20 = tFactory.newTemplates(source); } catch (Exception e) { e.printStackTrace(); } } /** * @see javax.servlet.portlet.Portlet#processAction(javax.servlet.portlet.ActionRequest, * javax.servlet.portlet.ActionResponse) */ public void processAction( ActionRequest request, ActionResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { String errorMessage = null; //checkbox prefs //see how the prefs come over- can we just do a single checkbox? String[] checkPrefs = request.getParameterValues("checkPref"); if (null != checkPrefs) { PortletPreferences prefs = request.getPreferences(); TreeSet treePrefs = new TreeSet(Arrays.asList(checkPrefs)); prefs.setValues( "RssXml", (String[]) treePrefs.toArray(new String[0])); prefs.store(); } //input url //check if the url is a valid url //if not, pass in a render param for error String url = request.getParameter("inputXml"); if ((null != url) && url.startsWith("http")) { try { //see if the url exists new URL(url).openStream(); //add this as a pref PortletPreferences prefs = request.getPreferences(); //add to the existing values TreeSet existingPrefs = new TreeSet( Arrays.asList( prefs.getValues( "RssXml", new String[] { "http://www.theserverside.com/rss/theserverside-0.9.rdf" }))); existingPrefs.add(url); prefs.setValues( "RssXml", (String[]) existingPrefs.toArray(new String[0])); prefs.store(); //store as the selected xml so that it shows up selected as displays response.setRenderParameter( "selectXml", url); response.setRenderParameter( "inputXml", url); //set the portlet mode back to view response.setPortletMode(PortletMode.VIEW); } catch (Exception e) { //just get the error message to pass to render errorMessage = e.getMessage(); } if (null != errorMessage) { response.setRenderParameter( "errorMessage", errorMessage); } } //selectXml from drop-down String selectXml = request.getParameter("selectXml"); if (null != selectXml) { response.setRenderParameter( "selectXml", selectXml); } } /** * @see javax.servlet.portlet.GenericPortlet#doView(javax.servlet.portlet.RenderRequest,javax.servlet.portlet.RenderRequest) */ protected void doEdit( RenderRequest request, RenderResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); PortletURL actionURL = response.createActionURL(); out.println("<table>"); out.println( "<form name=\"inputForm\" target=\"_self\" method=\"POST\" action=\"" + actionURL.toString() + "\">"); /* * display checkboxes for all the prefs */ //get the preferences for the option PortletPreferences prefs = request.getPreferences(); String[] rssPrefs = prefs.getValues( "RssXml", new String[] { "http://www.theserverside.com/rss/theserverside-0.9.rdf" }); for (int i = 0, len = rssPrefs.length; i < len; i++) { String pref = rssPrefs[i]; out.println("<tr>"); out.println("<td>"); out.println( "<input type=\"checkbox\" name=\"checkPref\" value=\"" + pref + "\" CHECKED >"); out.println(pref); out.println("</td>"); out.println("</tr>"); } /*textbox for url*/ out.println("<tr>"); out.println("<td>"); out.println("Additional RSS Feed:"); out.println("<input type=\"text\" name=\"inputXml\" value=\"\">"); out.println( "<input name=\"inputSubmit\" type=\"submit\" value=\"submit\">"); out.println("</td>"); out.println("</tr>"); out.println("</form>"); out.println("</table>"); } /** * @see javax.servlet.portlet.GenericPortlet#doHelp(javax.servlet.portlet.RenderRequest,javax.servlet.portlet.RenderRequest) */ protected void doHelp( RenderRequest request, RenderResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { response.setContentType(CONTENT_TYPE_HTML); PrintWriter out = response.getWriter(); out.println("<table>"); out.println("<tr>"); out.println("<td>"); PortletURL renderURL = response.createRenderURL(); renderURL.setPortletMode(PortletMode.VIEW); out.println( "The RSS Portlet transforms newsfeed using a default stylesheet<BR/> Note that not all newsfeeds will transform correctly, but none should throw an error. <BR/> To add or remove newfeeds, change the portlet preferences.<BR/> <a href=\"" + renderURL.toString() + "\">back</a>"); out.println("</td>"); out.println("</tr>"); out.println("</form>"); out.println("</table>"); } /** * @see javax.servlet.portlet.GenericPortlet#doView(javax.servlet.portlet.RenderRequest,javax.servlet.portlet.RenderRequest) */ protected void doView( RenderRequest request, RenderResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { response.setProperty( "expiration-cache", "130"); InputStream xmlstream = null; InputStream xslstream = null; //try to get the selected value, if it exists String selectedXml = null; try { selectedXml = request.getParameter("selectXml"); response.setContentType(CONTENT_TYPE_HTML); PrintWriter out = response.getWriter(); /*error message from action, if any*/ String errorMessage = request.getParameter("errorMessage"); if (null != errorMessage) { out.println("<table>"); out.println("<tr>"); out.println("<td>"); out.println("<font color=\"red\">" + errorMessage + "</font>"); out.println("</td>"); out.println("</tr>"); out.println("</table>"); } PortletURL actionURL = response.createActionURL(); /*Select*/ out.println("<table>"); //get the action url out.print("<form name=\"selectForm\" method=\"POST\" action=\""); out.print(actionURL.toString()); out.println("\" target=\"_self\">"); out.println("<tr>"); out.println("<td>"); PortletURL renderLink = response.createRenderURL(); renderLink.setPortletMode(PortletMode.HELP); out.println("<a href=\"" + renderLink + "\">help</a>"); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println(" "); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println("<select name=\"selectXml\">"); //get the preferences for the option PortletPreferences prefs = request.getPreferences(); String[] rssPrefs = prefs.getValues( "RssXml", new String[] { "http://www.theserverside.com/rss/theserverside-0.9.rdf" }); for (int i = 0, len = rssPrefs.length; i < len; i++) { out.print("<option value=\""); out.print(rssPrefs[i]); out.print("\""); if ((null != selectedXml) && rssPrefs[i].equals(selectedXml)) { out.print(" SELECTED "); } out.print(">"); out.print(rssPrefs[i]); out.println("</option>"); } out.println("</select>"); out.println("</td>"); out.println("<td>"); out.println( "<input name=\"selectSubmit\" type=\"submit\" value=\"go\">"); out.println("</td>"); out.println("<td>"); out.println("</td>"); out.println("</tr>"); out.println("</form>"); out.println("</table>"); /* XML */ if (null == selectedXml) { selectedXml = request.getPreferences().getValue( "RssXml", "http://www.theserverside.com/rss/theserverside-0.9.rdf"); } xmlstream = new URL(selectedXml).openStream(); if (xmlstream == null) { throw new PortletException("No XML"); } //make a dom from the stream, so we can tell if this is 1.0 or 2.0 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Source source = null; Transformer transformer = this.m_translet10.newTransformer(); //see if we can parse the document to determine if this is 2.0 If not, go with the stream source try { Document document = builder.parse(xmlstream); Element element = document.getDocumentElement(); //if we have a version attribute, then use 2.0 if (element.hasAttribute("version") && element.getAttribute("version").equals("2.0")) { transformer = this.m_translet20.newTransformer(); } source = new DOMSource(document); } catch (Exception e) { e.printStackTrace(); source = new StreamSource(xmlstream); } /* Transform */ StreamResult output = new StreamResult(out); transformer.transform( source, output); } catch (TransformerConfigurationException t) { throw new PortletException(t); } catch (TransformerException t) { throw new PortletException(t); } catch (Exception e) { throw new PortletException(e); } finally { if (xmlstream != null) { xmlstream.close(); } if (xslstream != null) { xslstream.close(); } } } } |
From: <plu...@us...> - 2003-11-04 21:47:10
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/com/plumtree/portlet/portlets In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/googlesearch/com/plumtree/portlet/portlets Removed Files: GooglePortlet.java Log Message: new samples for google search and rss --- GooglePortlet.java DELETED --- |
From: <plu...@us...> - 2003-11-04 21:47:10
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/newsfeed/WEB-INF Added Files: Rss20.xsl html.xsl portlet.xml web.xml Log Message: new samples for google search and rss --- NEW FILE: Rss20.xsl --- <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/> <xsl:template match="/rss/channel"> <p> <a><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute> <xsl:value-of select="title"/></a> </p> <p> <xsl:value-of select="lastBuildDate"/> </p> <dl> <xsl:for-each select="item"> <dt> <a><xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute> <xsl:value-of select="title"/></a> </dt> <dd> <xsl:value-of select="description"/> (<xsl:value-of select="pubDate"/>) </dd> </xsl:for-each> </dl> <p> <xsl:value-of select="copyright"/> </p> </xsl:template> </xsl:stylesheet> --- NEW FILE: html.xsl --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rss="http://purl.org/rss/1.0/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:annotate="http://purl.org/rss/1.0/modules/annotate/" xmlns:admin="http://webns.net/mvcb/" xmlns:image="http://purl.org/rss/1.0/modules/image/" xmlns:cc="http://web.resource.org/cc/" xmlns:reqv="http://purl.org/rss/1.0/modules/richequiv/" exclude-result-prefixes="rdf dc dcterms rss im content rss-simple im annotate admin image cc reqv" version="1.0"> <xsl:output method="html"/> <!-- Setup --> <xsl:template match="/"> <TABLE WIDTH="100%" BORDER="0" CELLPADDING="2" CELLSPACING="0"> <xsl:apply-templates/> </TABLE> </xsl:template> <!-- Items --> <xsl:template match="item"> <TR><TD> - <A TARGET="_popup" STYLE="text-decoration: none;"> <xsl:attribute name="HREF"> <xsl:value-of select="link"/> </xsl:attribute> <xsl:value-of select="title"/> </A> </TD></TR> <xsl:apply-templates/> </xsl:template> <xsl:template match="text()"/> </xsl:stylesheet> --- NEW FILE: portlet.xml --- <?xml version="1.0" encoding="UTF-8"?> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <portlet-name>RssPortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.RssPortlet</portlet-class> <expiration-cache>30</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>config</portlet-mode> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> </supports> <supported-locale>en-US</supported-locale> <init-param> <name>url</name> <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> </init-param> <portlet-info> <title>RSS Portlet</title> <short-title>RSS</short-title> <keywords>RSS</keywords> </portlet-info> <portlet-preferences> <preference> <description xml:lang="EN">Default rss choices</description> <name>RssXml</name> <value>http://www.theserverside.com/rss/theserverside-0.9.rdf</value> <value>http://rss.com.com/2547-12-0-20.xml</value> <value>http://headlines.internet.com/internetnews/top-news/news.rss</value> <value>http://headlines.internet.com/internetnews/fina-news/news.rss</value> <value>http://www.sciencedaily.com/newsfeed.xml</value> <modifiable>1</modifiable> </preference> <validator>com.plumtree.portlet.impl.PreferencesValidatorImpl</validator> </portlet-preferences> </portlet> </portlet-app> --- NEW FILE: web.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>GooglePortletSample</display-name> </web-app> |
From: <plu...@us...> - 2003-11-04 21:47:10
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/src/com/plumtree/portlet/portlets In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/googlesearch/src/com/plumtree/portlet/portlets Added Files: GooglePortlet.java Log Message: new samples for google search and rss --- NEW FILE: GooglePortlet.java --- /* Copyright (c) 2003, Plumtree Software All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions is met: Neither the name of Plumtree Software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package com.plumtree.portlet.portlets; import java.io.IOException; import java.io.PrintWriter; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.GenericPortlet; import javax.portlet.PortletException; import javax.portlet.PortletMode; import javax.portlet.PortletSecurityException; import javax.portlet.PortletURL; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.portlet.UnavailableException; import javax.portlet.WindowState; import com.google.soap.search.GoogleSearch; import com.google.soap.search.GoogleSearchResult; import com.google.soap.search.GoogleSearchResultElement; /** * Portlet Demonstrating Google Search */ public class GooglePortlet extends GenericPortlet { /** Search Query */ private static final String SEARCH_QUERY = "searchQuery"; /** Start result- i.e. where to start */ private static final String START_RESULT = "startResult"; /** Key for google search key */ public static final String KEY = "KEY"; /**default content type*/ public static final String CONTENT_TYPE_HTML = "text/html;charset=UTF-8"; /** * @see javax.servlet.portlet.Portlet#processAction(javax.servlet.portlet.ActionRequest, * javax.servlet.portlet.ActionResponse) */ public void processAction( ActionRequest request, ActionResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { String searchQuery = request.getParameter(GooglePortlet.SEARCH_QUERY); if (null != searchQuery) { response.setRenderParameter( GooglePortlet.SEARCH_QUERY, searchQuery); } String startResult = request.getParameter(GooglePortlet.START_RESULT); if (null != startResult) { response.setRenderParameter( GooglePortlet.START_RESULT, startResult); } } /** * Displays a generic help message and a back button * @see javax.servlet.portlet.GenericPortlet#doHelp(javax.servlet.portlet. * RenderRequest,javax.servlet.portlet.RenderRequest) */ protected void doHelp( RenderRequest request, RenderResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { response.setContentType(CONTENT_TYPE_HTML); PrintWriter out = response.getWriter(); out.println("<table>"); out.println("<tr>"); out.println("<td>"); PortletURL renderURL = response.createRenderURL(); renderURL.setPortletMode(PortletMode.VIEW); out.println( "The Google Portlet searches Google, using the specified query.<BR/> The number of results returned at a time is ten- this is a limitation of the Google API<BR/> To change the key, or adust safe search, contact your administrator.<BR/> <a href=\"" + renderURL.toString() + "\">back</a>"); out.println("</td>"); out.println("</tr>"); out.println("</form>"); out.println("</table>"); } /** * @see javax.servlet.portlet.GenericPortlet#doView(javax.servlet.portlet.RenderRequest,javax.servlet.portlet.RenderRequest) */ protected void doView( RenderRequest request, RenderResponse response) throws UnavailableException, PortletSecurityException, PortletException, IOException { try { String searchQuery = request.getParameter(GooglePortlet.SEARCH_QUERY); String startResult = request.getParameter(GooglePortlet.START_RESULT); int totalResults = 0; response.setContentType(CONTENT_TYPE_HTML); PrintWriter out = response.getWriter(); String key = this.getInitParameter("key"); if ((null == key) || key.equals("")) { out.println( "Key for search is not available. Check with your administrator to obtain the Google API Key"); return; } //js function to open windows StringBuffer buff = new StringBuffer(200); buff.append( "<SCRIPT language=\"Javascript\">function openGoogleWin(href){"); buff.append("var newWin = window.open(href);"); buff.append("}</SCRIPT>"); out.print(buff.toString()); //make a button to go into max mode //see if we want to use slightly different code or richer content? WindowState state = request.getWindowState(); WindowState otherState = null; if (state.equals(WindowState.MAXIMIZED)) { otherState = WindowState.NORMAL; } else { otherState = WindowState.MAXIMIZED; } PortletURL otherUrl = response.createRenderURL(); if (!state.equals(WindowState.MAXIMIZED)) { otherUrl.setWindowState(otherState); out.println( "<a href=\"" + otherUrl.toString() + "\">" + otherState.toString() + "</a>"); } GoogleSearchResult result = null; GoogleSearchResultElement[] elements = null; if (null != searchQuery) { GoogleSearch googleSearch = new GoogleSearch(); googleSearch.setKey(key); googleSearch.setQueryString(searchQuery); if (null != startResult) { int start = Integer.parseInt(startResult); googleSearch.setStartResult(start); } result = googleSearch.doSearch(); elements = result.getResultElements(); } PortletURL actionURL = response.createActionURL(); actionURL.setWindowState(state); out.println("<table>"); out.println( "<form name=\"inputForm\" target=\"_self\" method=\"POST\" action=\"" + actionURL.toString() + "\">"); out.println("<tr>"); out.println("<td>"); PortletURL renderLink = response.createRenderURL(); renderLink.setPortletMode(PortletMode.HELP); out.println("<a href=\"" + renderLink + "\">help</a>"); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println(" "); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println( "<input type=\"text\" name=\"" + GooglePortlet.SEARCH_QUERY + "\" value=\"\">"); out.println( "<input name=\"inputSubmit\" type=\"submit\" value=\"submit\">"); out.println("</td>"); out.println("</tr>"); out.println("</form>"); out.println("</table>"); if (null != searchQuery) { out.println("<table>"); out.println("<tr>"); out.println("<td>"); totalResults = result.getEstimatedTotalResultsCount(); out.println("# of results is " + totalResults); out.println("</td>"); out.println("</tr>"); for (int i = 0; i < elements.length; i++) { GoogleSearchResultElement element = elements[i]; out.println("<tr>"); out.println("<td>"); out.println( "<a href=\"javascript:openGoogleWin('" + element.getURL() + "');\">" + element.getTitle() + "</a>"); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println(element.getSummary()); out.println("</td>"); out.println("</tr>"); } out.println("<tr>"); out.println("<td>"); out.println(" "); out.println("</td>"); out.println("</tr>"); out.println("<tr>"); out.println("<td>"); out.println(" "); out.println("</td>"); out.println("</tr>"); if (totalResults > 0) { printLinks( response, out, totalResults, result.getStartIndex(), searchQuery, state); } out.println("</table>"); } } catch (Exception e) { throw new PortletException(e); } } /** * Prints the links 1...10 at the bottom of the portlet * * @param response RenderResponse * @param out PrintWriter * @param results total number of results * @param currentPos which page we are on * @param searchQuery query * @param windowState current window state */ private void printLinks( RenderResponse response, PrintWriter out, int results, int currentPos, String searchQuery, WindowState windowState) { int total = 10; total = ((results > 100) ? total : (results / 10)); if (currentPos != 1) { currentPos = (currentPos - 1) / 10; } out.println("<tr>"); out.println("<td>"); for (int i = 1; i <= total; i++) { if (i == currentPos) { out.print(i); } else { PortletURL actionURL = response.createActionURL(); try { actionURL.setWindowState(windowState); } catch (Exception e) { //ignore } actionURL.setParameter( GooglePortlet.SEARCH_QUERY, searchQuery); actionURL.setParameter( GooglePortlet.START_RESULT, "" + (i * 10)); out.print("<a href=\""); out.print(actionURL.toString()); out.print("\">"); out.print(i); out.println("</a>"); } out.print(" "); } out.println("</td>"); out.println("</tr>"); } } |
From: <plu...@us...> - 2003-11-04 21:47:09
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/googlesearch/WEB-INF In directory sc8-pr-cvs1:/tmp/cvs-serv28242/jsr168/webcontent/googlesearch/WEB-INF Added Files: portlet.xml web.xml Log Message: new samples for google search and rss --- NEW FILE: portlet.xml --- <?xml version="1.0" encoding="UTF-8"?> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <portlet-name>GooglePortlet</portlet-name> <portlet-class>com.plumtree.portlet.portlets.GooglePortlet</portlet-class> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> <portlet-mode>config</portlet-mode> </supports> <supported-locale>en-US</supported-locale> <init-param> <name>key</name> <value></value> </init-param> <portlet-info> <title>Google Portlet</title> <short-title>Googler</short-title> <keywords>Google, Search</keywords> </portlet-info> </portlet> </portlet-app> --- NEW FILE: web.xml --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>GooglePortletSample</display-name> </web-app> |
From: <plu...@us...> - 2003-11-04 21:46:35
|
Update of /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/src/com/plumtree/portlet/portlets In directory sc8-pr-cvs1:/tmp/cvs-serv28133/portlets Log Message: Directory /cvsroot/portlet-opensrc/portlet-opensrc/jsr168/webcontent/newsfeed/src/com/plumtree/portlet/portlets added to the repository |