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;"> </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;"> </th> + <th style="width:100px;text-align: center;"">順序</th> + <th style="width:50px;text-align: center;"> </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> + + </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> + + </td> + </tr> + </table> + </c:if> + <c:if test="${linkPager.categoryId==2}"> </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>