From 6bf23e2176fe08dbe14ef3620c9920b5754b3d2f Mon Sep 17 00:00:00 2001 From: Brian Remmington Date: Wed, 21 Dec 2011 19:20:09 +0000 Subject: [PATCH] Fixed InviteSender tests broken by r32893. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/invitation/site/InviteSender.java | 14 ++++++++------ .../repo/invitation/site/InviteSenderTest.java | 17 +++++++++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/source/java/org/alfresco/repo/invitation/site/InviteSender.java b/source/java/org/alfresco/repo/invitation/site/InviteSender.java index 0dea85eb3a..67d5cff991 100644 --- a/source/java/org/alfresco/repo/invitation/site/InviteSender.java +++ b/source/java/org/alfresco/repo/invitation/site/InviteSender.java @@ -174,9 +174,8 @@ public class InviteSender private Map buildArgs(Map properties, NodeRef inviter, NodeRef invitee) { String params = buildUrlParamString(properties); - String serverPath = ensureEndsWithSlash(properties.get(wfVarServerPath)); - String acceptLink = serverPath + properties.get(wfVarAcceptUrl) + params; - String rejectLink = serverPath + properties.get(wfVarRejectUrl) + params; + String acceptLink = makeLink(properties.get(wfVarServerPath), properties.get(wfVarAcceptUrl), params); + String rejectLink = makeLink(properties.get(wfVarServerPath), properties.get(wfVarRejectUrl), params); Map args = new HashMap(); args.put("inviteePersonRef", invitee.toString()); @@ -190,11 +189,14 @@ public class InviteSender return args; } - protected static String ensureEndsWithSlash(String thePath) + protected String makeLink(String location, String endpoint, String queryParams) { - return thePath.endsWith("/")?thePath:thePath+"/"; + location = location.endsWith("/") ? location : location + "/"; + endpoint = endpoint.startsWith("/") ? endpoint.substring(1) : endpoint; + queryParams = queryParams.startsWith("?") ? queryParams : "?" + queryParams; + return location + endpoint + queryParams; } - + private String getRoleName(Map properties) { String roleName = properties.get(wfVarRole); diff --git a/source/java/org/alfresco/repo/invitation/site/InviteSenderTest.java b/source/java/org/alfresco/repo/invitation/site/InviteSenderTest.java index 850e12f629..394dba5fef 100644 --- a/source/java/org/alfresco/repo/invitation/site/InviteSenderTest.java +++ b/source/java/org/alfresco/repo/invitation/site/InviteSenderTest.java @@ -231,12 +231,17 @@ public class InviteSenderTest extends TestCase public void testValidServerPath() throws Exception { - String validPath = "test://test/path/"; - String serverPath = InviteSender.ensureEndsWithSlash("test://test/path"); - assertEquals(validPath,serverPath); - - serverPath = InviteSender.ensureEndsWithSlash("test://test/path/"); - assertEquals(validPath,serverPath); + String validPath = "test://test/path/accept?hello"; + String link = sender.makeLink("test://test/path", "accept", "hello"); + assertEquals(validPath, link); + link = sender.makeLink("test://test/path/", "accept", "hello"); + assertEquals(validPath, link); + link = sender.makeLink("test://test/path", "/accept", "hello"); + assertEquals(validPath, link); + link = sender.makeLink("test://test/path/", "/accept", "hello"); + assertEquals(validPath, link); + link = sender.makeLink("test://test/path", "/accept", "?hello"); + assertEquals(validPath, link); } protected static String ensureEndsWithSlash(String thePath)