ktlili 2005/08/17 16:00:27 CEST
Modified files:
. maven.xml project.properties
war/JBuilderConf Clipper_Portlet.jpx
war project.xml
war/src/java/org/jahia/clipping/html/portlet
ClipperPortlet.java
PortletService.java
PortletSessionManager.java
war/src/webapp/WEB-INF log4j.xml web.xml
war/src/webapp/js iframeJavascript.js
war/src/webapp/templates editParameters.jsp
iframeContainer.jsp
targetDocument.jsp
Added files:
war/src/webapp/WEB-INF struts-bean.tld struts-config.xml
tiles-defs.xml
war/src/webapp/templates errorInitParameters.jsp
war/src/webapp/resources wait.gif work_in_progress.gif
Removed files:
war/src/java/org/jahia/clipping/html/portlet
WebBrowserServlet.java
Log:
- replace WebBrowserServlet by WebBrowserAction which is in clip_builder.jar
- add struts config for WebBrowserAction
- Move cache processing : PortletService ---> WebBrowserAction
- update javascript in order to handle multiple instance of same portlet in
same page
Revision Changes Path
1.5 +8 -1 webclip_portlet/maven.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/maven.xml.diff?r1=1.4&r2=1.5&f=h
1.5 +2 -0 webclip_portlet/project.properties
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/project.properties.diff?r1=1.4&r2=1.5&f=h
1.14 +1 -0 webclip_portlet/war/JBuilderConf/Clipper_Portlet.jpx
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/JBuilderConf/Clipper_Portlet.jpx.diff?r1=1.13&r2=1.14&f=h
1.6 +2 -2 webclip_portlet/war/project.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/project.xml.diff?r1=1.5&r2=1.6&f=h
1.8 +20 -15
webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/ClipperPortlet.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/ClipperPortlet.java.diff?r1=1.7&r2=1.8&f=h
1.7 +12 -20
webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletService.java.diff?r1=1.6&r2=1.7&f=h
1.6 +27 -1
webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletSessionManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletSessionManager.java.diff?r1=1.5&r2=1.6&f=h
1.5 +0 -635
webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/WebBrowserServlet.java
(dead)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/WebBrowserServlet.java?rev=1.4&content-type=text/plain
1.10 +5 -0 webclip_portlet/war/src/webapp/WEB-INF/log4j.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/WEB-INF/log4j.xml.diff?r1=1.9&r2=1.10&f=h
1.1 +382 -0 webclip_portlet/war/src/webapp/WEB-INF/struts-bean.tld
(new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/WEB-INF/struts-bean.tld?rev=1.1&content-type=text/plain
1.1 +21 -0 webclip_portlet/war/src/webapp/WEB-INF/struts-config.xml
(new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/WEB-INF/struts-config.xml?rev=1.1&content-type=text/plain
1.1 +3 -0 webclip_portlet/war/src/webapp/WEB-INF/tiles-defs.xml
(new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/WEB-INF/tiles-defs.xml?rev=1.1&content-type=text/plain
1.9 +18 -8 webclip_portlet/war/src/webapp/WEB-INF/web.xml
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/WEB-INF/web.xml.diff?r1=1.8&r2=1.9&f=h
1.3 +28 -5 webclip_portlet/war/src/webapp/js/iframeJavascript.js
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/js/iframeJavascript.js.diff?r1=1.2&r2=1.3&f=h
1.1 +11 -0 webclip_portlet/war/src/webapp/resources/wait.gif (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/resources/wait.gif?rev=1.1&content-type=text/plain
1.1 +125 -0
webclip_portlet/war/src/webapp/resources/work_in_progress.gif (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/resources/work_in_progress.gif?rev=1.1&content-type=text/plain
1.7 +44 -80
webclip_portlet/war/src/webapp/templates/editParameters.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/templates/editParameters.jsp.diff?r1=1.6&r2=1.7&f=h
1.1 +8 -0
webclip_portlet/war/src/webapp/templates/errorInitParameters.jsp (new)
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/templates/errorInitParameters.jsp?rev=1.1&content-type=text/plain
1.8 +8 -13
webclip_portlet/war/src/webapp/templates/iframeContainer.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/templates/iframeContainer.jsp.diff?r1=1.7&r2=1.8&f=h
1.6 +13 -4
webclip_portlet/war/src/webapp/templates/targetDocument.jsp
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/webclip_portlet/war/src/webapp/templates/targetDocument.jsp.diff?r1=1.5&r2=1.6&f=h
Index: maven.xml
===================================================================
RCS file: /home/cvs/repository/webclip_portlet/maven.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- maven.xml 3 Aug 2005 12:39:03 -0000 1.4
+++ maven.xml 17 Aug 2005 14:00:25 -0000 1.5
@@ -6,7 +6,7 @@
<goal name="do-all">
<attainGoal name="clean" />
<attainGoal name="allBuild" />
- <attainGoal name="jetspeed2-deploy" />
+ <attainGoal name="copy-in-webclip_builder" />
</goal>
<goal name="allBuild"
@@ -21,6 +21,13 @@
<ant:copy file="${maven.build.war.directory}/${war.source.name}"
tofile="${maven.delpoy.dest}/${war.dest.name}"/>
</goal>
+ <goal name="copy-in-webclip_builder"
+ description="update webclip_builder clipper pattern">
+ <ant:delete
file="${org.apache.jetspeed.server.home}/webapps/${war.dest.name}"/>
+ <ant:copy file="${maven.build.war.directory}/${war.source.name}"
tofile="${maven.webclip_builder.src.patternDirectory}/htmlClipperPortletPattern.war"/>
+ <ant:copy file="${maven.build.war.directory}/${war.source.name}"
tofile="${maven.webclip_builder.target.patternDirectory}/htmlClipperPortletPattern.war"/>
+ </goal>
+
<postGoal name="clean">
<maven:reactor
basedir="${basedir}"
Index: project.properties
===================================================================
RCS file: /home/cvs/repository/webclip_portlet/project.properties,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- project.properties 3 Aug 2005 12:39:03 -0000 1.4
+++ project.properties 17 Aug 2005 14:00:25 -0000 1.5
@@ -3,4 +3,6 @@
maven.build.war.directory = ${maven.multiproject.basedir}/war/target
war.source.name = clipperPortlet.war
war.dest.name = clipperPortlet.war
+maven.webclip_builder.src.patternDirectory =
../webclip_builder/war/src/webapp/clippers/htmlpattern
+maven.webclip_builder.target.patternDirectory =
../webclip_builder/war/target/clipBuilder/clippers/htmlpattern
Index: Clipper_Portlet.jpx
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/JBuilderConf/Clipper_Portlet.jpx,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Clipper_Portlet.jpx 4 Aug 2005 14:45:13 -0000 1.13
+++ Clipper_Portlet.jpx 17 Aug 2005 14:00:25 -0000 1.14
@@ -15,6 +15,7 @@
<property category="javaFormatting" name="implementsOnNewLine" value="0"/>
<property category="javaFormatting" name="indentCase" value="0"/>
<property category="javaFormatting" name="packagePrefixGroups"
value="java;BLANK_LINE;javax;BLANK_LINE;(*)"/>
+ <property category="javaFormatting" name="packageThreshold" value="0"/>
<property category="javaFormatting" name="preservedBlankLinesInDecl"
value="2"/>
<property category="javaFormatting" name="spaceBeforeLparen" value="0"/>
<property category="javaFormatting" name="whileOnNewLine" value="0"/>
Index: project.xml
===================================================================
RCS file: /home/cvs/repository/webclip_portlet/war/project.xml,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- project.xml 2 Aug 2005 15:40:52 -0000 1.5
+++ project.xml 17 Aug 2005 14:00:25 -0000 1.6
@@ -11,7 +11,7 @@
&common-warrepository;
<dependencies>
<!-- &common-dependencies; -->
- <!-- web raptor -->
+ <!-- clipper builder lib -->
<dependency>
<groupId>jahia</groupId>
<artifactId>clipBuilder</artifactId>
@@ -254,7 +254,7 @@
<artifactId>cssparser</artifactId>
<version>0.9.4</version>
<properties>
- <war.bundle>true</war.bundle>
+ <war.bundle>false</war.bundle>
</properties>
</dependency>
-->
Index: ClipperPortlet.java
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/ClipperPortlet.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ClipperPortlet.java 4 Aug 2005 14:45:13 -0000 1.7
+++ ClipperPortlet.java 17 Aug 2005 14:00:25 -0000 1.8
@@ -5,6 +5,8 @@
import org.apache.ecs.html.*;
import org.apache.log4j.xml.DOMConfigurator;
import org.jahia.clipping.html.portlet.util.*;
+import org.jahia.clipbuilder.html.web.Url.*;
+
/**
* Description of the Class
*
@@ -83,20 +85,22 @@
}
- // send selectUrl parameter
- String selectedUrl =
request.getParameter("selectedUrl");
-
response.setRenderParameter("selectedUrl",selectedUrl);
+ // send selectUrl parameter
+ String selectedUrl =
request.getParameter("selectedUrl");
+ response.setRenderParameter("selectedUrl", selectedUrl);
}
catch (Exception ex) {
logger.error("Exception: " + ex.toString());
ex.printStackTrace();
}
- /*java.util.Map parameterMap = request.getParameterMap();
- Iterator it = parameterMap.entrySet().iterator();
- while (it.hasNext()) {
- Object name = it.next();
- logger.debug("request paramter: " + name.toString());
- }*/
+ /*
+ * java.util.Map parameterMap = request.getParameterMap();
+ * Iterator it = parameterMap.entrySet().iterator();
+ * while (it.hasNext()) {
+ * Object name = it.next();
+ * logger.debug("request paramter: " + name.toString());
+ * }
+ */
logger.debug("-- end process action--");
}
@@ -110,9 +114,6 @@
public void render(RenderRequest request, RenderResponse response) {
logger.debug("-- begin render --");
try {
- // dipatch into webBrowser servlet
- PortletRequestDispatcher prd =
getPortletContext().getNamedDispatcher("webBrowser");
- prd.include(request, response);
// set the portlet service object for the current
request
PortletService portletService =
PortletService.getInstance(request, response, getPortletConfig(),
getPortletContext());
@@ -131,6 +132,7 @@
logger.debug("PortletMode: " +
request.getPortletMode().toString());
PortletSessionManager.setPortletService(request,
portletService);
+
super.render(request, response);
}
catch (Exception ex) {
@@ -158,12 +160,15 @@
PortletService portletService =
PortletService.getInstance(request, response, getPortletConfig(),
getPortletContext());
PortletSessionManager.setPortletService(request,
portletService);
+ UrlEncoderIF encoder =
UrlEncoderFactory.getPortletUrlEncoder(request, response);
+ PortletSessionManager.setUrlEncoder(request, encoder);
+
// Get clipping content
try {
Writer w = response.getWriter();
//check validity of the user parameters
- boolean foundErrors =
portletService.checkUserQueryParameters();
- if (foundErrors) {
+ boolean missingParametersValue =
portletService.checkUserQueryParameters();
+ if (missingParametersValue) {
logger.warn("Parameters are not valid");
PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher("/templates/errorInitParameters.jsp");
prd.include(request, response);
@@ -207,7 +212,6 @@
showEditParameter(request, response);
logger.debug("-- end edit --");
-
}
@@ -286,6 +290,7 @@
*/
private void showInAnIframe(RenderRequest request, RenderResponse
response) throws IOException, PortletException {
logger.debug("show in an iframe");
+
PortletRequestDispatcher prd =
getPortletContext().getRequestDispatcher("/templates/iframeContainer.jsp");
prd.include(request, response);
}
Index: PortletService.java
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletService.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- PortletService.java 4 Aug 2005 14:45:13 -0000 1.6
+++ PortletService.java 17 Aug 2005 14:00:25 -0000 1.7
@@ -165,7 +165,6 @@
String clipperPath =
config.getPortletContext().getRealPath(config.getInitParameter("clipperPath"));
ClipperBean cBean = new ClipperBean();
cBean.loadFromXml(clipperPath);
- String sessionUser = request.getRemoteUser();
//load user preferences for parameters
logger.debug("[ Set user parameter for the clipperBean from the
PortletPreferences Object]");
@@ -174,6 +173,7 @@
PortletSessionManager.getPortletSession(request).invalidate();
PortletSessionManager.setClipperBean(request, cBean);
PortletSessionManager.setURLMap(request, new URLMap());
+ String sessionUser = request.getRemoteUser();
if (sessionUser != null) {
PortletSessionManager.setSessionUser(request,
sessionUser);
}
@@ -241,7 +241,7 @@
// assert that there is a next url
if (nextUrlBean != null) {
List queryParamBeanList =
nextUrlBean.getQueryParamBeanList();
- // logger.debug("[ Query param size: " +
queryParamBeanList.size() + " ]");
+ // logger.debug("[ Query param size: " +
queryParamBeanList.size() + " ]");
for (int i = 0; i < queryParamBeanList.size(); i++) {
// current query bean
@@ -251,7 +251,7 @@
//update value
if (value != null) {
qBean.setDefaultValue(value);
- // logger.debug("[ Query param " +
qBean.getName() + " is set whith value " + value + " ]");
+ // logger.debug("[
Query param " + qBean.getName() + " is set whith value " + value + " ]");
}
else {
logger.warn("[ No value founded for
Query param " + qBean.getName() + ".]");
@@ -271,7 +271,7 @@
[EMAIL PROTECTED] Description of the Returned Value
*/
public boolean checkUserQueryParameters() {
- boolean foundErros = false;
+ boolean missingParameters = false;
ClipperBean cBean =
PortletSessionManager.getClipperBean(request);
List urlBeanList = cBean.getUrlListBean();
@@ -282,27 +282,16 @@
// all query param of the curertn url
for (int j = 0; j < queryParamBeanList.size(); j++) {
QueryParamBean currentQueryBean =
(QueryParamBean) queryParamBeanList.get(j);
-
if (currentQueryBean.getDefaultValue() == null)
{
// Errors: param value is missing -->
add error mesasge
- UrlBean uBean = (UrlBean)
cBean.getUrlBean(i);
- String urlMessage[] = {"URL: " +
uBean.getPosition() + ":" + uBean.getAbsoluteURL()};
- /*
- * ActionError urlActionMessage = new
ActionError("test.param.urlMessage", urlMessage);
- * errors.add(null, urlActionMessage);
- * String[] queryParamMessage =
{"Parameter :" + currentQueryBean.getName()};
- * ActionError queryParamActionMessage
= new ActionError("test.param.urlMessage", queryParamMessage);
- * errors.add(null,
queryParamActionMessage);
- */
- // update found Errors value
- foundErros = true;
+ missingParameters = true;
}
}
}
// save all message
// saveErrors(request, errors);
- return foundErros;
+ return missingParameters;
}
@@ -369,9 +358,12 @@
RenderRequest renderRequest = (RenderRequest) request;
RenderResponse renderResponse = (RenderResponse) response;
- PortletRequestDispatcher prd =
context.getRequestDispatcher("/webBrowser.do?show=test");
- prd.include(renderRequest, renderResponse);
-
+ //set url encoder
+ //UrlEncoderIF encoder =
UrlEncoderFactory.getPortletUrlEncoder(renderRequest, renderResponse);
+ //PortletSessionManager.setUrlEncoder(request, encoder);
+ //dispath to the servlet
+ //PortletRequestDispatcher prd =
context.getRequestDispatcher("/webBrowserServlet.do?show=test");
+ //prd.include(renderRequest, renderResponse);
logger.debug("WebBrowserServlet execution over");
}
Index: PortletSessionManager.java
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/java/org/jahia/clipping/html/portlet/PortletSessionManager.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- PortletSessionManager.java 4 Aug 2005 14:45:13 -0000 1.5
+++ PortletSessionManager.java 17 Aug 2005 14:00:25 -0000 1.6
@@ -2,7 +2,7 @@
import javax.portlet.*;
import org.jahia.clipbuilder.html.bean.*;
import org.jahia.clipbuilder.html.web.*;
-import org.jahia.clipbuilder.html.web.Url.URLMap;
+import org.jahia.clipbuilder.html.web.Url.*;
import org.jahia.clipbuilder.html.util.Constants;
/**
@@ -91,6 +91,20 @@
/**
+ * Sets the UrlEncoder attribute of the PortletSessionManager class
+ *
+ [EMAIL PROTECTED] request The new UrlEncoder value
+ [EMAIL PROTECTED] encoder The new UrlEncoder value
+ */
+ public static void setUrlEncoder(PortletRequest request, UrlEncoderIF
encoder) {
+ PortletSession session = getPortletSession(request);
+
session.setAttribute(org.jahia.clipbuilder.html.web.Constant.WebConstants.URL_ENCODER,
encoder, PortletSession.APPLICATION_SCOPE);
+
+ }
+
+
+
+ /**
* Sets the SessionUser attribute of the PortletSessionManager class
*
[EMAIL PROTECTED] request The new SessionUser value
@@ -103,6 +117,18 @@
/**
+ * Gets the UrlEncoder attribute of the PortletSessionManager class
+ *
+ [EMAIL PROTECTED] request Description of Parameter
+ [EMAIL PROTECTED] The UrlEncoder value
+ */
+ public static UrlEncoderIF getUrlEncoder(PortletRequest request) {
+ PortletSession session = getPortletSession(request);
+ return (UrlEncoderIF)
session.getAttribute(org.jahia.clipbuilder.html.web.Constant.WebConstants.URL_ENCODER);
+ }
+
+
+ /**
* Gets the Html attribute of the SessionManager class
*
[EMAIL PROTECTED] request Description of Parameter
Index: struts-bean.tld
====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library
1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>bean</shortname>
<uri>http://struts.apache.org/tags-bean</uri>
<tag>
<name>cookie</name>
<tagclass>org.apache.struts.taglib.bean.CookieTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.CookieTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>multiple</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>define</name>
<tagclass>org.apache.struts.taglib.bean.DefineTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.DefineTei</teiclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>toScope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>type</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>header</name>
<tagclass>org.apache.struts.taglib.bean.HeaderTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.HeaderTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>multiple</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>include</name>
<tagclass>org.apache.struts.taglib.bean.IncludeTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.IncludeTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>anchor</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>forward</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>href</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>page</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>transaction</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>message</name>
<tagclass>org.apache.struts.taglib.bean.MessageTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>arg0</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>arg1</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>arg2</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>arg3</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>arg4</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>key</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>page</name>
<tagclass>org.apache.struts.taglib.bean.PageTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.PageTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>parameter</name>
<tagclass>org.apache.struts.taglib.bean.ParameterTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.ParameterTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>multiple</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>resource</name>
<tagclass>org.apache.struts.taglib.bean.ResourceTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.ResourceTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>input</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>size</name>
<tagclass>org.apache.struts.taglib.bean.SizeTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.SizeTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>collection</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>struts</name>
<tagclass>org.apache.struts.taglib.bean.StrutsTag</tagclass>
<teiclass>org.apache.struts.taglib.bean.StrutsTei</teiclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>formBean</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>forward</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>mapping</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
<tag>
<name>write</name>
<tagclass>org.apache.struts.taglib.bean.WriteTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>bundle</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>filter</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>format</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>formatKey</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>ignore</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>locale</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>scope</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
Index: struts-config.xml
====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="webBrowserForm"
type="org.jahia.clipbuilder.html.struts.webBrowser.WebBrowserForm"/>
</form-beans>
<global-forwards>
<forward name="webBrowser" path="/webBrowser.do"/>
</global-forwards>
<action-mappings>
<!-- web Browser -->
<action input="/templates/targetDocument.jsp" name="webBrowserForm"
parameter="show" path="/webBrowser" scope="session"
type="org.jahia.clipbuilder.html.struts.webBrowser.WebBrowserAction"
validate="true">
<forward name="showError" path="/templates/targetDocument.jsp"/>
<forward name="showFrameSelection"
path="/templates/targetDocument.jsp"/>
</action>
</action-mappings>
<message-resources parameter="en_US"/>
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml"/>
</plug-in>
</struts-config>
Index: tiles-defs.xml
====================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions />
Index: log4j.xml
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/WEB-INF/log4j.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- log4j.xml 3 Aug 2005 15:40:53 -0000 1.9
+++ log4j.xml 17 Aug 2005 14:00:26 -0000 1.10
@@ -15,6 +15,11 @@
<appender-ref ref="OUT"/>
</category>
+ <category name="org.jahia">
+ <priority value="debug"/>
+ <appender-ref ref="OUT"/>
+ </category>
+
<root>
<priority value="error"/>
<appender-ref ref="OUT"/>
Index: web.xml
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/WEB-INF/web.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- web.xml 4 Aug 2005 14:45:14 -0000 1.8
+++ web.xml 17 Aug 2005 14:00:26 -0000 1.9
@@ -3,16 +3,26 @@
<web-app>
<display-name>clipperPortlet</display-name>
<description>clipperPortlet</description>
+ <!-- struts -->
<servlet>
- <servlet-name>webBrowser</servlet-name>
-
<servlet-class>org.jahia.clipping.html.portlet.WebBrowserServlet</servlet-class>
- </servlet>
- <servlet>
- <servlet-name>webBrowserSimulator</servlet-name>
-
<servlet-class>org.jahia.clipbuilder.html.web.WebBrowserSimulator</servlet-class>
+ <servlet-name>action</servlet-name>
+ <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
+ <init-param>
+ <param-name>config</param-name>
+ <param-value>/WEB-INF/struts-config.xml</param-value>
+ </init-param>
+ <init-param>
+ <param-name>debug</param-name>
+ <param-value>2</param-value>
+ </init-param>
+ <load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
- <servlet-name>webBrowser</servlet-name>
- <url-pattern>/webBrowser.do</url-pattern>
+ <servlet-name>action</servlet-name>
+ <url-pattern>*.do</url-pattern>
</servlet-mapping>
+ <taglib>
+ <taglib-uri>/WEB-INF/etc/struts/struts-bean</taglib-uri>
+ <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
+ </taglib>
</web-app>
Index: iframeJavascript.js
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/js/iframeJavascript.js,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- iframeJavascript.js 3 Aug 2005 12:39:04 -0000 1.2
+++ iframeJavascript.js 17 Aug 2005 14:00:27 -0000 1.3
@@ -1,15 +1,38 @@
// resize iframe from its content
function resizeIframe(clipperId){
- // set iframe object
+ // img: remove wait img visibility
+ var imgObject = document.all('wait');
+ if(imgObject == null){
+ imgObject = document.getElementById('wait');
+ }
+ imgObject.style.display = 'none';
+
+ // img: remove wait img visibility
+ var contentObject = document.all('content');
+ if(contentObject == null){
+ contentObject = document.getElementById('content');
+ }
+ contentObject.style.display = 'inline';
+
+ // iframe: set dimension
var iframeObject = parent.document.all(clipperId);
if(iframeObject == null){
- iframeObject = document.getElementById(clipperId);
+ iframeObject = parent.document.getElementById(clipperId);
}
+ iframeObject.height = document.body.scrollHeight+4;
+ iframeObject.width = document.body.scrollWidth+4;
+
+
+
+
+
+}
+
+
+// send clipper id parameter
+function maximizeClipper(clipperId){
- // set dimension
- iframeObject.style.height = document.body.scrollHeight;
- iframeObject.style.width = document.body.scrollWidth;
}
// show a status bar (e.g.: portlet is not ready)
Index: errorInitParameters.jsp
====================================================================
<[EMAIL PROTECTED] uri="http://java.sun.com/portlet" prefix="p"%>
<[EMAIL PROTECTED] import="javax.portlet.*"%>
<[EMAIL PROTECTED] import="org.jahia.clipping.html.portlet.util.*"%>
<p:defineObjects/>
<p> </p>
<p> Error: Some paramters need to be initialized. </p>
<br/>
<p> Switch to Edit Mode in order to set a value </p>
Index: editParameters.jsp
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/templates/editParameters.jsp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- editParameters.jsp 4 Aug 2005 14:45:14 -0000 1.6
+++ editParameters.jsp 17 Aug 2005 14:00:27 -0000 1.7
@@ -10,75 +10,19 @@
String position = ((RenderRequest)
renderRequest).getParameter("selectedUrl");
if (position == null) {
position = "0";
- System.err.println("Set position manually");
}
int pos = Integer.parseInt(position);
-%>
-<%
+
/*Url List*/
String optionUrlHtml = "";
ClipperBean cb =
org.jahia.clipping.html.portlet.PortletSessionManager.getClipperBean(renderRequest);
List urlBeanList = cb.getUrlListBean();
- for (int i = 0; i < urlBeanList.size() - 1; i++) {
- UrlBean ub = (UrlBean) urlBeanList.get(i);
- String uValue = ub.getAbsoluteUrlValue();
- optionUrlHtml = optionUrlHtml + "\n<option value=" + i;
- if (pos == i) {
- optionUrlHtml = optionUrlHtml + " selected=\"selected\"";
- }
- optionUrlHtml = optionUrlHtml + ">" + uValue + "</option>";
- }
-%>
-<%
- /* Form Param List of the current urlBean*/
- String formParamHtml = "";
+
+ /*param of the selected url*/
UrlBean currentUBean = (UrlBean) urlBeanList.get(pos);
List formParamList = currentUBean.getFormParamBeanList();
- for (int i = 0; i < formParamList.size(); i++) {
- FormParamBean fpb = (FormParamBean) formParamList.get(i);
- String mapping = fpb.getMapping();
- String usedValue = fpb.getUsedValue();
- //process visibility
- String showParam = fpb.getVisibility();
- /*
- <tr>
- <td>mapping</td>
- <td>used Value in a text box </td>
- </tr>
- */
- //build tr
- TR trTag = new TR();
- // build td for Mapping
- if (showParam.equalsIgnoreCase("1")) {
- TD tdMapping = new TD();
- tdMapping.setClass("leftlevel2 waInput");
- tdMapping.setTagText(mapping);
- trTag.addElement(tdMapping);
- }
- // build td for the used value
- TD tdUsedValue = new TD();
- tdUsedValue.setClass("leftlevel2 waInput");
- String type = fpb.getType();
- Input inputNewValue = new Input();
- inputNewValue.setName("usedValue");
- if (!type.equalsIgnoreCase("password")) {
- type = "text";
- }
- //input param visibility
- if (showParam.equalsIgnoreCase("0")) {
- type = "hidden";
- }
- inputNewValue.setType(type);
- // input value
- if (usedValue != null) {
- inputNewValue.setValue(usedValue);
- }
-
- tdUsedValue.addElement(inputNewValue);
- trTag.addElement(tdUsedValue);
- formParamHtml = "\n" + formParamHtml + trTag.toString();
- }
%>
+
<style type="text/css">
.leftlevel2 {
font-size: 10px;
@@ -104,44 +48,65 @@
}
</style>
<!-- javaScript-->
-<table align="center" class="principal" width="100%">
+<table>
<form action="<p:actionURL/>" method="POST">
<!-- Edit Information -->
<table>
<tr valign="middle">
<td> Select Url
<!-- Get all the recorded url-->
- <select name="selectedUrl"
onchange="this.form.submit();"><%=optionUrlHtml %></option> </select>
+ <select name="selectedUrl" onchange="this.form.submit();">
+ <% for (int i = 0; i < urlBeanList.size() - 1; i++) {
+ UrlBean ub = (UrlBean) urlBeanList.get(i);
+ String uValue = ub.getAbsoluteUrlValue();
+ %>
+ <option value="<%=i%>" <%if(pos == i){%> selected="selected"
<%}%> >
+ <%=uValue%>
+ </option>
+ <%} //end loop%>
+ </select>
</td>
</tr>
</table>
<!-- Main -->
- <table width="100%">
- <!-- Edit Form parameters in tabled view -->
+ <table>
+ <!-- Labels-->
<tr>
- <!-- All parameter-->
+ <td class="topmenugreen bold waBG">Parameter</td>
+ <td class="topmenugreen bold waBG">Value</td>
+ </tr>
+ <%for (int i = 0; i < formParamList.size(); i++) {
+ FormParamBean fpb = (FormParamBean) formParamList.get(i);
+ String mapping = fpb.getMapping();
+ String usedValue = fpb.getUsedValue();
+ String showParam = fpb.getVisibility();
+ String type = fpb.getType();
+ // type != password
+ if (!type.equalsIgnoreCase("password")) {
+ type = "text";
+ }
+ //param visibility
+ String display = "inline";
+ if (showParam.equalsIgnoreCase("0")) {
+ type = "hidden";
+ display = "none";
+ }
+ %>
+ <!-- Parameters-->
+ <tr style="display:<%=display%>;">
+ <td><%=mapping%></td>
<td>
- <table width="100%">
- <!-- Labels-->
- <tr>
- <td class="topmenugreen bold waBG">Parameter</td>
- <td class="topmenugreen bold waBG">Value</td>
-
-
+ <input name="usedValue" type="<%=type%>" value="<%=usedValue%>"/>
</td>
-
- <tr><%=formParamHtml %> </tr>
+ </tr>
+ <%} //end loop %>
</table>
<!-- Buttons -->
- <table align="center" class="principal" width="100%">
+ <table>
<tr>
<td class="topmenubuttons">
<!-- save -->
<input name="action" type="submit" value="save"/>
- <!--
- <input type="submit" value="reset"/>
- <input type="submit" value="resetAll"/>
- -->
</td>
<!-- refresh -->
<td class="topmenubuttons">
@@ -149,6 +114,5 @@
</td>
</tr>
</table>
-
</table>
</form></table>
Index: iframeContainer.jsp
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/templates/iframeContainer.jsp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- iframeContainer.jsp 4 Aug 2005 07:45:56 -0000 1.7
+++ iframeContainer.jsp 17 Aug 2005 14:00:27 -0000 1.8
@@ -3,18 +3,13 @@
<[EMAIL PROTECTED] language="Java"
import="org.jahia.clipping.html.portlet.*"%>
<p:defineObjects/>
<%
- // set a unique id for the iframe
- String id = renderResponse.getNamespace();
-
- // add the html in session
- PortletService ps =
PortletSessionManager.getPortletService(renderRequest);
- String html = ps.getHtml();
- request.getSession().setAttribute("html",html);
-
+ // set a unique id for the iframe
+ String id = renderResponse.getNamespace();
%>
-
-<iframe align="bottom" frameborder="0" marginheight="0" marginwidth="0"
scrolling="auto" id="<%=id%>"
src="<%=request.getContextPath()+"/templates/targetDocument.jsp?id="+id%>">
- <P STYLE="textAlign:center">
- <a
href="<%=request.getContextPath()+"/templates/targetDocument.jsp?id="+id%>">Clipper</a>
- </P>
+<iframe height="250" width="250" align="bottom" frameborder="0"
marginheight="0" marginwidth="0" scrolling="auto" id="<%=id%>"
src="<%=request.getContextPath()+"/webBrowser.do?show=test&id="+id%>">
+ <p style="textalign:center">
+ <a
href="<%=request.getContextPath()+"/webBrowser.do?show=test&id="+id%>">Clipper</a>
+ </p>
</iframe>
+
+
Index: targetDocument.jsp
===================================================================
RCS file:
/home/cvs/repository/webclip_portlet/war/src/webapp/templates/targetDocument.jsp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- targetDocument.jsp 4 Aug 2005 07:45:56 -0000 1.5
+++ targetDocument.jsp 17 Aug 2005 14:00:27 -0000 1.6
@@ -1,10 +1,19 @@
<[EMAIL PROTECTED] language="Java"
import="org.jahia.clipping.html.portlet.*"%>
<[EMAIL PROTECTED] uri="http://java.sun.com/portlet" prefix="p"%>
<[EMAIL PROTECTED] import="javax.portlet.*"%>
+<[EMAIL PROTECTED] uri="/WEB-INF/etc/struts/struts-bean" prefix="bean"%>
+<%
+ String id = request.getParameter("id");
+%>
+
<html>
<head>
-<script type=""
src="<%=response.encodeURL(request.getContextPath()+"/js/iframeJavascript.js")%>"></script></head>
-<body onload="resizeIframe('<%=request.getParameter("id") %>');">
-<%=request.getSession().getAttribute("html") %></body>
-
+ <script type=""
src="<%=request.getContextPath()+"/js/iframeJavascript.js"%>"></script>
+</head>
+<body onload="javascript:resizeIframe('<%=id %>');">
+ <img align="middle" id="wait" style="visibility:visible;"
src="<%=request.getContextPath()+"/resources/work_in_progress.gif"%>" alt=""/>
+ <div id="content">
+ <bean:write name="webBrowserForm" property="content" filter="false"/>
+ </div>
+</body>
</html>
Index: wait.gif
===================================================================
<<Binary file>>
Index: work_in_progress.gif
===================================================================
<<Binary file>>