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