Update of 
/var/cvs/contributions/CMSContainer_Modules/alias/src/java/com/finalist/cmsc/alias
In directory 
james.mmbase.org:/tmp/cvs-serv3593/alias/src/java/com/finalist/cmsc/alias

Modified Files:
        AliasNavigationItemManager.java 
Log Message:
CMSC-1031 Changing an URL in an Alias and publishing it does not resolve to the 
new URL


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/alias/src/java/com/finalist/cmsc/alias
See also: http://www.mmbase.org/jira/browse/CMSC-1031


Index: AliasNavigationItemManager.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/alias/src/java/com/finalist/cmsc/alias/AliasNavigationItemManager.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- AliasNavigationItemManager.java     27 Aug 2008 12:50:59 -0000      1.10
+++ AliasNavigationItemManager.java     27 Aug 2008 14:55:55 -0000      1.11
@@ -1,8 +1,10 @@
 package com.finalist.cmsc.alias;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.commons.lang.StringUtils;
-import org.mmbase.bridge.Cloud;
-import org.mmbase.bridge.Node;
+import org.mmbase.bridge.*;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
 
@@ -12,30 +14,53 @@
 import com.finalist.cmsc.alias.util.AliasUtil;
 import com.finalist.cmsc.beans.MMBaseNodeMapper;
 import com.finalist.cmsc.beans.om.NavigationItem;
+import com.finalist.cmsc.mmbase.ResourcesUtil;
 import com.finalist.cmsc.navigation.*;
 
 public class AliasNavigationItemManager implements NavigationItemManager {
 
-   private static final Logger log = 
Logging.getLoggerInstance(AliasNavigationItemManager.class.getName());
+   private static final Logger log = 
Logging.getLoggerInstance(AliasNavigationItemManager.class);
 
        private NavigationItemRenderer renderer = new AliasNavigationRenderer();
+
        private NavigationTreeItemRenderer treeRenderer = new 
AliasTreeItemRenderer();
 
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#getRenderer()
+    */
        public NavigationItemRenderer getRenderer() {
                return renderer;
        }
 
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#getTreeManager()
+    */
        public String getTreeManager() {
                return AliasUtil.ALIAS;
        }
 
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#getRelatedTypes()
+    */
+   public List<String> getRelatedTypes() {
+      List<String> relatedTypes = new ArrayList<String>();
+      relatedTypes.add(ResourcesUtil.URLS);
+      return relatedTypes;
+   }
+
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#isRoot()
+    */
     public boolean isRoot() {
         return false;
     }
 
-       public NavigationItem loadNavigationItem(Integer key, Node node) {
-        if (node == null || !AliasUtil.isAliasType(node)) {
-            log.debug("Alias not found: " + key);
+   /**
+    * @see 
com.finalist.cmsc.navigation.NavigationItemManager#loadNavigationItem(org.mmbase.bridge.Node)
+    */
+   public NavigationItem loadNavigationItem(Node node) {
+      if (!AliasUtil.isAliasType(node)) {
+         log.debug("Node is not an Alias: " + node.getNumber());
             return null;
         }
 
@@ -55,8 +80,12 @@
         return alias;
        }
 
+   /**
+    * @see 
com.finalist.cmsc.navigation.NavigationItemManager#getPublisher(org.mmbase.bridge.Cloud,
+    *      java.lang.String)
+    */
        public Object getPublisher(Cloud cloud, String type) {
-               if(type.equals(getTreeManager())) {
+      if (type.equals(getTreeManager())) {
                        return new AliasPublisher(cloud);
                }
                else {
@@ -64,15 +93,35 @@
                }
        }
 
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#getTreeRenderer()
+    */
     public NavigationTreeItemRenderer getTreeRenderer() {
         return treeRenderer;
     }
 
+   /**
+    * @see com.finalist.cmsc.navigation.NavigationItemManager#getItemClass()
+    */
     public Class<? extends NavigationItem> getItemClass() {
         return Alias.class;
     }
 
+   /**
+    * @see 
com.finalist.cmsc.navigation.NavigationItemManager#deleteNode(org.mmbase.bridge.Node)
+    */
    public void deleteNode(Node pageNode) {
-      pageNode.delete(true);   //Also delete related items
+      pageNode.delete(true); // Also delete related items
+   }
+
+   /**
+    * @see 
com.finalist.cmsc.navigation.NavigationItemManager#findItemForRelatedNode(org.mmbase.bridge.Node)
+    */
+   public Node findItemForRelatedNode(Node node) {
+      NodeList aliases = node.getRelatedNodes(AliasUtil.ALIAS, "related", 
"source");
+      if (!aliases.isEmpty()) {
+         return aliases.getNode(0);
+      }
+      return null;
    }
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to