From 01be6d4b184d516af96929e6cf36b5b6ee9abd78 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Fri, 31 Aug 2012 15:07:31 -0700 Subject: [PATCH] Fix for HER-2018: XML representation for /engine/job//beans returns incorrect url for named beans * JobRelatedResource.java Added encoding to URL generation in makePresentableMapFor(). Added check to prevent URL generation from overwriting the job name portion of the path in addPresentableNestedNames() --- .../java/org/archive/crawler/restlet/JobRelatedResource.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java b/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java index c5d9efcc..55ada8cc 100644 --- a/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java +++ b/engine/src/main/java/org/archive/crawler/restlet/JobRelatedResource.java @@ -92,6 +92,9 @@ public abstract class JobRelatedResource extends BaseResource { } Reference baseRef = getRequest().getResourceRef().getBaseRef(); + + if(baseRef.getPath().endsWith("beans")) + baseRef.setPath(baseRef.getPath()+"/"); if (getBeanToNameMap().containsKey(obj)) { // this object is itself a named bean @@ -274,7 +277,7 @@ public abstract class JobRelatedResource extends BaseResource { } else if (beanPathPrefix.endsWith("[")) { beanPath += field + "]"; } - info.put("url", new Reference(baseRef, "../beans/" + beanPath).getTargetRef()); + info.put("url", new Reference(baseRef, "../beans/" + TextUtils.urlEscape(beanPath)).getTargetRef()); } } String key = getBeanToNameMap().get(object);