diff --git a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/versioning/Navigation.java b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/versioning/Navigation.java index be0fa174dd..c6ad92ba7c 100644 --- a/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/versioning/Navigation.java +++ b/dspace-xmlui/src/main/java/org/dspace/app/xmlui/aspect/versioning/Navigation.java @@ -11,6 +11,7 @@ import org.apache.cocoon.caching.CacheableProcessingComponent; import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.Request; import org.apache.cocoon.util.HashUtil; +import org.apache.commons.lang3.StringUtils; import org.apache.excalibur.source.SourceValidity; import org.apache.excalibur.source.impl.validity.NOPValidity; import org.dspace.app.util.Util; @@ -124,8 +125,10 @@ public class Navigation extends AbstractDSpaceTransformer implements CacheablePr } DSpaceObject dso = HandleUtil.obtainHandle(objectModel); - if(dso != null) - { + if(dso == null){ + dso = getItemById(); + } + if (dso != null) { validity.add(context, dso); } @@ -201,6 +204,12 @@ public class Navigation extends AbstractDSpaceTransformer implements CacheablePr if (itemId != null) { item = itemService.find(this.context, itemId); + } else { + String itemIDParam = parameters.getParameter("itemID", null); + if (StringUtils.isNotBlank(itemIDParam)) { + itemId = UUID.fromString(itemIDParam); + item = itemService.find(context, itemId); + } } return item; } diff --git a/dspace-xmlui/src/main/resources/aspects/Versioning/sitemap.xmap b/dspace-xmlui/src/main/resources/aspects/Versioning/sitemap.xmap index cd3227379a..009f950642 100644 --- a/dspace-xmlui/src/main/resources/aspects/Versioning/sitemap.xmap +++ b/dspace-xmlui/src/main/resources/aspects/Versioning/sitemap.xmap @@ -83,7 +83,9 @@ - + + +