[pal-cvs 3505] [1239] added config tool.

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2008年 10月 25日 (土) 22:17:40 JST


Revision: 1239
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1239
Author:   shinsuke
Date:     2008-10-25 22:17:39 +0900 (Sat, 25 Oct 2008)

Log Message:
-----------
added config tool.

Modified Paths:
--------------
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/VFSConstants.java
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ListAction.java
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ListForm.java
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/helper/impl/FileParameterHelperImpl.java
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/util/VFSUtil.java
    vfs-portlets/trunk/src/main/resources/application.properties
    vfs-portlets/trunk/src/main/webapp/WEB-INF/portlet.xml
    vfs-portlets/trunk/src/main/webapp/WEB-INF/vfs.xml
    vfs-portlets/trunk/src/main/webapp/WEB-INF/view/list/index.jsp

Added Paths:
-----------
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ConfigAction.java
    vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ConfigForm.java
    vfs-portlets/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml
    vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/
    vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/index.jsp


-------------- next part --------------
Modified: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/VFSConstants.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/VFSConstants.java	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/VFSConstants.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -13,12 +13,20 @@
 public class VFSConstants {
     public static final String CONSTANT_PREFIX = "jp.sf.pal.vfs.";
 
+    public static final String AVAILABLE = "available";
+
     public static final String DEFAULT_URI = "default-uri";
 
     public static final String ACCEPT_PATHS = "accept-paths";
 
     public static final String DENY_PATHS = "deny-paths";
 
+    public static final String SHOW_PATH = "show-path";
+
+    public static final String SHOW_CREATE_FOLDER_LINK = "show-create-folder-link";
+
+    public static final String SHOW_UPLOAD_LINK = "show-upload-link";
+
     public static final String TRUE = "true";
 
     public static final String FALSE = "false";

Added: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ConfigAction.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ConfigAction.java	                        (rev 0)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ConfigAction.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -0,0 +1,104 @@
+package jp.sf.pal.vfs.action;
+
+import java.io.Serializable;
+
+import javax.servlet.http.HttpServletRequest;
+
+import jp.sf.pal.vfs.VFSConstants;
+import jp.sf.pal.vfs.common.util.ConfigUtil;
+import jp.sf.pal.vfs.common.util.SAStrutsUtil;
+import jp.sf.pal.vfs.form.ConfigForm;
+import jp.sf.pal.vfs.util.VFSUtil;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.seasar.struts.annotation.ActionForm;
+import org.seasar.struts.annotation.Execute;
+import org.seasar.struts.exception.ActionMessagesException;
+
+public class ConfigAction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final Log log = LogFactory.getLog(ConfigAction.class);
+
+    public String scope;
+
+    @ActionForm
+    private ConfigForm configForm;
+
+    private transient HttpServletRequest request;
+
+    protected String displayIndex() {
+        scope = VFSUtil.getScope(request);
+        configForm.available = ConfigUtil.getString(scope + "."
+                + VFSConstants.AVAILABLE, "false");
+        configForm.defaultUri = ConfigUtil.getString(scope + "."
+                + VFSConstants.DEFAULT_URI, "file:///");
+        configForm.acceptPaths = ConfigUtil.getString(scope + "."
+                + VFSConstants.ACCEPT_PATHS, "");
+        configForm.denyPaths = ConfigUtil.getString(scope + "."
+                + VFSConstants.DENY_PATHS, "");
+        configForm.showPath = ConfigUtil.getString(scope + "."
+                + VFSConstants.SHOW_PATH, "true");
+        configForm.showCreateFolderLink = ConfigUtil.getString(scope + "."
+                + VFSConstants.SHOW_CREATE_FOLDER_LINK, "true");
+        configForm.showUploadLink = ConfigUtil.getString(scope + "."
+                + VFSConstants.SHOW_UPLOAD_LINK, "true");
+        return "index.jsp";
+    }
+
+    @Execute(validator = false, input = "index.jsp")
+    public String index() {
+        ConfigUtil.init(request);
+        return displayIndex();
+    }
+
+    @Execute(validator = false, input = "index.jsp")
+    public String update() {
+        ConfigUtil.init(request);
+        String scope = VFSUtil.getScope(request);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.AVAILABLE,
+                configForm.available);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.DEFAULT_URI,
+                configForm.defaultUri);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.ACCEPT_PATHS,
+                configForm.acceptPaths);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.DENY_PATHS,
+                configForm.denyPaths);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.SHOW_PATH,
+                configForm.showPath);
+        ConfigUtil.setProperty(scope + "."
+                + VFSConstants.SHOW_CREATE_FOLDER_LINK,
+                configForm.showCreateFolderLink);
+        ConfigUtil.setProperty(scope + "." + VFSConstants.SHOW_UPLOAD_LINK,
+                configForm.showUploadLink);
+        try {
+            ConfigUtil.save();
+            SAStrutsUtil.addMessage(request, "success.update_config");
+
+            return displayIndex();
+        } catch (ConfigurationException e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_update_config");
+        }
+    }
+
+    public ConfigForm getConfigForm() {
+        return configForm;
+    }
+
+    public void setConfigForm(ConfigForm configForm) {
+        this.configForm = configForm;
+    }
+
+    public HttpServletRequest getRequest() {
+        return request;
+    }
+
+    public void setRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+
+}


Property changes on: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ConfigAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ListAction.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ListAction.java	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/action/ListAction.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -39,6 +39,14 @@
 
     public List<FileParameterHelper> fileItems;
 
+    public boolean available;
+
+    public boolean showPath;
+
+    public boolean showCreateFolderLink;
+
+    public boolean showUploadLink;
+
     @ActionForm
     private ListForm listForm;
 
@@ -54,6 +62,14 @@
                 listForm.scope + "." + VFSConstants.USERNAME,
                 request.getRemoteUser(), PortletSession.APPLICATION_SCOPE);
         fileItems = createFileItems();
+        available = ConfigUtil.getBoolean(listForm.scope + "."
+                + VFSConstants.AVAILABLE, false);
+        showPath = ConfigUtil.getBoolean(listForm.scope + "."
+                + VFSConstants.SHOW_PATH);
+        showCreateFolderLink = ConfigUtil.getBoolean(listForm.scope + "."
+                + VFSConstants.SHOW_CREATE_FOLDER_LINK);
+        showUploadLink = ConfigUtil.getBoolean(listForm.scope + "."
+                + VFSConstants.SHOW_UPLOAD_LINK);
         return "index.jsp";
     }
 

Added: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ConfigForm.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ConfigForm.java	                        (rev 0)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ConfigForm.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -0,0 +1,31 @@
+package jp.sf.pal.vfs.form;
+
+import java.io.Serializable;
+
+import org.seasar.struts.annotation.Required;
+
+public class ConfigForm implements Serializable {
+
+    private static final long serialVersionUID = 1089309559852652620L;
+
+    @Required(target = "update")
+    public String available;
+
+    @Required(target = "update")
+    public String defaultUri;
+
+    @Required(target = "update")
+    public String acceptPaths;
+
+    @Required(target = "update")
+    public String denyPaths;
+
+    @Required(target = "update")
+    public String showPath;
+
+    @Required(target = "update")
+    public String showCreateFolderLink;
+
+    @Required(target = "update")
+    public String showUploadLink;
+}


Property changes on: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ConfigForm.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ListForm.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ListForm.java	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/form/ListForm.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -2,7 +2,6 @@
 
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
 
 import jp.sf.pal.vfs.VFSException;
 import jp.sf.pal.vfs.util.VFSUtil;

Modified: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/helper/impl/FileParameterHelperImpl.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/helper/impl/FileParameterHelperImpl.java	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/helper/impl/FileParameterHelperImpl.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -21,7 +21,6 @@
 import jp.sf.pal.vfs.helper.FileParameterHelper;
 import jp.sf.pal.vfs.util.VFSUtil;
 
-import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.vfs.FileObject;

Modified: vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/util/VFSUtil.java
===================================================================
--- vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/util/VFSUtil.java	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/java/jp/sf/pal/vfs/util/VFSUtil.java	2008-10-25 13:17:39 UTC (rev 1239)
@@ -26,6 +26,7 @@
 import jp.sf.pal.vfs.common.util.SAStrutsUtil;
 
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang.StringUtils;
 import org.apache.commons.vfs.FileSystemManager;
 import org.seasar.framework.container.factory.SingletonS2ContainerFactory;
 
@@ -74,7 +75,7 @@
     public static String[] getAcceptPaths(String scope) {
         String acceptPathString = ConfigUtil.getString(scope + "."
                 + VFSConstants.ACCEPT_PATHS);
-        if (acceptPathString == null) {
+        if (StringUtils.isEmpty(acceptPathString)) {
             return new String[0];
         } else {
             return acceptPathString.split(",");
@@ -95,7 +96,7 @@
     public static String[] getDenyPaths(String scope) {
         String denyPathString = ConfigUtil.getString(scope + "."
                 + VFSConstants.DENY_PATHS);
-        if (denyPathString == null) {
+        if (StringUtils.isEmpty(denyPathString)) {
             return new String[0];
         } else {
             return denyPathString.split(",");

Modified: vfs-portlets/trunk/src/main/resources/application.properties
===================================================================
--- vfs-portlets/trunk/src/main/resources/application.properties	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/resources/application.properties	2008-10-25 13:17:39 UTC (rev 1239)
@@ -24,6 +24,7 @@
 errors.email={0} is an invalid e-mail address.
 errors.url={0} is an invalid url (web address).
 
+errors.failed_to_update_config=Failed to update the configuration.
 errors.access_denied=Access denied.
 errors.file_system_error=The file system error occurs.
 errors.failed_to_create_folder=Failed to create a new folder.
@@ -36,6 +37,7 @@
 errors.failed_to_delete_file=Failed to delete the file.
 errors.unknow_object={0} is an unknown object.
 
+success.update_config=Updated configuration.
 success.create_folder=Created a new folder.
 success.upload_file=Upload the file.
 success.delete_folder=Deleted the folder.

Added: vfs-portlets/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml
===================================================================
--- vfs-portlets/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml	                        (rev 0)
+++ vfs-portlets/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml	2008-10-25 13:17:39 UTC (rev 1239)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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-app xmlns="http://portals.apache.org/jetspeed" xmlns:js="http://portals.apache.org/jetspeed" xmlns:dc="http://www.purl.org/dc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="vfs-portlet" version="1.0" xsi:schemaLocation="http://portals.apache.org/jetspeed http://portals.apache.org/jetspeed-2/2.1/schemas/jetspeed-portlet.xsd">
+  <dc:title>VFS Portlet</dc:title>
+  <dc:creator>PAL Project</dc:creator>
+  <portlet>
+    <portlet-name>VFSDefaultConfigurator</portlet-name>
+    <js:security-constraint-ref>admin</js:security-constraint-ref>
+  </portlet>
+<!--
+  <js:services>
+    <js:service name="SecurityProvider"/>
+    <js:service name="UserManager"/>
+    <js:service name="PageManager"/>
+    <js:service name="PortalAdministration"/>
+    <js:service name="GroupManager"/>
+    <js:service name="RoleManager"/>
+    <js:service name="ApplicationServerManager"/>
+    <js:service name="DeploymentManager"/>
+    <js:service name="EntityAccessor"/>
+    <js:service name="WindowAccessor"/>
+    <js:service name="PermissionManager"/>
+    <js:service name="PortalAdministration"/>
+    <js:service name="PortletFactory"/>
+    <js:service name="PortletRegistryComponent"/>
+    <js:service name="PortalStatistics"/>
+    <js:service name="Profiler"/>
+    <js:service name="SearchComponent"/>
+    <js:service name="SSO"/>
+    <js:service name="DecorationFactory"/>
+    <js:service name="SecurityAccessController"/>
+    <js:service name="PortletTrackingManager"/>
+    <js:service name="AuditActivity"/>
+  </js:services>
+-->
+</portlet-app>


Property changes on: vfs-portlets/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: vfs-portlets/trunk/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- vfs-portlets/trunk/src/main/webapp/WEB-INF/portlet.xml	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/webapp/WEB-INF/portlet.xml	2008-10-25 13:17:39 UTC (rev 1239)
@@ -20,7 +20,7 @@
     xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
   <portlet>
     <description>Display a file system.</description>
-    <portlet-name>VFSPortlet</portlet-name>
+    <portlet-name>VFSDefaultExplorer</portlet-name>
     <display-name>VFS: Explorer</display-name>
     <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
     <init-param>
@@ -44,5 +44,31 @@
       <keywords>VFS,Explorer</keywords>
     </portlet-info>
   </portlet>
+  <portlet>
+    <description>Manage a default configuration.</description>
+    <portlet-name>VFSDefaultConfigurator</portlet-name>
+    <display-name>VFS: Configurator</display-name>
+    <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
+    <init-param>
+      <name>viewPage</name>
+      <value>/config/</value>
+    </init-param>
+    <init-param>
+      <name>scope</name>
+      <value>default</value>
+    </init-param>
+    <expiration-cache>0</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>VIEW</portlet-mode>
+    </supports>
+    <supported-locale>en</supported-locale>
+    <supported-locale>ja</supported-locale>
+    <portlet-info>
+      <title>VFS Configurator</title>
+      <short-title>Configurator</short-title>
+      <keywords>VFS,Configuration</keywords>
+    </portlet-info>
+  </portlet>
 </portlet-app>
 

Modified: vfs-portlets/trunk/src/main/webapp/WEB-INF/vfs.xml
===================================================================
--- vfs-portlets/trunk/src/main/webapp/WEB-INF/vfs.xml	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/webapp/WEB-INF/vfs.xml	2008-10-25 13:17:39 UTC (rev 1239)
@@ -1,3 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
+<default>
+<available>false</available>
+<default-uri>file:///</default-uri>
+<accept-paths/>
+<deny-paths/>
+<show-path>true</show-path>
+<show-create-folder-link>true</show-create-folder-link>
+<show-upload-link>true</show-upload-link>
+</default>
 </configuration>

Added: vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/index.jsp
===================================================================
--- vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/index.jsp	                        (rev 0)
+++ vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/index.jsp	2008-10-25 13:17:39 UTC (rev 1239)
@@ -0,0 +1,72 @@
+<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<title></title>
+</head>
+<body>
+<div style="padding:3px;">
+<div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
+<div class="form-table">
+<s:form>
+<table>
+	<caption>Configuration</caption>
+	<tbody>
+		<tr>
+			<th>Scope</th>
+			<td>${f:h(scope)}</td>
+		</tr>
+		<tr>
+			<th>Available</th>
+			<td><html:select property="available">
+<html:option value="true">True</html:option>
+<html:option value="false">False</html:option>
+			</html:select></td>
+		</tr>
+		<tr>
+			<th>Default URI</th>
+			<td><html:text property="defaultUri"/></td>
+		</tr>
+		<tr>
+			<th>Accepted Paths</th>
+			<td><html:text property="acceptPaths"/></td>
+		</tr>
+		<tr>
+			<th>Denied Paths</th>
+			<td><html:text property="denyPaths"/></td>
+		</tr>
+		<tr>
+			<th>Show Path</th>
+			<td><html:select property="showPath">
+<html:option value="true">True</html:option>
+<html:option value="false">False</html:option>
+			</html:select></td>
+		</tr>
+		<tr>
+			<th>Show Create Folder Link</th>
+			<td><html:select property="showCreateFolderLink">
+<html:option value="true">True</html:option>
+<html:option value="false">False</html:option>
+			</html:select></td>
+		</tr>
+		<tr>
+			<th>Show Upload Link</th>
+			<td><html:select property="showUploadLink">
+<html:option value="true">True</html:option>
+<html:option value="false">False</html:option>
+			</html:select></td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<td colspan="2">
+<input type="submit" name="update" value="更新"/>
+			</td>
+		</tr>
+	</tfoot>
+</table>
+</s:form>
+</div>
+</div>
+</body>
+</html>


Property changes on: vfs-portlets/trunk/src/main/webapp/WEB-INF/view/config/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: vfs-portlets/trunk/src/main/webapp/WEB-INF/view/list/index.jsp
===================================================================
--- vfs-portlets/trunk/src/main/webapp/WEB-INF/view/list/index.jsp	2008-10-25 01:46:02 UTC (rev 1238)
+++ vfs-portlets/trunk/src/main/webapp/WEB-INF/view/list/index.jsp	2008-10-25 13:17:39 UTC (rev 1239)
@@ -5,20 +5,27 @@
 <title></title>
 </head>
 <body>
+<c:if test="${available}">
 <div style="padding:3px;">
 
 <div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
 
 <div style="margin:5px;">
+<c:if test="${showCreateFolderLink}">
 <s:link href="/newfolder/createpage/${f:u(encodedUri)}">Create New Folder</s:link>
-|
+</c:if>
+<c:if test="${showCreateFolderLink && showUploadLink}">|</c:if>
+<c:if test="${showUploadLink}">
 <s:link href="/upload/createpage/${f:u(encodedUri)}">Upload File</s:link>
+</c:if>
 </div>
+<c:if test="${showPath}">
 <div style="margin:5px;">
 <s:form>
 Path: <html:text property="uri" size="50"/><input type="submit" name="go" value="Go"/>
 </s:form>
 </div>
+</c:if>
 <div class="list-table">
 <table border="1">
 	<thead>
@@ -54,6 +61,11 @@
 </table>
 </div>
 </div>
-
+</c:if>
+<c:if test="${!available}">
+<div>
+Not Available.
+</div>
+</c:if>
 </body>
 </html>


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