svnno****@sourc*****
svnno****@sourc*****
2007年 8月 11日 (土) 07:21:56 JST
Revision: 451 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=451 Author: shinsuke Date: 2007-08-11 07:21:55 +0900 (Sat, 11 Aug 2007) Log Message: ----------- added edit mode. Modified Paths: -------------- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/util/WebProxyUtil.java webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentAction.java webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentPage.java webproxy/trunk/src/main/resources/appMessages.properties webproxy/trunk/src/main/resources/appMessages_ja.properties webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label.properties webproxy/trunk/src/main/webapp/WEB-INF/portlet.xml Added Paths: ----------- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersAction.java webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersPage.java webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/ webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label.properties webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label_ja.properties webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label_ja.properties webproxy/trunk/src/main/webapp/view/edit/ webproxy/trunk/src/main/webapp/view/edit/editParameters.html -------------- next part -------------- Modified: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/util/WebProxyUtil.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/util/WebProxyUtil.java 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/util/WebProxyUtil.java 2007-08-10 22:21:55 UTC (rev 451) @@ -1,8 +1,19 @@ package jp.sf.pal.webproxy.util; +import java.io.IOException; + import javax.faces.context.FacesContext; import javax.portlet.PortletConfig; +import javax.portlet.PortletPreferences; +import javax.portlet.PortletRequest; +import javax.portlet.PortletResponse; +import javax.portlet.ReadOnlyException; +import javax.portlet.RenderResponse; +import javax.portlet.ValidatorException; +import jp.sf.pal.common.CommonException; +import jp.sf.pal.webproxy.WebProxyConstants; + public class WebProxyUtil { protected static final String PORTLET_CONFIG = "javax.portlet.PortletConfig"; @@ -19,4 +30,61 @@ public static String getInitParameter(String key) { return getPortletConfig().getInitParameter(key); } + + public static String getUrl() { + return getPortletRequest().getPreferences().getValue( + WebProxyConstants.URL, + getInitParameter(WebProxyConstants.START_PAGE)); + } + + public static void setUrl(String url) throws CommonException { + PortletPreferences prefs = getPortletRequest().getPreferences(); + try { + prefs.setValue(WebProxyConstants.URL, url); + prefs.store(); + } catch (ReadOnlyException e) { + new CommonException("could.not.store.url", + "This parameter is readonly.", e); + } catch (ValidatorException e) { + new CommonException("could.not.store.url", + "The format for this parameter is invalid.", e); + } catch (IOException e) { + new CommonException("could.not.store.url", "I/O exception.", e); + } + } + + public static void setTitle(String title) { + PortletResponse response = getPortletResponse(); + if (response instanceof RenderResponse) { + ((RenderResponse) response).setTitle(title); + } + } + + public static PortletRequest getPortletRequest() { + FacesContext context = FacesContext.getCurrentInstance(); + if (context == null) { + throw new IllegalStateException( + "Could not find FacesContext instance."); + } + Object obj = context.getExternalContext().getRequest(); + if (obj instanceof PortletRequest) { + return (PortletRequest) obj; + } + throw new IllegalStateException( + "This application runs on a portlet environment only."); + } + + public static PortletResponse getPortletResponse() { + FacesContext context = FacesContext.getCurrentInstance(); + if (context == null) { + throw new IllegalStateException( + "Could not find FacesContext instance."); + } + Object obj = context.getExternalContext().getResponse(); + if (obj instanceof PortletResponse) { + return (PortletResponse) obj; + } + throw new IllegalStateException( + "This application runs on a portlet environment only."); + } } Added: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersAction.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersAction.java 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersAction.java 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1,84 @@ +package jp.sf.pal.webproxy.web.edit; + +import java.io.Serializable; + +import jp.sf.pal.common.CommonException; +import jp.sf.pal.common.util.FacesMessageUtil; +import jp.sf.pal.webproxy.util.WebProxyUtil; + +import org.seasar.framework.log.Logger; +import org.seasar.teeda.extension.util.LabelHelper; + +public class EditParametersAction implements Serializable { + + /** + * + */ + private static final long serialVersionUID = -5561519112763934227L; + + /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(EditParametersAction.class); + + /** + * + */ + private EditParametersPage editParametersPage; + + private LabelHelper labelHelper; + + /** + * @return the editParametersPage + */ + public EditParametersPage getEditParametersPage() { + return editParametersPage; + } + + /** + * @param editParametersPage the editParametersPage to set + */ + public void setEditParametersPage(EditParametersPage editParametersPage) { + this.editParametersPage = editParametersPage; + } + + /** + * @return the labelHelper + */ + public LabelHelper getLabelHelper() { + return labelHelper; + } + + /** + * @param labelHelper the labelHelper to set + */ + public void setLabelHelper(LabelHelper labelHelper) { + this.labelHelper = labelHelper; + } + + public Class<?> initialize() { + return null; + } + + public Class<?> prerender() { + getEditParametersPage().setUrl(WebProxyUtil.getUrl()); + return null; + } + + public Class<?> doUpdate() { + try { + WebProxyUtil.setUrl(getEditParametersPage().getUrl()); + FacesMessageUtil.addInfoMessage("updated.parameters"); + } catch (CommonException e) { + logger.error(e); + + FacesMessageUtil.addErrorMessage(e.getMessageId()); + } + + // render faces messages + FacesMessageUtil.renderMessages(); + return EditParametersPage.class; + } + +} Property changes on: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersAction.java ___________________________________________________________________ Name: svn:eol-style + native Added: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersPage.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersPage.java 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersPage.java 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1,25 @@ +package jp.sf.pal.webproxy.web.edit; + +import java.io.Serializable; + +import org.seasar.teeda.extension.annotation.validator.Required; + +public class EditParametersPage implements Serializable { + + /** + * + */ + private static final long serialVersionUID = -3713807689562133287L; + + @Required + private String url; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + +} Property changes on: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/edit/EditParametersPage.java ___________________________________________________________________ Name: svn:eol-style + native Modified: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentAction.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentAction.java 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentAction.java 2007-08-10 22:21:55 UTC (rev 451) @@ -6,14 +6,15 @@ import javax.portlet.PortletURL; import javax.portlet.RenderResponse; -import org.seasar.teeda.extension.util.LabelHelper; - import jp.sf.pal.common.CommonException; import jp.sf.pal.common.util.FacesMessageUtil; import jp.sf.pal.webproxy.WebProxyConstants; import jp.sf.pal.webproxy.service.HtmlContentService; import jp.sf.pal.webproxy.util.WebProxyUtil; +import org.seasar.framework.log.Logger; +import org.seasar.teeda.extension.util.LabelHelper; + public class DisplayContentAction implements Serializable { /** @@ -22,12 +23,20 @@ private static final long serialVersionUID = -8763384693125054329L; /** + * Logger for this class + */ + private static final Logger logger = Logger + .getLogger(DisplayContentAction.class); + + /** * */ private DisplayContentPage displayContentPage; private HtmlContentService htmlContentService; + private LabelHelper labelHelper; + /** * @return the displayContentPage */ @@ -56,6 +65,20 @@ this.htmlContentService = htmlContentService; } + /** + * @return the labelHelper + */ + public LabelHelper getLabelHelper() { + return labelHelper; + } + + /** + * @param labelHelper the labelHelper to set + */ + public void setLabelHelper(LabelHelper labelHelper) { + this.labelHelper = labelHelper; + } + public Class<?> initialize() { return null; } @@ -66,7 +89,7 @@ .getExternalContext().getRequestParameterMap().get( WebProxyConstants.URL); if (url == null) { - url = WebProxyUtil.getInitParameter(WebProxyConstants.START_PAGE); + url = WebProxyUtil.getUrl(); } // method @@ -89,14 +112,16 @@ getDisplayContentPage().setContent( getHtmlContentService().getContent(method, url, encoding)); } catch (CommonException e) { + logger.error(e); + FacesMessageUtil.addErrorMessage(e.getMessageId(), new Object[] { url }); + // set start page StringBuffer link = new StringBuffer(); link.append("<a href=\"").append(getStartPageLink()).append("\">") - .append( - getDisplayContentPage().getLabelHelper() - .getLabelValue("startPage")).append("</a>"); + .append(getLabelHelper().getLabelValue("startPage")) + .append("</a>"); getDisplayContentPage().setContent(link.toString()); } Modified: webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentPage.java =================================================================== --- webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentPage.java 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/java/jp/sf/pal/webproxy/web/view/DisplayContentPage.java 2007-08-10 22:21:55 UTC (rev 451) @@ -2,8 +2,6 @@ import java.io.Serializable; -import org.seasar.teeda.extension.util.LabelHelper; - public class DisplayContentPage implements Serializable { /** @@ -11,24 +9,8 @@ */ private static final long serialVersionUID = 9014939708489128612L; - private LabelHelper labelHelper; - private String content; - /** - * @return the labelHelper - */ - public LabelHelper getLabelHelper() { - return labelHelper; - } - - /** - * @param labelHelper the labelHelper to set - */ - public void setLabelHelper(LabelHelper labelHelper) { - this.labelHelper = labelHelper; - } - public String getContent() { return content; } Modified: webproxy/trunk/src/main/resources/appMessages.properties =================================================================== --- webproxy/trunk/src/main/resources/appMessages.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/appMessages.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -1,3 +1,5 @@ -could.not.access.url=Could not access {0} -could.not.parse.url=Could not parse {0} -could.not.read.url=Could not read {0} +could.not.access.url=Could not access {0}. Please contact your site administrator. +could.not.parse.url=Could not parse {0}. Please contact your site administrator. +could.not.read.url=Could not read {0}. Please contact your site administrator. +could.not.store.url=Could not store URL. Please contact your site administrator. +updated.parameters=Updated parameters. \ No newline at end of file Modified: webproxy/trunk/src/main/resources/appMessages_ja.properties =================================================================== --- webproxy/trunk/src/main/resources/appMessages_ja.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/appMessages_ja.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -1,3 +1,5 @@ -could.not.access.url=Could not access {0} -could.not.parse.url=Could not parse {0} -could.not.read.url=Could not read {0} +could.not.access.url={0} \u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 +could.not.parse.url={0} \u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 +could.not.read.url={0} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 +could.not.store.url=URL \u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u7ba1\u7406\u8005\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044\u3002 +updated.parameters=\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f\u3002 \ No newline at end of file Added: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label.properties =================================================================== --- webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1 @@ +url=URL: \ No newline at end of file Property changes on: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label.properties ___________________________________________________________________ Name: svn:eol-style + native Added: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label_ja.properties =================================================================== --- webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label_ja.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label_ja.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1 @@ +url=URL: \ No newline at end of file Property changes on: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/edit/label_ja.properties ___________________________________________________________________ Name: svn:eol-style + native Modified: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label.properties =================================================================== --- webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -1 +1 @@ -startPage=Back to Start Page. \ No newline at end of file +startPage=Back to Start Page Added: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label_ja.properties =================================================================== --- webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label_ja.properties 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label_ja.properties 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1 @@ +startPage=\u30b9\u30bf\u30fc\u30c8\u30da\u30fc\u30b8\u306b\u623b\u308b Property changes on: webproxy/trunk/src/main/resources/jp/sf/pal/webproxy/web/view/label_ja.properties ___________________________________________________________________ Name: svn:eol-style + native Modified: webproxy/trunk/src/main/webapp/WEB-INF/portlet.xml =================================================================== --- webproxy/trunk/src/main/webapp/WEB-INF/portlet.xml 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/webapp/WEB-INF/portlet.xml 2007-08-10 22:21:55 UTC (rev 451) @@ -36,14 +36,14 @@ <name>view-page</name> <value>/view/view/displayContent.html</value> </init-param> -<!-- <init-param> - <name>edit-page</name> - <value></value> - </init-param> --> + <init-param> + <name>edit-page</name> + <value>/view/edit/editParameters.html</value> + </init-param> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> -<!-- <portlet-mode>EDIT</portlet-mode> --> + <portlet-mode>EDIT</portlet-mode> </supports> <supported-locale>en</supported-locale> <supported-locale>ja</supported-locale> Added: webproxy/trunk/src/main/webapp/view/edit/editParameters.html =================================================================== --- webproxy/trunk/src/main/webapp/view/edit/editParameters.html 2007-08-10 22:21:00 UTC (rev 450) +++ webproxy/trunk/src/main/webapp/view/edit/editParameters.html 2007-08-10 22:21:55 UTC (rev 451) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<link rel="stylesheet" type="text/css" href="../../css/global.css"/> +</head> +<body> +<form id="editParametersForm"> +<div> + <span id="allMessages" fatalClass="portlet-msg-error" errorClass="portlet-msg-error" warnClass="portlet-msg-alert" infoClass="portlet-msg-info"></span> +</div> +<div> + <table> + <tr> + <td class="portlet-section-subheader"><label id="urlLabel" for="url">URL</label></td> + <td class="portlet-section-body"><input id="url" type="text" /></td> + <td><span id="urlMessage"></span></td> + </tr> + </table> + <div> + <input type="button" id="doUpdate" value="Update" onclick="location.href='editParameters.html'" class="portlet-form-button"/> + </div> +</div> +</form> +</body> +</html> Property changes on: webproxy/trunk/src/main/webapp/view/edit/editParameters.html ___________________________________________________________________ Name: svn:eol-style + native