[pal-cvs 3486] [1220] added admin tool, and bug fixes.

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2008年 10月 16日 (木) 09:13:48 JST


Revision: 1220
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=1220
Author:   shinsuke
Date:     2008-10-16 09:13:48 +0900 (Thu, 16 Oct 2008)

Log Message:
-----------
added admin tool, and bug fixes.

Modified Paths:
--------------
    bookmark/trunk/src/main/config/sql/bookmark.dml
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/category/EditAction.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/link/ViewAction.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/CategoryDxo.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/LinkDxo.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/CategoryPager.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/LinkPager.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/CategoryService.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/LinkService.java
    bookmark/trunk/src/main/resources/application.properties
    bookmark/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml
    bookmark/trunk/src/main/webapp/WEB-INF/portlet.xml
    bookmark/trunk/src/main/webapp/WEB-INF/view/category/edit/index.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/confirm.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/index.jsp

Added Paths:
-----------
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/CategoryAction.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/LinkAction.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/CategoryForm.java
    bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/LinkForm.java
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/confirm.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/edit.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/error.jsp
    bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/index.jsp


-------------- next part --------------
Modified: bookmark/trunk/src/main/config/sql/bookmark.dml
===================================================================
--- bookmark/trunk/src/main/config/sql/bookmark.dml	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/config/sql/bookmark.dml	2008-10-16 00:13:48 UTC (rev 1220)
@@ -1,2 +1,2 @@
-insert into CATEGORY (ID, NAME, CREATED_TIME, CREATED_BY, SORT_ORDER, UPDATED_TIME, UPDATED_BY, VERSIONNO, MEMO) values (1, '(Unclassified)', '2008-10-15 17:17:37', 'system', 1, '2008-10-15 17:17:37', 'system', 0, '');
-insert into CATEGORY (ID, NAME, CREATED_TIME, CREATED_BY, SORT_ORDER, UPDATED_TIME, UPDATED_BY, VERSIONNO, MEMO) values (2, '(Shared)', '2008-10-15 17:17:37', 'system', 1, '2008-10-15 17:17:37', 'system', 0, '');
+insert into CATEGORY (ID, NAME, CREATED_TIME, CREATED_BY, SORT_ORDER, UPDATED_TIME, UPDATED_BY, VERSIONNO, MEMO) values (1, '(Unclassified)', '2008-10-15 17:17:37', 'admin', 1, '2008-10-15 17:17:37', 'admin', 0, '');
+insert into CATEGORY (ID, NAME, CREATED_TIME, CREATED_BY, SORT_ORDER, UPDATED_TIME, UPDATED_BY, VERSIONNO, MEMO) values (2, '(Shared)', '2008-10-15 17:17:37', 'admin', 1, '2008-10-15 17:17:37', 'admin', 0, '');

Added: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/CategoryAction.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/CategoryAction.java	                        (rev 0)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/CategoryAction.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,316 @@
+package jp.sf.pal.bookmark.action.admin;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import jp.sf.pal.bookmark.BookmarkConstants;
+import jp.sf.pal.bookmark.db.exentity.Category;
+import jp.sf.pal.bookmark.dxo.CategoryDxo;
+import jp.sf.pal.bookmark.dxo.PagerDxo;
+import jp.sf.pal.bookmark.form.admin.CategoryForm;
+import jp.sf.pal.bookmark.pager.CategoryPager;
+import jp.sf.pal.bookmark.service.CategoryService;
+import jp.sf.pal.bookmark.util.BookmarkUtil;
+
+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 CategoryAction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final Log log = LogFactory.getLog(CategoryAction.class);
+
+    // for list
+
+    public List<Category> categoryItems;
+
+    // for edit/confirm/delete
+
+    @ActionForm
+    private CategoryForm categoryForm;
+
+    private CategoryService categoryService;
+
+    private CategoryPager categoryPager;
+
+    private PagerDxo pagerDxo;
+
+    private CategoryDxo categoryDxo;
+
+    private transient HttpServletRequest request;
+
+    protected String displayList() {
+        // page navi
+        categoryPager.setCreatedBy(null);
+        categoryItems = categoryService.getCategoryList(categoryPager);
+        return "index.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String index() {
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}")
+    public String list() {
+        pagerDxo.convert(categoryForm, categoryPager);
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String back() {
+        // reset edit page
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String editagain() {
+        return "edit.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{mode}/{id}")
+    public String confirmpage() {
+        if (categoryForm.mode != BookmarkConstants.CONFIRM_MODE) {
+            throw new ActionMessagesException("errors.invalid.mode",
+                    new Object[] { BookmarkConstants.CONFIRM_MODE,
+                            categoryForm.mode });
+        }
+
+        // update edit page
+
+        loadCategory();
+
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String createpage() {
+        // page navi
+        categoryForm.initialize();
+        categoryForm.mode = BookmarkConstants.CREATE_MODE;
+
+        // update edit page
+
+        return "edit.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "editpage/{mode}/{id}")
+    public String editpage() {
+        if (categoryForm.mode != BookmarkConstants.EDIT_MODE) {
+            throw new ActionMessagesException("errors.invalid.mode",
+                    new Object[] { BookmarkConstants.EDIT_MODE,
+                            categoryForm.mode });
+        }
+
+        // update edit page
+
+        loadCategory();
+
+        return "edit.jsp";
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String confirm() {
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "deletepage/{mode}/{id}")
+    public String deletepage() {
+        if (categoryForm.mode != BookmarkConstants.DELETE_MODE) {
+            throw new ActionMessagesException("errors.invalid.mode",
+                    new Object[] { BookmarkConstants.DELETE_MODE,
+                            categoryForm.mode });
+        }
+
+        // update edit page
+
+        loadCategory();
+
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "moveup/{id}")
+    public String moveup() {
+        if (categoryForm.id == null) {
+            throw new ActionMessagesException("errors.invalid.id");
+        }
+        Category category = categoryService.getCategory(Integer
+                .parseInt(categoryForm.id));
+        if (category == null) {
+            throw new ActionMessagesException("errors.could_not_find_category",
+                    new Object[] { categoryForm.id });
+        }
+        try {
+            categoryService.moveUp(category);
+            BookmarkUtil.addMessage(request, "success.move_category_up");
+        } catch (ActionMessagesException e) {
+            throw e;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_category");
+        }
+        return list();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "movedown/{id}")
+    public String movedown() {
+        if (categoryForm.id == null) {
+            throw new ActionMessagesException("errors.invalid.id");
+        }
+        Category category = categoryService.getCategory(Integer
+                .parseInt(categoryForm.id));
+        if (category == null) {
+            throw new ActionMessagesException("errors.could_not_find_category",
+                    new Object[] { categoryForm.id });
+        }
+        try {
+            categoryService.moveDown(category);
+            BookmarkUtil.addMessage(request, "success.move_category_down");
+        } catch (ActionMessagesException e) {
+            throw e;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_category");
+        }
+        return list();
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String create() {
+        try {
+            Category category = createCategory();
+            categoryService.store(category);
+            BookmarkUtil.addMessage(request, "success.create_category");
+            // reset edit page
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_create_category");
+        }
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String update() {
+        try {
+            Category category = createCategory();
+            categoryService.store(category);
+            BookmarkUtil.addMessage(request, "success.update_category");
+            // reset edit page
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_update_category");
+        }
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String delete() {
+        try {
+            categoryService.disable(Integer.parseInt(categoryForm.id), request
+                    .getRemoteUser());
+            BookmarkUtil.addMessage(request, "success.delete_category");
+            // reset edit page
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException(
+                    "errors.failed_to_delete_category");
+        }
+    }
+
+    private void loadCategory() {
+        Integer categoryId = Integer.parseInt(categoryForm.id);
+
+        Category category = categoryService.getCategory(categoryId);
+        if (category == null) {
+            // throw an exception
+            throw new ActionMessagesException("errors.could_not_find_category",
+                    new Object[] { categoryId });
+        }
+        categoryDxo.convertFromCategoryToForm(category, categoryForm);
+
+    }
+
+    private Category createCategory() {
+        Category category;
+        if (categoryForm.mode == BookmarkConstants.EDIT_MODE) {
+            Integer categoryId = Integer.parseInt(categoryForm.id);
+            category = categoryService.getCategory(categoryId);
+            category.setUpdatedBy(request.getRemoteUser());
+        } else {
+            category = new Category();
+            String remoteUser = request.getRemoteUser();
+            category.setUpdatedBy(remoteUser);
+            category.setCreatedBy(remoteUser);
+        }
+        categoryDxo.convertFromFormToCategory(categoryForm, category);
+
+        return category;
+
+    }
+
+    /**
+     * @return the request
+     */
+    public HttpServletRequest getRequest() {
+        return request;
+    }
+
+    /**
+     * @param request the request to set
+     */
+    public void setRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+
+    public CategoryService getCategoryService() {
+        return categoryService;
+    }
+
+    public void setCategoryService(CategoryService categoryService) {
+        this.categoryService = categoryService;
+    }
+
+    public CategoryPager getCategoryPager() {
+        return categoryPager;
+    }
+
+    public void setCategoryPager(CategoryPager categoryPager) {
+        this.categoryPager = categoryPager;
+    }
+
+    public PagerDxo getPagerDxo() {
+        return pagerDxo;
+    }
+
+    public void setPagerDxo(PagerDxo pagerDxo) {
+        this.pagerDxo = pagerDxo;
+    }
+
+    public CategoryDxo getCategoryDxo() {
+        return categoryDxo;
+    }
+
+    public void setCategoryDxo(CategoryDxo categoryDxo) {
+        this.categoryDxo = categoryDxo;
+    }
+
+    public CategoryForm getCategoryForm() {
+        return categoryForm;
+    }
+
+    public void setCategoryForm(CategoryForm categoryForm) {
+        this.categoryForm = categoryForm;
+    }
+
+}


Property changes on: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/CategoryAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/LinkAction.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/LinkAction.java	                        (rev 0)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/LinkAction.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,314 @@
+package jp.sf.pal.bookmark.action.admin;
+
+import java.io.Serializable;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import jp.sf.pal.bookmark.BookmarkConstants;
+import jp.sf.pal.bookmark.db.exentity.Link;
+import jp.sf.pal.bookmark.dxo.LinkDxo;
+import jp.sf.pal.bookmark.dxo.PagerDxo;
+import jp.sf.pal.bookmark.form.admin.LinkForm;
+import jp.sf.pal.bookmark.pager.LinkPager;
+import jp.sf.pal.bookmark.service.CategoryService;
+import jp.sf.pal.bookmark.service.LinkService;
+import jp.sf.pal.bookmark.util.BookmarkUtil;
+
+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 LinkAction implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private static final Log log = LogFactory.getLog(LinkAction.class);
+
+    // for list
+
+    public List<Link> linkItems;
+
+    // for edit/confirm/delete
+
+    @ActionForm
+    private LinkForm linkForm;
+
+    private LinkService linkService;
+
+    private CategoryService categoryService;
+
+    private LinkPager linkPager;
+
+    private PagerDxo pagerDxo;
+
+    private LinkDxo linkDxo;
+
+    private transient HttpServletRequest request;
+
+    protected String displayList() {
+        String username = request.getRemoteUser();
+
+        // page navi
+        linkPager.setCreatedBy(null);
+        linkPager.setCategoryId(null);
+        linkItems = linkService.getLinkList(linkPager);
+
+        return "index.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String index() {
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}")
+    public String list() {
+        // page navi
+        pagerDxo.convert(linkForm, linkPager);
+
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "select/{categoryId}")
+    public String select() {
+        linkPager.setCategoryId(Integer.parseInt(linkForm.categoryId));
+
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String back() {
+        // reset edit page
+        loadListPageParameters();
+
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String editagain() {
+        return "edit.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{mode}/{id}")
+    public String confirmpage() {
+        if (linkForm.mode != BookmarkConstants.CONFIRM_MODE) {
+            throw new ActionMessagesException("errors.invalid.mode",
+                    new Object[] { BookmarkConstants.CONFIRM_MODE,
+                            linkForm.mode });
+        }
+
+        // update edit page
+        loadDetailsPageParameters();
+
+        loadLink();
+
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String createpage() {
+        // page navi
+        linkForm.initialize();
+        linkForm.mode = BookmarkConstants.CREATE_MODE;
+
+        // update edit page
+        loadDetailsPageParameters();
+
+        return "edit.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String editpage() {
+        linkForm.mode = BookmarkConstants.EDIT_MODE;
+
+        // update edit page
+        loadDetailsPageParameters();
+
+        loadLink();
+
+        return "edit.jsp";
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String confirm() {
+
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String deletepage() {
+        linkForm.mode = BookmarkConstants.DELETE_MODE;
+
+        // update edit page
+        loadDetailsPageParameters();
+
+        loadLink();
+
+        return "confirm.jsp";
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String create() {
+        try {
+            Link link = createLink();
+            linkService.store(link);
+            BookmarkUtil.addMessage(request, "success.create_link");
+
+            // reset edit page
+            loadListPageParameters();
+
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_create_link");
+        }
+    }
+
+    @Execute(validator = true, input = "edit.jsp")
+    public String update() {
+        try {
+            Link link = createLink();
+            linkService.store(link);
+            BookmarkUtil.addMessage(request, "success.update_link");
+
+            // reset edit page
+            loadListPageParameters();
+
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_update_link");
+        }
+    }
+
+    @Execute(validator = false, input = "error.jsp")
+    public String delete() {
+        try {
+            linkService.disable(Long.parseLong(linkForm.id), request
+                    .getRemoteUser());
+            BookmarkUtil.addMessage(request, "success.delete_link");
+
+            // reset edit page
+            loadListPageParameters();
+
+            return displayList();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_delete_link");
+        }
+    }
+
+    private void loadLink() {
+        Long linkId = Long.parseLong(linkForm.id);
+
+        Link link = linkService.getLink(linkId);
+        if (link == null) {
+            // throw an exception
+            throw new ActionMessagesException("errors.could_not_find_link",
+                    new Object[] { linkId });
+        }
+        linkDxo.convertFromLinkToForm(link, linkForm);
+
+    }
+
+    private Link createLink() {
+        Link link;
+        if (linkForm.mode == BookmarkConstants.EDIT_MODE) {
+            Long linkId = Long.parseLong(linkForm.id);
+            link = linkService.getLink(linkId);
+            link.setUpdatedBy(request.getRemoteUser());
+        } else {
+            link = new Link();
+            String remoteUser = request.getRemoteUser();
+            link.setUpdatedBy(remoteUser);
+            link.setCreatedBy(remoteUser);
+        }
+        linkDxo.convertFromFormToLink(linkForm, link);
+
+        return link;
+    }
+
+    private void loadListPageParameters() {
+    }
+
+    private void loadDetailsPageParameters() {
+    }
+
+    /**
+     * @return the request
+     */
+    public HttpServletRequest getRequest() {
+        return request;
+    }
+
+    /**
+     * @param request the request to set
+     */
+    public void setRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+
+    public LinkService getMessageService() {
+        return linkService;
+    }
+
+    public void setLinkService(LinkService linkService) {
+        this.linkService = linkService;
+    }
+
+    public LinkPager getMessagePager() {
+        return linkPager;
+    }
+
+    public void setLinkPager(LinkPager linkPager) {
+        this.linkPager = linkPager;
+    }
+
+    public PagerDxo getPagerDxo() {
+        return pagerDxo;
+    }
+
+    public void setPagerDxo(PagerDxo pagerDxo) {
+        this.pagerDxo = pagerDxo;
+    }
+
+    public LinkDxo getMessageDxo() {
+        return linkDxo;
+    }
+
+    public void setLinkDxo(LinkDxo linkDxo) {
+        this.linkDxo = linkDxo;
+    }
+
+    public CategoryService getCategoryService() {
+        return categoryService;
+    }
+
+    public void setCategoryService(CategoryService categoryService) {
+        this.categoryService = categoryService;
+    }
+
+    public LinkService getLinkService() {
+        return linkService;
+    }
+
+    public LinkPager getLinkPager() {
+        return linkPager;
+    }
+
+    public LinkDxo getLinkDxo() {
+        return linkDxo;
+    }
+
+    public LinkForm getLinkForm() {
+        return linkForm;
+    }
+
+    public void setLinkForm(LinkForm linkForm) {
+        this.linkForm = linkForm;
+    }
+
+}


Property changes on: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/admin/LinkAction.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/category/EditAction.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/category/EditAction.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/category/EditAction.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -155,7 +155,7 @@
             throw new ActionMessagesException(
                     "errors.failed_to_update_category");
         }
-        return list();
+        return displayList();
     }
 
     @Execute(validator = false, input = "error.jsp", urlPattern = "movedown/{id}")
@@ -179,7 +179,7 @@
             throw new ActionMessagesException(
                     "errors.failed_to_update_category");
         }
-        return list();
+        return displayList();
     }
 
     @Execute(validator = true, input = "edit.jsp")

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/link/ViewAction.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/link/ViewAction.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/action/link/ViewAction.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -171,6 +171,50 @@
         return "confirm.jsp";
     }
 
+    @Execute(validator = false, input = "error.jsp", urlPattern = "moveup/{id}")
+    public String moveup() {
+        if (viewForm.id == null) {
+            throw new ActionMessagesException("errors.invalid.id");
+        }
+        Link link = linkService.getLink(Long.parseLong(viewForm.id));
+        if (link == null) {
+            throw new ActionMessagesException("errors.could_not_find_link",
+                    new Object[] { viewForm.id });
+        }
+        try {
+            linkService.moveUp(link);
+            BookmarkUtil.addMessage(request, "success.move_link_up");
+        } catch (ActionMessagesException e) {
+            throw e;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_update_link");
+        }
+        return displayList();
+    }
+
+    @Execute(validator = false, input = "error.jsp", urlPattern = "movedown/{id}")
+    public String movedown() {
+        if (viewForm.id == null) {
+            throw new ActionMessagesException("errors.invalid.id");
+        }
+        Link link = linkService.getLink(Long.parseLong(viewForm.id));
+        if (link == null) {
+            throw new ActionMessagesException("errors.could_not_find_link",
+                    new Object[] { viewForm.id });
+        }
+        try {
+            linkService.moveDown(link);
+            BookmarkUtil.addMessage(request, "success.move_link_down");
+        } catch (ActionMessagesException e) {
+            throw e;
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            throw new ActionMessagesException("errors.failed_to_update_link");
+        }
+        return displayList();
+    }
+
     @Execute(validator = true, input = "edit.jsp")
     public String create() {
         try {

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/CategoryDxo.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/CategoryDxo.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/CategoryDxo.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 
 import jp.sf.pal.bookmark.db.exentity.Category;
+import jp.sf.pal.bookmark.form.admin.CategoryForm;
 import jp.sf.pal.bookmark.form.category.EditForm;
 
 import org.seasar.extension.dxo.annotation.ConversionRule;
@@ -44,4 +45,35 @@
     )
     public void convertFromFormToCategory(EditForm form, Category category);
 
+    @ExcludeNull
+    @DatePattern("yyyy/MM/dd")
+    @TimestampPattern("yyyy/MM/dd HH:mm:ss")
+    @ConversionRule("id : id" //
+            + ", name : name" //
+            + ", memo : memo" //
+            + ", sortOrder : sortOrder" //
+            + ", createdTime : createdTime" //
+            + ", createdBy : createdBy" //
+            + ", updatedTime : updatedTime" //
+            + ", updatedBy : updatedBy" //
+            + ", deletedTime : deletedTime" //
+            + ", deletedBy : deletedBy" //
+            // + ", versionno : versionno" //
+    )
+    public void convertFromCategoryToForm(Category category, CategoryForm form);
+
+    @ExcludeNull
+    @ConversionRule(//
+    "name : name" //
+            + ", memo : memo" //
+            + ", sortOrder : sortOrder" //
+            // + ", createdTime : createdTime" //
+    // + ", createdBy : createdBy" //
+    // + ", updatedTime : updatedTime" //
+    // + ", updatedBy : updatedBy" //
+    // + ", deletedTime : deletedTime" //
+    // + ", deletedBy : deletedBy" //
+    // + ", versionno : versionno" //
+    )
+    public void convertFromFormToCategory(CategoryForm form, Category category);
 }

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/LinkDxo.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/LinkDxo.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/dxo/LinkDxo.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -3,6 +3,7 @@
 import java.io.Serializable;
 
 import jp.sf.pal.bookmark.db.exentity.Link;
+import jp.sf.pal.bookmark.form.admin.LinkForm;
 import jp.sf.pal.bookmark.form.link.ViewForm;
 
 import org.seasar.extension.dxo.annotation.ConversionRule;
@@ -51,4 +52,42 @@
     )
     public void convertFromFormToLink(ViewForm form, Link link);
 
+    @ExcludeNull
+    @DatePattern("yyyy/MM/dd")
+    @TimestampPattern("yyyy/MM/dd HH:mm:ss")
+    @ConversionRule("id : id" //
+            + ", name : name" //
+            + ", memo : memo" //
+            + ", url : url" //
+            + ", type : type" //
+            + ", sortOrder : sortOrder" //
+            + ", categoryId : categoryId" //
+            + ", createdTime : createdTime" //
+            + ", createdBy : createdBy" //
+            + ", updatedTime : updatedTime" //
+            + ", updatedBy : updatedBy" //
+            + ", deletedTime : deletedTime" //
+            + ", deletedBy : deletedBy" //
+            // + ", versionno : versionno" //
+    )
+    public void convertFromLinkToForm(Link link, LinkForm form);
+
+    @ExcludeNull
+    @TimestampPattern("yyyy/MM/dd HH:mm:ss")
+    @ConversionRule(//
+    "name : name" //
+            + ", memo : memo" //
+            + ", url : url" //
+            + ", type : type" //
+            + ", sortOrder : sortOrder" //
+            // + ", categoryId : categoryId" //
+    // + ", createdTime : createdTime" //
+    // + ", createdBy : createdBy" //
+    // + ", updatedTime : updatedTime" //
+    // + ", updatedBy : updatedBy" //
+    // + ", deletedTime : deletedTime" //
+    // + ", deletedBy : deletedBy" //
+    // + ", versionno : versionno" //
+    )
+    public void convertFromFormToLink(LinkForm form, Link link);
 }

Added: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/CategoryForm.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/CategoryForm.java	                        (rev 0)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/CategoryForm.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,69 @@
+package jp.sf.pal.bookmark.form.admin;
+
+import java.io.Serializable;
+
+import jp.sf.pal.bookmark.BookmarkConstants;
+import jp.sf.pal.bookmark.form.PagingResultForm;
+
+import org.seasar.struts.annotation.DateType;
+import org.seasar.struts.annotation.IntegerType;
+import org.seasar.struts.annotation.LongType;
+import org.seasar.struts.annotation.Maxbytelength;
+import org.seasar.struts.annotation.Required;
+
+public class CategoryForm implements Serializable, PagingResultForm {
+
+    private static final long serialVersionUID = 1L;
+
+    @LongType
+    public String id;
+
+    @IntegerType
+    public int mode;
+
+    @IntegerType
+    public String pageNumber;
+
+    @Required(target = "confirm,create,update,delete")
+    @Maxbytelength(maxbytelength = 100)
+    public String name;
+
+    @Maxbytelength(maxbytelength = 200)
+    public String memo;
+
+    @IntegerType
+    public String sortOrder;
+
+    @DateType
+    public String createdTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String createdBy;
+
+    @DateType
+    public String updatedTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String updatedBy;
+
+    @DateType
+    public String deletedTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String deletedBy;
+
+    public void initialize() {
+        mode = BookmarkConstants.LIST_MODE;
+        id = null;
+        name = null;
+        memo = null;
+        sortOrder = null;
+        createdTime = null;
+        createdBy = null;
+        updatedTime = null;
+        updatedBy = null;
+        deletedTime = null;
+        deletedBy = null;
+
+    }
+}


Property changes on: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/CategoryForm.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/LinkForm.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/LinkForm.java	                        (rev 0)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/LinkForm.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,80 @@
+package jp.sf.pal.bookmark.form.admin;
+
+import java.io.Serializable;
+
+import jp.sf.pal.bookmark.BookmarkConstants;
+import jp.sf.pal.bookmark.form.PagingResultForm;
+
+import org.seasar.struts.annotation.DateType;
+import org.seasar.struts.annotation.IntegerType;
+import org.seasar.struts.annotation.Maxbytelength;
+import org.seasar.struts.annotation.Required;
+
+public class LinkForm implements Serializable, PagingResultForm {
+
+    private static final long serialVersionUID = 1L;
+
+    @IntegerType
+    public String id;
+
+    @IntegerType
+    public int mode;
+
+    @Required(target = "confirm,create,update,delete")
+    @Maxbytelength(maxbytelength = 100)
+    public String name;
+
+    @Maxbytelength(maxbytelength = 200)
+    public String memo;
+
+    public String url;
+
+    public String type;
+
+    @IntegerType
+    public String sortOrder;
+
+    @Required(target = "confirm,create,update,delete")
+    @IntegerType
+    public String categoryId;
+
+    @DateType
+    public String createdTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String createdBy;
+
+    @DateType
+    public String updatedTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String updatedBy;
+
+    @DateType
+    public String deletedTime;
+
+    @Maxbytelength(maxbytelength = 255)
+    public String deletedBy;
+
+    @IntegerType
+    public String pageNumber;
+
+    public void initialize() {
+        mode = BookmarkConstants.LIST_MODE;
+        id = null;
+        name = null;
+        memo = null;
+        url = null;
+        type = null;
+        sortOrder = null;
+        categoryId = null;
+        createdTime = null;
+        createdBy = null;
+        updatedTime = null;
+        updatedBy = null;
+        deletedTime = null;
+        deletedBy = null;
+
+    }
+
+}


Property changes on: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/form/admin/LinkForm.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/CategoryPager.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/CategoryPager.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/CategoryPager.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -4,7 +4,7 @@
     private String createdBy;
 
     protected int getDefaultPageSize() {
-        return 10;
+        return 20;
     }
 
     public String getCreatedBy() {

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/LinkPager.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/LinkPager.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/pager/LinkPager.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -12,17 +12,14 @@
 
     public LinkPager() {
         createdBy = null;
-        categoryId = null;
+        categoryId = BookmarkConstants.DEFAULT_CATEGORY_ID;
     }
 
     protected int getDefaultPageSize() {
-        return 10;
+        return 20;
     }
 
     public Integer getCategoryId() {
-        if (categoryId == null) {
-            categoryId = BookmarkConstants.DEFAULT_CATEGORY_ID;
-        }
         return categoryId;
     }
 

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/CategoryService.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/CategoryService.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/CategoryService.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -123,6 +123,7 @@
             categoryBhv.update(targetCategory);
             categoryBhv.update(category);
         } else {
+            // TODO replace with CommonException
             throw new ActionMessagesException(
                     "errors.could_not_find_category_for_moving_up");
         }
@@ -143,6 +144,7 @@
             categoryBhv.update(targetCategory);
             categoryBhv.update(category);
         } else {
+            // TODO replace with CommonException
             throw new ActionMessagesException(
                     "errors.could_not_find_category_for_moving_down");
         }

Modified: bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/LinkService.java
===================================================================
--- bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/LinkService.java	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/java/jp/sf/pal/bookmark/service/LinkService.java	2008-10-16 00:13:48 UTC (rev 1220)
@@ -14,6 +14,7 @@
 import jp.sf.pal.bookmark.util.PagingResultBeanWrapper;
 
 import org.seasar.framework.container.hotdeploy.HotdeployUtil;
+import org.seasar.struts.exception.ActionMessagesException;
 
 public class LinkService implements Serializable {
 
@@ -34,8 +35,12 @@
 
         // setup
 
-        cb.query().setCreatedBy_Equal(linkPager.getCreatedBy());
-        cb.query().setCategoryId_Equal(linkPager.getCategoryId());
+        if (linkPager.getCreatedBy() != null) {
+            cb.query().setCreatedBy_Equal(linkPager.getCreatedBy());
+        }
+        if (linkPager.getCategoryId() != null) {
+            cb.query().setCategoryId_Equal(linkPager.getCategoryId());
+        }
         cb.query().setDeletedBy_IsNull();
 
         cb.query().addOrderBy_SortOrder_Asc();
@@ -105,6 +110,48 @@
         linkBhv.update(link);
     }
 
+    public void moveUp(Link link) {
+        LinkCB cb = new LinkCB();
+        cb.fetchFirst(1);
+        cb.fetchFirst(1);
+        cb.query().setSortOrder_GreaterThan(link.getSortOrder());
+        cb.query().addOrderBy_SortOrder_Asc();
+        List<Link> linkList = linkBhv.selectPage(cb);
+        if (linkList != null && !linkList.isEmpty()) {
+            Link targetLink = linkList.get(0);
+            Integer sortOrder = targetLink.getSortOrder();
+            targetLink.setSortOrder(link.getSortOrder());
+            link.setSortOrder(sortOrder);
+            linkBhv.update(targetLink);
+            linkBhv.update(link);
+        } else {
+            // TODO replace with CommonException
+            throw new ActionMessagesException(
+                    "errors.could_not_find_link_for_moving_up");
+        }
+    }
+
+    public void moveDown(Link link) {
+        LinkCB cb = new LinkCB();
+        cb.fetchFirst(1);
+        cb.fetchFirst(1);
+        cb.query().setSortOrder_LessThan(link.getSortOrder());
+        cb.query().addOrderBy_SortOrder_Desc();
+        List<Link> linkList = linkBhv.selectPage(cb);
+        if (linkList != null && !linkList.isEmpty()) {
+            Link targetLink = linkList.get(0);
+            Integer sortOrder = targetLink.getSortOrder();
+            targetLink.setSortOrder(link.getSortOrder());
+            link.setSortOrder(sortOrder);
+            linkBhv.update(targetLink);
+            linkBhv.update(link);
+        } else {
+            // TODO replace with CommonException
+            throw new ActionMessagesException(
+                    "errors.could_not_find_link_for_moving_down");
+        }
+    }
+
     public LinkBhv getLinkBhv() {
         return linkBhv;
     }

Modified: bookmark/trunk/src/main/resources/application.properties
===================================================================
--- bookmark/trunk/src/main/resources/application.properties	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/resources/application.properties	2008-10-16 00:13:48 UTC (rev 1220)
@@ -23,7 +23,6 @@
 errors.creditcard={0} is not a valid credit card number.
 errors.email={0} is an invalid e-mail address.
 errors.url={0} is an invalid url (web address).
-labels.name=Name
 
 success.create_category=Created a category information.
 success.update_category=Updated the category information.
@@ -33,6 +32,8 @@
 success.create_link=Created a link information.
 success.update_link=Updated the link information.
 success.delete_link=Deleted the link information.
+success.move_link_up=Moved the link information up.
+success.move_link_down=Moved the link information down.
 
 errors.invalid.mode=Invalid mode(expected value is {0}, but it's {1}).
 errors.failed_to_create_category=Failed to create a new category information.
@@ -47,3 +48,5 @@
 errors.failed_to_update_link=Failed to update the link information.
 errors.failed_to_delete_link=Failed to delete the link information.
 errors.could_not_find_link=Could not find the link information({0}).
+errors.could_not_find_link_for_moving_up=Could not find the link information for moving it up.
+errors.could_not_find_link_for_moving_down=Could not find the link information for moving it down.

Modified: bookmark/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/webapp/WEB-INF/jetspeed-portlet.xml	2008-10-16 00:13:48 UTC (rev 1220)
@@ -18,9 +18,13 @@
 <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="goodjob" version="1.0" xsi:schemaLocation="http://portals.apache.org/jetspeed http://portals.apache.org/jetspeed-2/2.1/schemas/jetspeed-portlet.xsd">
   <dc:title>Bookmark</dc:title>
   <dc:creator>PAL Project</dc:creator>
+  <portlet>
+    <portlet-name>BookmarkAdmin</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"/>
@@ -42,6 +46,6 @@
     <js:service name="SecurityAccessController"/>
     <js:service name="PortletTrackingManager"/>
     <js:service name="AuditActivity"/>
+  </js:services>
 -->
-  </js:services>
 </portlet-app>

Modified: bookmark/trunk/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/portlet.xml	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/webapp/WEB-INF/portlet.xml	2008-10-16 00:13:48 UTC (rev 1220)
@@ -2,7 +2,7 @@
 <portlet-app version="1.0">
   <portlet>
     <portlet-name>BookmarkView</portlet-name>
-    <display-name>Bookmark: Bookmark viewer</display-name>
+    <display-name>Bookmark: Bookmark Viewer</display-name>
     <description>Display bookmarks.</description>
     <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
     <init-param>
@@ -22,4 +22,26 @@
       <keywords>Bookmark,URL</keywords>
     </portlet-info>
   </portlet>
+  <portlet>
+    <portlet-name>BookmarkAdmin</portlet-name>
+    <display-name>Bookmark: Bookmark Manager</display-name>
+    <description>Manage all bookmarks.</description>
+    <portlet-class>org.seasar.struts.portlet.SAStrutsPortlet</portlet-class>
+    <init-param>
+      <name>viewPage</name>
+      <value>/admin/link/</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>Bookmark Manager</title>
+      <short-title>Bookmarks</short-title>
+      <keywords>Bookmark,URL</keywords>
+    </portlet-info>
+  </portlet>
 </portlet-app>

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,56 @@
+<%@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>
+		<html:hidden property="id"/>
+		<html:hidden property="mode"/>
+		<table style="width: 500px">
+			<caption>カテゴリ情報</caption>
+			<tbody>
+				<tr>
+					<th style="width: 100px;">カテゴリ名</th>
+					<td>${f:h(name)}<html:hidden property="name"/></td>
+				</tr>
+				<tr>
+					<th>順番</th>
+					<td>${f:h(sortOrder)}<html:hidden property="sortOrder"/></td>
+				</tr>
+				<tr>
+					<th>メモ</th>
+					<td>${f:br(f:nbsp(f:h(memo)))}<html:hidden property="memo"/></td>
+				</tr>
+			</tbody>
+			<tfoot>
+				<tr>
+					<td colspan="2">
+		<c:if test="${mode == 1}">
+			<input type="submit" name="create" value="登録"/>
+		<input type="submit" name="editagain" value="戻る"/>
+		</c:if>
+		<c:if test="${mode == 2}">
+			<input type="submit" name="update" value="更新"/>
+		<input type="submit" name="editagain" value="戻る"/>
+		</c:if>
+		<c:if test="${mode == 3}">
+			<input type="submit" name="delete" value="削除"/>
+			<input type="submit" name="back" value="戻る"/>
+		</c:if>
+		<c:if test="${mode == 4}">
+			<input type="submit" name="back" value="戻る"/>
+		</c:if>
+					</td>
+				</tr>
+			</tfoot>
+		</table>
+	</s:form>
+</div>
+</div>
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/confirm.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,43 @@
+<%@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>
+		<html:hidden property="id"/>
+		<html:hidden property="mode"/>
+		<table style="width: 500px">
+			<caption>カテゴリ情報</caption>
+			<tbody>
+				<tr>
+					<th style="width: 100px;">カテゴリ名</th>
+					<td><html:text property="name" size="40"/></td>
+				</tr>
+				<tr>
+					<th style="width: 100px;">順番</th>
+					<td><html:text property="sortOrder" size="5"/></td>
+				</tr>
+                <tr>
+                    <th>メモ</th>
+                    <td><html:textarea property="memo" cols="40" rows="5"/></td>
+                </tr>
+			</tbody>
+			<tfoot>
+				<tr>
+					<td colspan="2">
+		<input type="submit" name="confirm" value="確認"/>
+		<input type="submit" name="back" value="戻る"/>
+					</td>
+				</tr>
+			</tfoot>
+		</table>
+	</s:form>
+</div>
+</div>
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/edit.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,11 @@
+<%@page pageEncoding="UTF-8" %>
+<html>
+<head>
+<title></title>
+</head>
+<body>
+<html:errors/>
+<br>
+<s:link href="index">戻る</s:link>
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/error.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,71 @@
+<%@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="list-table">
+<s:link href="createpage">カテゴリ作成</s:link>
+|
+<s:link href="/admin/link/">リンク一覧</s:link>
+<table>
+	<thead>
+		<tr>
+			<th style="width:50px;text-align: center;">ID</th>
+			<th style="width:200px;text-align: center;">カテゴリ名</th>
+			<th style="width:100px;text-align: center;">作成者</th>
+			<th style="width:100px;text-align: center;">アクション</th>
+		</tr>
+	</thead>
+	<tbody>
+		<c:forEach var="c" varStatus="s" items="${categoryItems}">
+		<tr>
+			<td>${f:h(c.id)}</td>
+			<td>${f:h(c.name)}(${c.sortOrder})</td>
+			<td>${f:h(c.createdBy)}</td>
+			<td align="center">
+				<s:link href="editpage/2/${f:u(c.id)}">編集</s:link>
+				<s:link href="deletepage/3/${f:u(c.id)}">削除</s:link>
+			</td>
+		</tr>
+		</c:forEach>
+	</tbody>
+</table>
+<!-- page navi -->
+<div style="width: 450px;text-align: center;">
+	<span>
+		<c:if test="${categoryPager.existPrePage}">
+		<s:link href="list/${categoryPager.currentPageNumber - 1}">前へ</s:link>
+		</c:if>
+	</span>
+	<span>
+		<c:forEach var="p" varStatus="s" items="${categoryPager.pageNumberList}">
+		<span>
+			<c:if test="${p == categoryPager.currentPageNumber}">
+			${p}
+			</c:if>
+			<c:if test="${p != categoryPager.currentPageNumber}">
+			<s:link href="list/${p}">${p}</s:link>
+			</c:if>
+		</span>
+		</c:forEach>
+	</span>
+	<span>
+		<c:if test="${categoryPager.existNextPage}">
+		<s:link href="list/${categoryPager.currentPageNumber + 1}">次へ</s:link>
+		</c:if>
+	</span>
+</div>
+<div style="width: 450px;text-align: center;">
+	<span>
+		${categoryPager.currentPageNumber}/${categoryPager.allPageCount} (${categoryPager.allRecordCount})
+	</span>
+</div>
+</div>
+</div>
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/category/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/confirm.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/confirm.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/confirm.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,80 @@
+<%@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="list-table">
+	<s:form>
+		<html:hidden property="id"/>
+		<html:hidden property="mode"/>
+		<div class="form-table">
+		<table style="width: 580px;">
+			<caption>リンクの登録の確認</caption>
+			<tbody>
+				<tr>
+					<th style="width: 80px;">名前</th>
+					<td>${f:h(name)}<html:hidden property="name"/></td>
+				</tr>
+				<tr>
+					<th>URL</th>
+					<td>${f:h(url)}<html:hidden property="url"/></td>
+				</tr>
+				<tr>
+					<th>メモ</th>
+					<td>${f:br(f:nbsp(f:h(memo)))}<html:hidden property="memo"/></td>
+				</tr>
+				<tr>
+					<th>カテゴリID</th>
+					<td>${f:h(categoryId)}<html:hidden property="categoryId"/></td>
+				</tr>
+				<tr>
+					<th>順番</th>
+					<td>${f:h(sortOrder)}<html:hidden property="sortOrder"/></td>
+				</tr>
+				<tr>
+					<th>種類</th>
+					<td>
+<c:if test="${type=='W'}">新規ウィンドウで開く</c:if>
+<c:if test="${type=='L'}">同一ウィンドウで開く</c:if>
+<html:hidden property="type"/>
+					</td>
+				</tr>
+			</tbody>
+			<tfoot>
+				<tr>
+					<td colspan="2">
+        <c:if test="${mode == 1}">
+            <input type="submit" name="create" value="登録"/>
+            <input type="submit" name="editagain" value="戻る"/>
+        </c:if>
+        <c:if test="${mode == 2}">
+            <input type="submit" name="update" value="更新"/>
+            <input type="submit" name="editagain" value="戻る"/>
+        </c:if>
+        <c:if test="${mode == 3}">
+            <input type="submit" name="delete" value="削除"/>
+            <input type="submit" name="back" value="戻る"/>
+        </c:if>
+        <c:if test="${mode == 4}">
+            <input type="submit" name="back" value="戻る"/>
+			<c:if test="${categoryId!=2}">
+            <input type="submit" name="editpage" value="編集"/>
+            <input type="submit" name="deletepage" value="削除"/>
+			</c:if>
+        </c:if>
+					</td>
+				</tr>
+			</tfoot>
+		</table>
+		</div>
+	</s:form>
+</div>
+</div>
+
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/confirm.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/edit.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/edit.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/edit.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,64 @@
+<%@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="list-table">
+    <s:form>
+        <html:hidden property="id"/>
+        <html:hidden property="mode"/>
+        <div class="form-table">
+		<table style="width: 580px;">
+            <caption>リンクの登録</caption>
+            <tbody>
+                <tr>
+                    <th style="width: 80px;">名前</th>
+                    <td><html:text property="name" size="20"/></td>
+                </tr>
+                <tr>
+                    <th>URL</th>
+                    <td><html:text property="url" size="50"/></td>
+                </tr>
+                <tr>
+                    <th>メモ</th>
+                    <td><html:textarea property="memo" cols="50" rows="5"/></td>
+                </tr>
+                <tr>
+                    <th>カテゴリID</th>
+                    <td><html:text property="categoryId" size="10"/></td>
+                </tr>
+                <tr>
+                    <th>順番</th>
+                    <td><html:text property="sortOrder" size="5"/></td>
+                </tr>
+                <tr>
+                    <th>種類</th>
+                    <td>
+                        <html:select property="type">
+<html:option value="W">新規ウィンドウで開く</html:option>
+<html:option value="L">同一ウィンドウで開く</html:option>
+                        </html:select>
+                    </td>
+                </tr>
+            </tbody>
+            <tfoot>
+                <tr>
+                    <td colspan="2">
+        <input type="submit" name="confirm" value="確認"/>
+        <input type="submit" name="back" value="戻る"/>
+                    </td>
+                </tr>
+            </tfoot>
+        </table>
+		</div>
+    </s:form>
+</div>
+</div>
+
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/edit.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/error.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/error.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/error.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -0,0 +1,11 @@
+<%@page pageEncoding="UTF-8" %>
+<html>
+<head>
+<title></title>
+</head>
+<body>
+<html:errors/>
+<br>
+<s:link href="index">戻る</s:link>
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/error.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Added: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/index.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/index.jsp	                        (rev 0)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/index.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -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="list-table">
+<div>
+<s:link href="createpage">リンク作成</s:link>
+|
+<s:link href="/admin/category/">カテゴリ一覧</s:link>
+</div>
+<table border="1">
+	<thead>
+		<tr>
+			<th style="width:300px;text-align: center;">名前</th>
+			<th style="width:100px;text-align: center;">作成者</th>
+			<th style="width:100px;text-align: center;">&nbsp;</th>
+		</tr>
+	</thead>
+	<tbody>
+		<c:forEach var="l" varStatus="s" items="${linkItems}">
+		<tr class="${s.index %2 == 0 ? 'row1' : 'row2'}">
+			<td><a href="${l.url}" target="${l.type == 'W' ? '_blank' : '_self'}">${f:h(l.name)}</a></td>
+			<td>${f:h(l.createdBy)}</a></td>
+			<td align="center">
+				<s:link href="editpage/2/${f:u(c.id)}">編集</s:link>
+				<s:link href="deletepage/3/${f:u(c.id)}">削除</s:link>
+			</td>
+		</tr>
+		</c:forEach>
+	</tbody>
+</table>
+<!-- page navi -->
+<div style="width: 400px;text-align: center;">
+	<span>
+		<c:if test="${linkPager.existPrePage}">
+		<s:link href="list/${linkPager.currentPageNumber - 1}">前へ</s:link>
+		</c:if>
+	</span>
+	<span>
+		<c:forEach var="p" varStatus="s" items="${linkPager.pageNumberList}">
+		<span>
+			<c:if test="${p == linkPager.currentPageNumber}">
+			${p}
+			</c:if>
+			<c:if test="${p != linkPager.currentPageNumber}">
+			<s:link href="list/${p}">${p}</s:link>
+			</c:if>
+		</span>
+		</c:forEach>
+	</span>
+	<span>
+		<c:if test="${linkPager.existNextPage}">
+		<s:link href="list/${linkPager.currentPageNumber + 1}">次へ</s:link>
+		</c:if>
+	</span>
+</div>
+<div style="width: 400px;text-align: center;">
+	<span>
+		${linkPager.currentPageNumber}/${linkPager.allPageCount} (${linkPager.allRecordCount})
+	</span>
+</div>
+</div>
+</div>
+
+</body>
+</html>


Property changes on: bookmark/trunk/src/main/webapp/WEB-INF/view/admin/link/index.jsp
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: bookmark/trunk/src/main/webapp/WEB-INF/view/category/edit/index.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/category/edit/index.jsp	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/category/edit/index.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -9,7 +9,7 @@
 <div><html:messages id="msg" message="true"><bean:write name="msg" ignore="true"/></html:messages><html:errors/></div>
 
 <div class="list-table">
-<s:link href="createpage">新規作成</s:link>
+<s:link href="createpage">カテゴリ作成</s:link>
 |
 <s:link href="/link/view/">リンク一覧</s:link>
 <table>

Modified: bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/confirm.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/confirm.jsp	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/confirm.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -56,6 +56,7 @@
     <c:if test="${categoryId == category.id}">${f:h(category.name)}</c:if>
 </c:forEach>
 <c:if test="${categoryId == 1}">(未分類)</c:if>
+<c:if test="${categoryId == 2}">(共有)</c:if>
 <html:hidden property="categoryId"/>
 					</td>
 				</tr>
@@ -85,8 +86,10 @@
         </c:if>
         <c:if test="${mode == 4}">
             <input type="submit" name="back" value="戻る"/>
+			<c:if test="${categoryId!=2}">
             <input type="submit" name="editpage" value="編集"/>
             <input type="submit" name="deletepage" value="削除"/>
+			</c:if>
         </c:if>
 					</td>
 				</tr>

Modified: bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/index.jsp
===================================================================
--- bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/index.jsp	2008-10-15 21:41:18 UTC (rev 1219)
+++ bookmark/trunk/src/main/webapp/WEB-INF/view/link/view/index.jsp	2008-10-16 00:13:48 UTC (rev 1220)
@@ -26,12 +26,20 @@
             </c:if>
         </c:forEach>
         </ul>
+        <ul style="border-top: 1px solid #999999;">
+            <c:if test="${linkPager.categoryId==2}">
+            <li class="portlet-menu-item-selected">(共有)</li>
+            </c:if>
+            <c:if test="${linkPager.categoryId!=2}">
+            <li class="portlet-menu-item"><s:link href="select/2">(共有)</s:link></li>
+            </c:if>
+        </ul>
     </div>
 </div>
 
 <div style="float: left;margin-left:10px;" class="list-table">
 <div>
-<s:link href="createpage">新規作成</s:link>
+<s:link href="createpage">リンク作成</s:link>
 |
 <s:link href="/category/edit/">カテゴリ一覧</s:link>
 </div>
@@ -39,20 +47,42 @@
 	<thead>
 		<tr>
 			<th style="width:300px;text-align: center;">名前</th>
-			<th style="width:100px;text-align: center;">&nbsp;</th>
+			<th style="width:100px;text-align: center;"">順序</th>
+			<th style="width:50px;text-align: center;">&nbsp;</th>
 		</tr>
 	</thead>
 	<tbody>
 		<c:forEach var="l" varStatus="s" items="${linkItems}">
 		<tr class="${s.index %2 == 0 ? 'row1' : 'row2'}">
 			<td><a href="${l.url}" target="${l.type == 'W' ? '_blank' : '_self'}">${f:h(l.name)}</a></td>
+			<td>
+				<c:if test="${linkPager.categoryId!=2}">
+				<table border="0" cellpadding="0" cellspacing="0" style="border: 0;">
+					<tr>
+						<td style="width:50px;text-align: center;border: 0;">
+							<c:if test="${!s.last || linkPager.currentPageNumber!=linkPager.allPageCount}">
+							<s:link href="moveup/${f:u(l.id)}">下へ</s:link>
+							</c:if>
+&nbsp;
+						</td>
+						<td style="width:50px;text-align: center;border: 0;">
+							<c:if test="${!s.first || linkPager.currentPageNumber!=1}">
+							<s:link href="movedown/${f:u(l.id)}">上へ</s:link>
+							</c:if>
+&nbsp;
+						</td>
+					</tr>
+				</table>
+				</c:if>
+				<c:if test="${linkPager.categoryId==2}">&nbsp;</c:if>
+			</td>
 			<td align="center"><s:link href="confirmpage/4/${f:u(l.id)}">詳細</s:link></td>
 		</tr>
 		</c:forEach>
 	</tbody>
 </table>
 <!-- page navi -->
-<div style="width: 400px;text-align: center;">
+<div style="width: 450px;text-align: center;">
 	<span>
 		<c:if test="${linkPager.existPrePage}">
 		<s:link href="list/${linkPager.currentPageNumber - 1}">前へ</s:link>
@@ -76,7 +106,7 @@
 		</c:if>
 	</span>
 </div>
-<div style="width: 400px;text-align: center;">
+<div style="width: 450px;text-align: center;">
 	<span>
 		${linkPager.currentPageNumber}/${linkPager.allPageCount} (${linkPager.allRecordCount})
 	</span>


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