Update of
/var/cvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib
In directory
james.mmbase.org:/tmp/cvs-serv26804/cmsc/taglib/src/java/com/finalist/cmsc/taglib
Modified Files:
InsertPageImageTag.java ListPagesTag.java
Added Files:
ListNavigationItemsTag.java
Log Message:
CMSC-755 Navigation code refactored to use navigationitem
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib
See also: http://www.mmbase.org/jira/browse/CMSC-755
ListNavigationItemsTag.java is new
Index: InsertPageImageTag.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib/InsertPageImageTag.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- InsertPageImageTag.java 3 Dec 2007 13:10:26 -0000 1.6
+++ InsertPageImageTag.java 28 Jan 2008 21:15:45 -0000 1.7
@@ -51,7 +51,6 @@
HttpServletRequest request = (HttpServletRequest) ctx.getRequest();
Integer image = null;
-
if (StringUtils.isNotEmpty(name)) {
List<Integer> images = SiteManagement.getPageImagesForPage(name,
getPath());
if (images != null && !images.isEmpty()) {
@@ -89,7 +88,7 @@
List<Integer> images = getCurrentPageImages();
if ((override && images.size() < 1) || directly) { // inherit from
parent.
- images.addAll(getImagiesOfParent());
+ images.addAll(getImagesOfParent());
}
if (images.size() > 0) {
@@ -104,8 +103,8 @@
}
- private List<Integer> getImagiesOfParent() {
- List<Page> pages = SiteManagement.getListFromPath(getPath());
+ private List<Integer> getImagesOfParent() {
+ List<Page> pages = SiteManagement.getPagesFromPath(getPath());
if (pages.size() > 2) {
@@ -121,7 +120,7 @@
private List<Integer> getCurrentPageImages() {
- List<Page> pages = SiteManagement.getListFromPath(getPath());
+ List<Page> pages = SiteManagement.getPagesFromPath(getPath());
return (pages.get(pages.size() - 1)).getImages();
}
Index: ListPagesTag.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib/ListPagesTag.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- ListPagesTag.java 7 Jan 2008 15:05:18 -0000 1.10
+++ ListPagesTag.java 28 Jan 2008 21:15:45 -0000 1.11
@@ -9,122 +9,18 @@
*/
package com.finalist.cmsc.taglib;
-import java.util.*;
-
-import org.apache.commons.lang.StringUtils;
-
+import com.finalist.cmsc.beans.om.NavigationItem;
import com.finalist.cmsc.beans.om.Page;
-import com.finalist.cmsc.beans.om.Site;
-import com.finalist.cmsc.services.sitemanagement.SiteManagement;
/**
* List the available Pages
*
* @author Wouter Heijke
*/
-public class ListPagesTag extends AbstractListTag<Page> {
-
- private static final String MODE_ALL = "all";
- private static final String MODE_HIDDEN = "hidden";
- private static final String MODE_MENU = "menu";
-
- private String mode = MODE_MENU;
-
+public class ListPagesTag extends ListNavigationItemsTag {
@Override
- protected List<Page> getList() {
- List<Page> pages = null;
- if (origin != null) {
- if (origin instanceof Site) {
- pages = SiteManagement.getPages((Site) origin);
- }
- else if (origin instanceof Page) {
- pages = SiteManagement.getPages((Page) origin);
- }
- }
- else {
- pages = new ArrayList<Page>(SiteManagement.getSites());
- }
- if (pages != null) {
- if (MODE_MENU.equalsIgnoreCase(mode)) {
- for (Iterator<? extends Page> iter = pages.iterator();
iter.hasNext();) {
- Page page = iter.next();
- if (!page.isInmenu()) {
- iter.remove();
- }
- }
- }
- if (MODE_HIDDEN.equalsIgnoreCase(mode)) {
- for (Iterator<? extends Page> iter = pages.iterator();
iter.hasNext();) {
- Page page = iter.next();
- if (page.isInmenu()) {
- iter.remove();
- }
- }
- }
- }
- return pages;
- }
-
-
- public String getMode() {
- return mode;
- }
-
-
- public void setMode(String mode) {
- this.mode = mode;
+ protected Class<? extends NavigationItem> getChildNavigationClass() {
+ return Page.class;
}
-
- @Override
- public void setOrigin(Object dest) {
- Page page = null;
- if (dest != null) {
- if (dest instanceof Page) {
- page = (Page) dest;
- }
- else if (dest instanceof Integer) {
- page = getPageInteger((Integer) dest);
- }
- else if (dest instanceof String) {
- page = getPageString((String) dest);
- }
- else {
- throw new IllegalArgumentException("only Page, integer or string
allowed: " + dest.getClass());
- }
- super.setOrigin(page);
- }
- }
-
- /**
- * Set destination node number to navigate to.
- *
- * @param n
- * the node number
- */
- private Page getPageInteger(Integer n) {
- return SiteManagement.getPage(n.intValue());
- }
-
-
- /**
- * Set the destination node path to navigate to.
- *
- * @param s
- * comma, slash or space separated list of node numbers and/or
- * aliases
- */
- private Page getPageString(String s) {
- Page temp = null;
- if (!StringUtils.isBlank(s)) {
- if (StringUtils.isNumeric(s)) {
- temp = SiteManagement.getPage(Integer.parseInt(s));
- }
- else {
- temp = SiteManagement.getPageFromPath(s);
- }
- }
- return temp;
- }
-
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs