ktlili 2005/11/18 17:25:39 CET
Modified files:
. SQLPortlet.jpx
war project.xml
war/src/java/org/jahia/clipping/sql/bean QueryBean.java
war/src/java/org/jahia/clipping/sql/portlet QueryPortlet.java
war/src/webapp/WEB-INF portlet.xml web.xml
war/src/webapp/templates help.jsp view.jsp
Log:
- add edit mode
- add admin role
Revision Changes Path
1.2 +1 -0 sqlclip_portlet/SQLPortlet.jpx
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/SQLPortlet.jpx.diff?r1=1.1&r2=1.2&f=h
1.3 +15 -8 sqlclip_portlet/war/project.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/project.xml.diff?r1=1.2&r2=1.3&f=h
1.3 +1 -0
sqlclip_portlet/war/src/java/org/jahia/clipping/sql/bean/QueryBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/java/org/jahia/clipping/sql/bean/QueryBean.java.diff?r1=1.2&r2=1.3&f=h
1.3 +300 -212
sqlclip_portlet/war/src/java/org/jahia/clipping/sql/portlet/QueryPortlet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/java/org/jahia/clipping/sql/portlet/QueryPortlet.java.diff?r1=1.2&r2=1.3&f=h
1.3 +10 -1 sqlclip_portlet/war/src/webapp/WEB-INF/portlet.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/webapp/WEB-INF/portlet.xml.diff?r1=1.2&r2=1.3&f=h
1.2 +9 -9 sqlclip_portlet/war/src/webapp/WEB-INF/web.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/webapp/WEB-INF/web.xml.diff?r1=1.1&r2=1.2&f=h
1.2 +1 -2 sqlclip_portlet/war/src/webapp/templates/help.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/webapp/templates/help.jsp.diff?r1=1.1&r2=1.2&f=h
1.3 +53 -48 sqlclip_portlet/war/src/webapp/templates/view.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/sqlclip_portlet/war/src/webapp/templates/view.jsp.diff?r1=1.2&r2=1.3&f=h
Index: SQLPortlet.jpx
===================================================================
RCS file: /home/cvs/repository/sqlclip_portlet/SQLPortlet.jpx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SQLPortlet.jpx 1 Sep 2005 12:32:52 -0000 1.1
+++ SQLPortlet.jpx 18 Nov 2005 16:25:37 -0000 1.2
@@ -142,6 +142,7 @@
<property category="directorynode" name="showSubdirectories" value="1"/>
<property category="directorynode" name="url" value="war/src/webapp"/>
</node>
+ <file path="war/src/webapp/templates/edit.jsp"/>
<file path="maven.xml"/>
<file path="war/project.properties"/>
<file path="project.properties"/>
Index: project.xml
===================================================================
RCS file: /home/cvs/repository/sqlclip_portlet/war/project.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- project.xml 8 Sep 2005 15:43:49 -0000 1.2
+++ project.xml 18 Nov 2005 16:25:38 -0000 1.3
@@ -5,10 +5,9 @@
<project>
<extend>${basedir}/../project.xml</extend>
<pomVersion>3</pomVersion>
- <artifactId>queryPortlet</artifactId>
+ <artifactId>sqlClipperPortletPattern</artifactId>
<name>Portlet WAR module</name>
- &common-warsite;
- &common-warrepository;
+
<dependencies>
<!-- commons-beanutils: inherited and updated to version 1.7 -->
<dependency>
@@ -17,7 +16,8 @@
<version>1.7.0</version>
<properties>
<war.bundle>true</war.bundle>
- <war.shared.lib>true</war.shared.lib>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
<!-- commons-collections: inherited and updated to version 3.1 -->
@@ -27,7 +27,8 @@
<version>3.1</version>
<properties>
<war.bundle>true</war.bundle>
- <war.shared.lib>true</war.shared.lib>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
<!-- commons-digester: inherited and updated to version 3.1 -->
@@ -37,7 +38,8 @@
<version>1.5</version>
<properties>
<war.bundle>true</war.bundle>
- <war.shared.lib>true</war.shared.lib>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
<!-- common-logging: inherited -->
@@ -47,7 +49,8 @@
<version>1.0.4</version>
<properties>
<war.bundle>true</war.bundle>
- <war.shared.lib>true</war.shared.lib>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
@@ -58,6 +61,8 @@
<version>3.1.7-bin</version>
<properties>
<war.bundle>true</war.bundle>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
<!-- hsqldb: inherited -->
@@ -67,7 +72,8 @@
<version>1.7.1</version>
<properties>
<war.bundle>true</war.bundle>
- <war.shared.lib>true</war.shared.lib>
+ <!--<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>-->
</properties>
</dependency>
<!-- portlet -->
@@ -77,6 +83,7 @@
<version>1.0</version>
<properties>
<war.bundle>false</war.bundle>
+ <war.shared.lib>true</war.shared.lib>
</properties>
</dependency>
</dependencies>
Index: QueryBean.java
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/java/org/jahia/clipping/sql/bean/QueryBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- QueryBean.java 8 Sep 2005 15:43:49 -0000 1.2
+++ QueryBean.java 18 Nov 2005 16:25:38 -0000 1.3
@@ -1,5 +1,6 @@
package org.jahia.clipping.sql.bean;
+
/*
* QueryBean.java
*
Index: QueryPortlet.java
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/java/org/jahia/clipping/sql/portlet/QueryPortlet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- QueryPortlet.java 8 Sep 2005 15:43:49 -0000 1.2
+++ QueryPortlet.java 18 Nov 2005 16:25:38 -0000 1.3
@@ -8,7 +8,6 @@
import org.jahia.clipping.sql.bean.config.DbProps;
import org.jahia.clipping.sql.bean.QueryBean;
-
/**
* QueryPortlet provides the methods neccessary to render a portlet that
* displays a database query for the user.
@@ -19,215 +18,304 @@
public class QueryPortlet extends GenericPortlet {
- /**
- * Designated Logger for this class.
- */
- private final Log log = LogFactory.getLog(getClass().getName());
-
- private String viewUrl;
- private String helpUrl;
-
-
- /**
- * Executed one time, upon portlet initialization.
- *
- [EMAIL PROTECTED] config Description of Parameter
- [EMAIL PROTECTED] PortletException Description of Exception
- */
- public void init(PortletConfig config) throws PortletException {
- System.err.println("Call init Query portlet");
- try {
- log.info("Executing QueryPortlet's init method.");
-
- super.init(config);
-
- //init method of a portlet is a good place to perform
- //any necessary, 1x configurations.
- viewUrl = config.getInitParameter("view_url");
- helpUrl = config.getInitParameter("help_url");
-
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- System.err.println("End Call init Query portlet");
- }
-
-
- /**
- * Executed in response to action on portlet, like submitting a form.
- *
- [EMAIL PROTECTED] request Description of Parameter
- [EMAIL PROTECTED] response Description of Parameter
- [EMAIL PROTECTED] PortletException Description of Exception
- [EMAIL PROTECTED] IOException Description of Exception
- */
- public void processAction(ActionRequest request, ActionResponse
response) throws
- IOException, PortletException {
- try {
- log.info("Executing QueryPortlet's processAction method.");
-
- if (request.getPortletMode().equals(PortletMode.EDIT)) {
- String errorMessage = null;
- boolean isValid = false;
-
- //Reset old session attributes.
- PortletSession session = request.getPortletSession();
- session.setAttribute("title", null);
- session.setAttribute("queryColumns", null);
- session.setAttribute("queryData", null);
-
- //Get our edit form's data...
- PortletPreferences preferences = request.getPreferences();
- String query = request.getParameter("query");
- String title = request.getParameter("title");
-
- preferences.setValue("query", query);
- preferences.setValue("title", title);
- try {
- //This will fire our PreferencesValidation validate
method..
- preferences.store();
- isValid = true;
- } catch (ValidatorException ve) {
- //Assign values from ActionResponse to RenderRequest for
redisplay in form.
- response.setRenderParameter("sql",
request.getParameter("sql"));
-
response.setRenderParameter("title",request.getParameter("title"));
- errorMessage = "An error occurred processing your SQL.
" +"Please check your input and try again.";
- response.setRenderParameter("errorMessage",errorMessage);
- }
-
- if (isValid) {
- response.setPortletMode(PortletMode.VIEW);
- }
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
-
- /**
- * Executed one time, prior to portlet being garbage collected.
- */
- public void destroy() {
- log.info("Executing QueryPortlet's destroy method.");
- }
-
-
- /**
- * Called by render method to prepare markup for user display.
- *
- [EMAIL PROTECTED] request Description of Parameter
- [EMAIL PROTECTED] response Description of Parameter
- */
- public void doView(RenderRequest request, RenderResponse response) {
- try {
- log.info("Executing QueryPortlet's doView method.");
-
- response.setContentType("text/html");
- PortletPreferences preferences = request.getPreferences();
-
- // Database connection
- String driver = preferences.getValue("driver",
"com.mysql.jdbc.Driver");
- String url = preferences.getValue("url",
"jdbc:mysql://localhost:3306/test");
- String username = preferences.getValue("username", "root");
- String password = preferences.getValue("password", "root1234");
-
- //SQL query
- String sql = preferences.getValue("query", "Select * from emp");
- String title = preferences.getValue("title", "Employer_Query");
- String tableSize = preferences.getValue("tableSize", "5");
-
-
- if (log.isDebugEnabled()) {
- log.debug("QueryPortlet's doView method. sql : " + sql);
- }
-
- //If current query's results have not been cached, do so now.
- PortletSession session = request.getPortletSession();
- if ((session.getAttribute("queryColumns") == null) ||
- (session.getAttribute("queryData") == null)) {
- QueryBean qb = new QueryBean(new
DbProps(driver,url,username,password));
- qb.executeQuery(sql);
-
- //Get column headings/query results and assign them to
request attributes.
- String[] queryColumns = (String[]) qb.getQueryColumns();
- List queryData = (List) qb.getQueryData();
- session.setAttribute("title",
title,PortletSession.PORTLET_SCOPE);
- session.setAttribute("queryColumns",
queryColumns,PortletSession.PORTLET_SCOPE);
- session.setAttribute("queryData",
queryData,PortletSession.PORTLET_SCOPE);
- session.setAttribute("tableSize",
tableSize,PortletSession.PORTLET_SCOPE);
- }
- PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher(viewUrl);
- dispatcher.include(request, response);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- System.err.println("Call do view Query portlet");
- }
-
-
- /**
- * Executed when user requests to edit the portlet's settings. Also
- * redisplayed upon failure to set portlet's settings correctly (to
displays
- * errors, etc.).
- *
- [EMAIL PROTECTED] request Description of Parameter
- [EMAIL PROTECTED] response Description of Parameter
- */
- /*public void doEdit(RenderRequest request, RenderResponse response) {
- try {
- log.info("Executing QueryPortlet's doEdit method.");
-
- response.setContentType("text/html");
- PortletPreferences preferences = request.getPreferences();
-
- String sql = preferences.getValue("sql", "BAD SQL");
- String title = preferences.getValue("title", "***");
-
- //If any errors are encountered from previous edit attempt, provide
them to request.
- String errorMessage = request.getParameter("errorMessage");
- if (errorMessage != null) {
- request.setAttribute("sql", request.getParameter("sql"));
- request.setAttribute("title",
- request.getParameter("title"));
- request.setAttribute("errorMessage", errorMessage);
- }
- else {
- //no errors. Set initial param values.
- request.setAttribute("sql", sql);
- request.setAttribute("title", title);
- }
-
- PortletRequestDispatcher dispatcher = getPortletContext().
- getRequestDispatcher(editUrl);
- dispatcher.include(request, response);
- }
- catch (Exception ex) {
- ex.printStackTrace();
- }
- }*/
-
-
- /**
- * Executed when user follows the 'help' link. Typically, describes what
- * portlet is/does.
- *
- [EMAIL PROTECTED] request Description of Parameter
- [EMAIL PROTECTED] response Description of Parameter
- [EMAIL PROTECTED] PortletException Description of Exception
- [EMAIL PROTECTED] IOException Description of Exception
- */
- public void doHelp(RenderRequest request, RenderResponse response) throws
- IOException, PortletException {
- try {
- log.info("Executing QueryPortlet's doHelp method.");
-
- response.setContentType("text/html");
- PortletRequestDispatcher dispatcher = getPortletContext().
-
getRequestDispatcher(helpUrl);
- dispatcher.include(request, response);
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
+ /**
+ * Designated Logger for this class.
+ */
+ private final Log log = LogFactory.getLog(getClass().getName());
+
+ private String viewUrl;
+ private String helpUrl;
+ private String editUrl;
+
+
+ /**
+ * Executed one time, upon portlet initialization.
+ *
+ [EMAIL PROTECTED] config Description of Parameter
+ [EMAIL PROTECTED] PortletException Description of Exception
+ */
+ public void init(PortletConfig config) throws PortletException {
+ log.debug("Call init Query portlet");
+ //System.err.println("Call init Query portlet");
+ try {
+ log.info("Executing QueryPortlet's init method.");
+
+ super.init(config);
+
+ //init method of a portlet is a good place to perform
+ //any necessary, 1x configurations.
+ viewUrl = config.getInitParameter("view_url");
+ helpUrl = config.getInitParameter("help_url");
+ editUrl = config.getInitParameter("edit_url");
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ log.debug("End Call init Query portlet");
+ }
+
+
+ /**
+ * Executed in response to action on portlet, like submitting a form.
+ *
+ [EMAIL PROTECTED] request Description of Parameter
+ [EMAIL PROTECTED] response Description of Parameter
+ [EMAIL PROTECTED] PortletException Description of Exception
+ [EMAIL PROTECTED] IOException Description of Exception
+ */
+ public void processAction(ActionRequest request, ActionResponse
response) throws
+ IOException, PortletException {
+ try {
+ log.info("Executing QueryPortlet's processAction
method.");
+ if (request.getPortletMode() == PortletMode.EDIT) {
+ boolean errorHasOccured =
savePreferences(request);
+ if (!errorHasOccured) {
+
response.setPortletMode(PortletMode.VIEW);
+ }
+ }
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Executed one time, prior to portlet being garbage collected.
+ */
+ public void destroy() {
+ log.info("Executing QueryPortlet's destroy method.");
+ }
+
+
+ /**
+ * Called by render method to prepare markup for user display.
+ *
+ [EMAIL PROTECTED] request Description of Parameter
+ [EMAIL PROTECTED] response Description of Parameter
+ */
+ public void doView(RenderRequest request, RenderResponse response) {
+ try {
+ log.info("Executing QueryPortlet's doView method.");
+
+ response.setContentType("text/html");
+ PortletPreferences preferences =
request.getPreferences();
+
+ // Database connection
+ String driver = preferences.getValue("driver",
"com.mysql.jdbc.Driver");
+ String url = preferences.getValue("url",
"jdbc:mysql://localhost:3306/test");
+ String username = preferences.getValue("username",
"root");
+ String password = preferences.getValue("userpassword",
"root1234");
+
+ //SQL query
+ String sql = preferences.getValue("query", "Select *
from emp");
+ String title = preferences.getValue("title",
"Employer_Query");
+ String tableSize = preferences.getValue("tableSize",
"5");
+
+ if (log.isDebugEnabled()) {
+ log.debug("QueryPortlet's doView method. sql :
" + sql);
+ }
+
+ //If current query's results have not been cached, do
so now.
+ PortletSession session = request.getPortletSession();
+ if ((session.getAttribute("queryColumns") == null) ||
(session.getAttribute("queryData") == null)) {
+ QueryBean qb = new QueryBean(new
DbProps(driver, url, username, password));
+ qb.executeQuery(sql);
+
+ //Get column headings/query results and assign
them to request attributes.
+ String[] queryColumns = (String[])
qb.getQueryColumns();
+ List queryData = (List) qb.getQueryData();
+ saveInSession(title, tableSize, session,
queryColumns, queryData);
+ }
+ PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher(viewUrl);
+ dispatcher.include(request, response);
+ }
+ catch (Exception ex) {
+ request.getPortletSession().setAttribute("error",
"Check paramters validity");
+ ex.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Executed when user requests to edit the portlet's settings. Also
+ * redisplayed upon failure to set portlet's settings correctly (to
displays
+ * errors, etc.).
+ *
+ [EMAIL PROTECTED] request Description of Parameter
+ [EMAIL PROTECTED] response Description of Parameter
+ */
+ public void doEdit(RenderRequest request, RenderResponse response) {
+ try {
+ log.info("Executing QueryPortlet's doEdit method.");
+ response.setContentType("text/html");
+ // set parameter form preferences
+ setRequestParametersFromPreferences(request);
+
+ //dispatch
+ PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher(editUrl);
+ dispatcher.include(request, response);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Executed when user follows the 'help' link. Typically, describes
what
+ * portlet is/does.
+ *
+ [EMAIL PROTECTED] request Description of Parameter
+ [EMAIL PROTECTED] response Description of Parameter
+ [EMAIL PROTECTED] PortletException Description of Exception
+ [EMAIL PROTECTED] IOException Description of Exception
+ */
+ public void doHelp(RenderRequest request, RenderResponse response)
throws
+ IOException, PortletException {
+ try {
+ log.info("Executing QueryPortlet's doHelp method.");
+
+ response.setContentType("text/html");
+ PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher(helpUrl);
+ dispatcher.include(request, response);
+ }
+ catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ /**
+ * Sets the RequestParametersFromPreferences attribute of the
QueryPortlet
+ * object
+ *
+ [EMAIL PROTECTED] request The new RequestParametersFromPreferences
value
+ */
+ private void setRequestParametersFromPreferences(RenderRequest request)
{
+ PortletPreferences preferences = request.getPreferences();
+
+ // Database connection
+ String driver = preferences.getValue("driver",
"com.mysql.jdbc.Driver");
+ request.setAttribute("driver", driver);
+
+ String url = preferences.getValue("url",
"jdbc:mysql://localhost:3306/test");
+ request.setAttribute("url", url);
+
+ String username = preferences.getValue("username", "root");
+ request.setAttribute("username", username);
+
+ String password = preferences.getValue("userpassword",
"root1234");
+ request.setAttribute("userpassword", password);
+
+ //SQL query
+ String sql = preferences.getValue("query", "Select * from emp");
+ request.setAttribute("query", sql);
+
+ String title = preferences.getValue("title", "Employer_Query");
+ request.setAttribute("title", title);
+
+ String tableSize = preferences.getValue("tableSize", "5");
+ request.setAttribute("tableSize", tableSize);
+ }
+
+
+ /**
+ * Description of the Method
+ *
+ [EMAIL PROTECTED] title Description of Parameter
+ [EMAIL PROTECTED] tableSize Description of Parameter
+ [EMAIL PROTECTED] session Description of Parameter
+ [EMAIL PROTECTED] queryColumns Description of Parameter
+ [EMAIL PROTECTED] queryData Description of Parameter
+ */
+ private void saveInSession(String title, String tableSize,
+ PortletSession session,
+ String[] queryColumns, List queryData) {
+ session.setAttribute("title", title,
PortletSession.PORTLET_SCOPE);
+ session.setAttribute("queryColumns", queryColumns,
PortletSession.PORTLET_SCOPE);
+ session.setAttribute("queryData", queryData,
PortletSession.PORTLET_SCOPE);
+ session.setAttribute("tableSize", tableSize,
PortletSession.PORTLET_SCOPE);
+ }
+
+
+ /**
+ * Description of the Method
+ *
+ [EMAIL PROTECTED] session Description of Parameter
+ */
+ private void resetSessionAttribut(PortletSession session) {
+ session.removeAttribute("title");
+ session.removeAttribute("queryColumns");
+ session.removeAttribute("queryData");
+ session.removeAttribute("tableSize");
+ session.removeAttribute("error");
+ }
+
+
+
+ /**
+ * Sets the RequestParametersFromPreferences attribute of the
QueryPortlet
+ * object
+ *
+ [EMAIL PROTECTED] request The new RequestParametersFromPreferences
value
+ [EMAIL PROTECTED] Description of the Returned Value
+ */
+ private boolean savePreferences(ActionRequest request) {
+ try {
+ PortletPreferences preferences =
request.getPreferences();
+
+ // Database connection
+ String driver = (String) request.getParameter("driver");
+ preferences.setValue("driver", assertNotNull(driver));
+
+ String url = (String) request.getParameter("url");
+ preferences.setValue("url", assertNotNull(url));
+
+ String username = (String)
request.getParameter("username");
+ preferences.setValue("username",
assertNotNull(username));
+
+ String password = (String)
request.getParameter("userpassword");
+ preferences.setValue("userpassword",
assertNotNull(password));
+
+ //SQL query
+ String sql = (String) request.getParameter("query");
+ preferences.setValue("query", assertNotNull(sql));
+
+ String title = (String) request.getParameter("title");
+ preferences.setValue("title", assertNotNull(title));
+
+ String tableSize = (String)
request.getParameter("tableSize");
+ preferences.setValue("tableSize",
assertNotNull(tableSize));
+
+ preferences.store();
+ resetSessionAttribut(request.getPortletSession());
+
+ return false;
+ }
+ catch (ValidatorException ex) {
+ ex.printStackTrace();
+ return true;
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ return true;
+ }
+
+ }
+
+
+ /**
+ * Description of the Method
+ *
+ [EMAIL PROTECTED] value Description of Parameter
+ [EMAIL PROTECTED] Description of the Returned Value
+ */
+ private String assertNotNull(String value) {
+ if (value == null) {
+ value = "";
+ }
+ return value;
+ }
+
}
Index: portlet.xml
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/webapp/WEB-INF/portlet.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- portlet.xml 8 Sep 2005 15:43:50 -0000 1.2
+++ portlet.xml 18 Nov 2005 16:25:38 -0000 1.3
@@ -13,11 +13,16 @@
<name>help_url</name>
<value>/templates/help.jsp</value>
</init-param>
+ <init-param>
+ <name>edit_url</name>
+ <value>/templates/edit.jsp</value>
+ </init-param>
<expiration-cache>-1</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>help</portlet-mode>
+ <portlet-mode>edit</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
@@ -25,7 +30,11 @@
<short-title>Query Portlet</short-title>
</portlet-info>
<portlet-preferences>
-
<preferences-validator>com.jahia.clipping.sql.portlet.QueryPreferencesValidator</preferences-validator>
+
<preferences-validator>org.jahia.clipping.sql.portlet.QueryPreferencesValidator</preferences-validator>
</portlet-preferences>
+ <security-role-ref>
+ <role-name>Administrator</role-name>
+ <role-link>admin</role-link>
+ </security-role-ref>
</portlet>
</portlet-app>
Index: web.xml
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/webapp/WEB-INF/web.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- web.xml 1 Sep 2005 12:32:54 -0000 1.1
+++ web.xml 18 Nov 2005 16:25:38 -0000 1.2
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-
<!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>query_portlet</display-name>
- <description>
- This is a simple portlet designed to display a database query.
- </description>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
+ <display-name>query_portlet</display-name>
+ <description>This is a simple portlet designed to display a database
query.</description>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+ <security-role>
+ <description>The admin role</description>
+ <role-name>admin</role-name>
+ </security-role>
</web-app>
Index: help.jsp
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/webapp/templates/help.jsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- help.jsp 1 Sep 2005 12:32:54 -0000 1.1
+++ help.jsp 18 Nov 2005 16:25:39 -0000 1.2
@@ -1,7 +1,6 @@
-<[EMAIL PROTECTED] file="header.jsp"%>
<p align="left">
-<b>QueryPortlet</b> displays the results of a query from the database. You
may
+<b>QueryPortlet</b> displays the results of a query from the database. You
may
edit the preferences of the portlet to change the query and its title.
</p>
Index: view.jsp
===================================================================
RCS file:
/home/cvs/repository/sqlclip_portlet/war/src/webapp/templates/view.jsp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- view.jsp 8 Sep 2005 15:43:50 -0000 1.2
+++ view.jsp 18 Nov 2005 16:25:39 -0000 1.3
@@ -4,37 +4,35 @@
<[EMAIL PROTECTED] uri="http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects/>
<%
- //Display the table data:
- List queryData = (List)
renderRequest.getPortletSession().getAttribute("queryData");
- int resultSize = queryData.size();
-
- //page
- int pageIndex = 0;
- String pageStrg = renderRequest.getParameter("page");
- if (pageStrg != null) {
- pageIndex = Integer.parseInt(pageStrg);
- }
- //max rows
- int maxRows = resultSize;
- String maxRowsStrg = (String)
renderRequest.getPortletSession().getAttribute("tableSize");
- if (maxRowsStrg != null) {
- maxRows = Integer.parseInt(maxRowsStrg);
- }
-
- // first and last index in the queryData List
- int firstIndex = pageIndex*maxRows;
- int lastIndex = firstIndex + maxRows;
- if (lastIndex > resultSize) {
- lastIndex = resultSize;
- }
- %>
-
+ String nameSpace = renderResponse.getNamespace();
+ //Display the table data:
+ List queryData = (List)
renderRequest.getPortletSession().getAttribute("queryData");
+ int resultSize = queryData.size();
+ //page
+ int pageIndex = 0;
+ String pageStrg = renderRequest.getParameter("page");
+ if (pageStrg != null) {
+ pageIndex = Integer.parseInt(pageStrg);
+ }
+ //max rows
+ int maxRows = resultSize;
+ String maxRowsStrg = (String)
renderRequest.getPortletSession().getAttribute("tableSize");
+ if (maxRowsStrg != null) {
+ maxRows = Integer.parseInt(maxRowsStrg);
+ }
+ // first and last index in the queryData List
+ int firstIndex = pageIndex*maxRows;
+ int lastIndex = firstIndex + maxRows;
+ if (lastIndex > resultSize) {
+ lastIndex = resultSize;
+ }
+%>
<script type="text/javascript" defer="defer">
-function enableFilter(table)
+function enableFilter<%=nameSpace%>()
{
- if(document.getElementById("check").checked)
+ if(document.getElementById("check<%=nameSpace%>").checked)
{
- attachFilter(document.getElementById('tb'), 1);
+ attachFilter(document.getElementById('tb<%=nameSpace%>'), 1);
}
else
{
@@ -130,10 +128,11 @@
for(var i = this.filterRow + 1; i < this.rows.length; i++)
{
var row = this.rows[i];
- if(row.style.display != "none" && row.className != "noFilter")
+ /*if(row.style.display != "none" && row.className != "noFilter")
{
values.push(row.cells[col].innerHTML.toLowerCase());
- }
+ }*/
+ values.push(row.cells[col].innerHTML.toLowerCase());
}
values.sort();
@@ -150,6 +149,7 @@
opt.options.add(new Option("(all)", "(all)"), 0);
+
if(setValue != undefined)
opt.value = setValue;
else
@@ -238,14 +238,14 @@
<tr>
<td>
<P>
- <INPUT id="check" onclick="javascript:enableFilter('tb');"
type=checkbox name=check>
+ <INPUT id="check<%=nameSpace%>"
onclick="javascript:enableFilter<%=nameSpace%>();" type=checkbox name=check>
Enable Filter
</P>
</td>
</tr>
</table>
<!-- table data-->
-<table id="tb" align="center" width="80%" border="1" cellspacing="0"
cellpadding="0">
+<table id="tb<%=nameSpace%>" align="center" width="80%" border="1"
cellspacing="0" cellpadding="0">
<thead>
<tr>
<%
@@ -255,7 +255,7 @@
//Display column headings:
for (int i = 0; i < queryColumns.length; i++) {
%>
- <th>
+ <th class="portlet-section-header">
<b><%=queryColumns[i]%> </b>
</th>
<%} %>
@@ -263,7 +263,6 @@
</thead>
<tbody>
<%
-
// list of data to diplay
List displayableData = queryData.subList(firstIndex, lastIndex);
//begin populate table
@@ -280,8 +279,14 @@
}
%>
<tr style="display:<%=display%>">
- <%for (int i = 0; i < rec.length; i++) { %>
- <td align="center"><%=rec[i]%> </td>
+ <%
+ for (int i = 0; i < rec.length; i++) {
+ String value = rec[i];
+ if (value == null) {
+ value = "-";
+ }
+ %>
+ <td class="portlet-section-body" align="center"><%=value%> </td>
<%} %>
</tr>
<%} //end while %>
@@ -296,28 +301,28 @@
<tr>
<%if (pageIndex > 0) { %>
<td>
- <%
- PortletURL pUrl = ((RenderResponse)renderResponse).createRenderURL();
- pUrl.setParameter("page",""+(pageIndex-1));
- %>
+ <%
+ PortletURL pUrl = ((RenderResponse) renderResponse).createRenderURL();
+ pUrl.setParameter("page", "" + (pageIndex - 1));
+ %>
<a href="<%=pUrl.toString()%>">previous|</a>
</td>
<%} %>
<%for (int i = 0; i < nbLinks; i++) { %>
<td>
- <%
- PortletURL pUrl = ((RenderResponse)renderResponse).createRenderURL();
- pUrl.setParameter("page",""+i);
- %>
+ <%
+ PortletURL pUrl = ((RenderResponse) renderResponse).createRenderURL();
+ pUrl.setParameter("page", "" + i);
+ %>
<a href="<%=pUrl.toString()%>"><%=i %> </a>
</td>
<%} %>
<%if (pageIndex < nbLinks - 1) { %>
<td>
- <%
- PortletURL pUrl = ((RenderResponse)renderResponse).createRenderURL();
- pUrl.setParameter("page",""+(pageIndex+1));
- %>
+ <%
+ PortletURL pUrl = ((RenderResponse) renderResponse).createRenderURL();
+ pUrl.setParameter("page", "" + (pageIndex + 1));
+ %>
<a href="<%=pUrl.toString()%>">|next</a>
</td>
</tr>