You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2009/11/17 19:08:40 UTC
svn commit: r881419 - in
/portals/jetspeed-2/applications/j2-admin/trunk/src/main:
java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp
webapp/WEB-INF/view/toolbox/toolbox.jsp
Author: woonsan
Date: Tue Nov 17 18:08:40 2009
New Revision: 881419
URL: http://svn.apache.org/viewvc?rev=881419&view=rev
Log:
JS2-1057: Initial clean up for collaborative works.
Added:
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp (with props)
Modified:
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java?rev=881419&r1=881418&r2=881419&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/toolbox/JetspeedToolbox.java Tue Nov 17 18:08:40 2009
@@ -27,12 +27,11 @@
import java.util.Locale;
import java.util.Map;
import java.util.Random;
-import java.util.ResourceBundle;
-import java.util.Set;
import java.util.StringTokenizer;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
+import javax.portlet.MimeResponse;
import javax.portlet.PortletConfig;
import javax.portlet.PortletContext;
import javax.portlet.PortletException;
@@ -46,8 +45,6 @@
import org.apache.jetspeed.JetspeedActions;
import org.apache.jetspeed.components.portletregistry.PortletRegistry;
import org.apache.jetspeed.decoration.DecorationFactory;
-import org.apache.jetspeed.decoration.LayoutDecoration;
-import org.apache.jetspeed.decoration.Theme;
import org.apache.jetspeed.om.page.Fragment;
import org.apache.jetspeed.om.page.Page;
import org.apache.jetspeed.om.portlet.InitParam;
@@ -57,6 +54,7 @@
import org.apache.jetspeed.page.PageManager;
import org.apache.jetspeed.page.PageNotUpdatedException;
import org.apache.jetspeed.page.document.NodeException;
+import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
import org.apache.jetspeed.portlets.PortletInfo;
import org.apache.jetspeed.profiler.Profiler;
import org.apache.jetspeed.request.RequestContext;
@@ -66,6 +64,7 @@
import org.apache.portals.bridges.common.GenericServletPortlet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
/**
* Jetspeed Toolbox
@@ -84,6 +83,7 @@
protected SecurityAccessController securityAccessController;
protected DecorationFactory decorationFactory;
protected Random rand;
+ protected String yuiScriptPath = "/javascript/yui/build/yui/yui-min.js";
public final String[] DEFAULT_IMAGES = new String[]
{
@@ -130,8 +130,28 @@
throw new PortletException("Failed to find the Decoration Factory on portlet initialization");
}
rand = new Random( 19580427 );
+
+ String param = config.getInitParameter("yuiScriptPath");
+
+ if (param != null) {
+ yuiScriptPath = param;
+ }
}
-
+
+ @Override
+ protected void doHeaders(RenderRequest request, RenderResponse response) {
+ super.doHeaders(request, response);
+ RequestContext rc = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
+ Element headElem = response.createElement("script");
+ headElem.setAttribute("language", "javascript");
+ String scriptPath = rc.getRequest().getContextPath() + yuiScriptPath;
+ headElem.setAttribute("id", HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_ELEMENT_ID_YUI_LIBRARY_INCLUDE);
+ headElem.setAttribute("src", scriptPath);
+ headElem.setAttribute("type", "text/javascript");
+ response.addProperty(MimeResponse.MARKUP_HEAD_ELEMENT, headElem);
+ }
+
+ @Override
@SuppressWarnings("unchecked")
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException
@@ -140,9 +160,13 @@
String filter = request.getParameter("filter");
if (filter == null || filter.equals("")) filter = null;
if (category == null || category.equals("")) category = "All";
- RequestContext requestContext = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
+ RequestContext requestContext = (RequestContext) request.getAttribute(RequestContext.REQUEST_PORTALENV);
+
+ //TODO: The following two lines need to be move somewhere like 'serveResource()'
+ // because portlets info should be retrieved from ajax calls.
List<PortletInfo> portlets = retrievePortlets(request, null);
request.setAttribute("portlets", portlets);
+
request.setAttribute("categories", retrieveCategories(request));
request.setAttribute("layouts", LayoutBean.retrieveLayouts(request, decorationFactory));
request.setAttribute("themes", ThemeBean.retrieveThemes(request, decorationFactory));
@@ -158,6 +182,7 @@
super.doView(request, response);
}
+ @Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException,
IOException
{
Added: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp?rev=881419&view=auto
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp (added)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp Tue Nov 17 18:08:40 2009
@@ -0,0 +1,21 @@
+<%--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+--%>
+
+<%--
+portlet infos in json? or xml?
+--%>
Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox-portlets.jsp
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=881419&r1=881418&r2=881419&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Tue Nov 17 18:08:40 2009
@@ -27,7 +27,7 @@
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c_rt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
-<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<portlet:defineObjects/>
<c_rt:set var="requestContext" value="<%=request.getAttribute(RequestContext.REQUEST_PORTALENV)%>"/>
@@ -54,6 +54,10 @@
}
}
}
+function <portlet:namespace/>category_onchange(sel) {
+ var url = '<portlet:resourceURL id="/WEB-INF/view/toolbox/toolbox-portlets.jsp"/>';
+ // TODO: ajax call to retrieve portlets info
+}
function <portlet:namespace/>toggleCategory(cat) {
var div = document.getElementById('<portlet:namespace/>PortletsOf' + cat);
if (div) {
@@ -87,66 +91,23 @@
<input type="submit" value="search" />
</td>
</tr>
-
+
<tr>
<td class="portlet-section-subheader" colspan='10'>
- <div>
- <a href="javascript:<portlet:namespace/>toggleCategory('All');">All</a>
- </div>
- <c:choose>
- <c:when test="${fn:length(portlets) gt 10}">
- <c:set var="divStyleHeight" value="height: 400px;"/>
- </c:when>
- <c:otherwise>
- <c:set var="divStyleHeight" value=""/>
- </c:otherwise>
- </c:choose>
- <div id="<portlet:namespace/>PortletsOfAll" style="${divStyleHeight} overflow: auto;">
- <table style="border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
- <c:forEach var="portletInfo" items="${portlets}">
- <tr>
- <td class="portlet-section-body" style='background: #fff'>
- <table style="border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
- <tr>
- <td rowspan="2" width="20%" class="portlet-section-body">
- <img src='<c:url context="${portalContextPath}" value="${portletInfo.image}"/>'/>
- </td>
- <td width="80%" class="portlet-section-body">${portletInfo.displayName}</td>
- </tr>
- <tr>
- <td class="portlet-section-body">
- <a href="<portlet:actionURL><portlet:param name='portletPreview' value='${portletInfo.name}'/></portlet:actionURL>">Preview</a>
- <c:if test="${editAccess}">
- <a href="<portlet:actionURL><portlet:param name='portletAdd' value='${portletInfo.name}'/></portlet:actionURL>">Add</a>
- </c:if>
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </c:forEach>
- </table>
- </div>
+ <select onchange="return <portlet:namespace/>category_onchange(this);">
+ <option value="">All categories</option>
+ <c:forEach var="category" items="${categories}">
+ <option value="${category.name}">${category.name}</option>
+ </c:forEach>
+ </select>
</td>
</tr>
- <c:forEach var="category" items="${categories}">
- <tr>
- <td class="portlet-section-subheader" colspan='10'>
- <div>
- <a href="javascript:<portlet:namespace/>toggleCategory('${category.name}');">${category.name}</a>
- </div>
- <c:choose>
- <c:when test="${fn:length(category.portlets) gt 10}">
- <c:set var="divStyleHeight" value="height: 400px;"/>
- </c:when>
- <c:otherwise>
- <c:set var="divStyleHeight" value=""/>
- </c:otherwise>
- </c:choose>
- <div id="<portlet:namespace/>PortletsOf${category.name}" style="display: none; ${divStyleHeight} overflow: auto;">
- <table style="border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
- <c:forEach var="portletInfo" items="${category.portlets}">
+ <tr>
+ <td>
+ <div style="height: 400px; overflow: auto;">
+ <table style="border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
+ <c:forEach var="portletInfo" items="${portlets}">
<tr>
<td class="portlet-section-body" style='background: #fff'>
<table style="border-collapse: collapse; width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
@@ -155,24 +116,23 @@
<img src='<c:url context="${portalContextPath}" value="${portletInfo.image}"/>'/>
</td>
<td width="80%" class="portlet-section-body">${portletInfo.displayName}</td>
- </tr>
+ </tr>
<tr>
<td class="portlet-section-body">
<a href="<portlet:actionURL><portlet:param name='portletPreview' value='${portletInfo.name}'/></portlet:actionURL>">Preview</a>
- <c:if test="${not empty renderRequest.userPrincipal}">
- <a href="<portlet:actionURL><portlet:param name='portletAdd' value='${portletInfo.name}'/></portlet:actionURL>">Add</a>
- </c:if>
+ <c:if test="${editAccess}">
+ <a href="<portlet:actionURL><portlet:param name='portletAdd' value='${portletInfo.name}'/></portlet:actionURL>">Add</a>
+ </c:if>
</td>
</tr>
</table>
</td>
</tr>
- </c:forEach>
- </table>
- </div>
- </td>
- </tr>
- </c:forEach>
+ </c:forEach>
+ </table>
+ </div>
+ </td>
+ </tr>
<tr>
<th class="portlet-section-header" colspan="2"></th>
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org