[pal-cvs 2719] [451] added edit mode.

Zurück zum Archiv-Index

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


pal-cvs メーリングリストの案内
Zurück zum Archiv-Index