From 65f4462094bd2f10e43c8889432f179e1cb19c9c Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Thu, 15 Oct 2009 14:03:12 +0000 Subject: [PATCH] Merged V3.2 to HEAD: 16713: ETHREEOH-2379 deployment missing crypto libraries. 16722: ETHREEOH-2798 - java.lang.NullPointerException while deleting a folder node with emptyTranslation 16752: ETHREEOH-2946 - Release a test server from inside an Approve/Reject task 16796: ETHREEOH-1841 - MBean error when running in a WebSphere cluster 16920: ETHREEOH-2796 - Word 97 To Text transformation fails 16955: Merge V3.1 to V3.2 14275: Invitation change for ETHREEOH-1456, Missed change from check in 14222. 14222: ETHREEOH-1456 - accepting a rejected invitation. 16963: ETHREEOH-3029 - Strange defaltOnLoadListsner in hibernate-context.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16966 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/web/scripts/invite/InviteResponse.java | 13 ++++++++++++- .../repo/web/scripts/invite/InviteServiceTest.java | 12 ++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/repo/web/scripts/invite/InviteResponse.java b/source/java/org/alfresco/repo/web/scripts/invite/InviteResponse.java index 4f28205cf6..c3d8a230fe 100644 --- a/source/java/org/alfresco/repo/web/scripts/invite/InviteResponse.java +++ b/source/java/org/alfresco/repo/web/scripts/invite/InviteResponse.java @@ -134,6 +134,9 @@ public class InviteResponse extends DeclarativeWebScript String inviteId = req.getServiceMatch().getTemplateVars().get("inviteId"); String inviteTicket = req.getServiceMatch().getTemplateVars().get("inviteTicket"); + // Check that the task is still open. + //if(inviteStart) + // process response String action = req.getServiceMatch().getTemplateVars().get("action"); if (action.equals("accept")) @@ -149,6 +152,10 @@ public class InviteResponse extends DeclarativeWebScript { throw new WebScriptException(Status.STATUS_FORBIDDEN, fe.toString()); } + catch (InvitationExceptionUserError fe) + { + throw new WebScriptException(Status.STATUS_CONFLICT, fe.toString()); + } } else if (action.equals("reject")) { @@ -162,7 +169,11 @@ public class InviteResponse extends DeclarativeWebScript catch (InvitationExceptionForbidden fe) { throw new WebScriptException(Status.STATUS_FORBIDDEN, fe.toString()); - } + } + catch (InvitationExceptionUserError fe) + { + throw new WebScriptException(Status.STATUS_CONFLICT, fe.toString()); + } } else { diff --git a/source/java/org/alfresco/repo/web/scripts/invite/InviteServiceTest.java b/source/java/org/alfresco/repo/web/scripts/invite/InviteServiceTest.java index 80ab34ba89..7e574c75ff 100644 --- a/source/java/org/alfresco/repo/web/scripts/invite/InviteServiceTest.java +++ b/source/java/org/alfresco/repo/web/scripts/invite/InviteServiceTest.java @@ -582,6 +582,13 @@ public class InviteServiceTest extends BaseWebScriptTest // Invitee accepts invitation to a Site from Inviter String acceptInviteUrl = URL_INVITE + "/" + inviteId + "/" + inviteTicket + "/accept"; sendRequest(new PutRequest(acceptInviteUrl, (byte[])null, null), Status.STATUS_OK); + + // Invitee attempts to accept the invitation again + sendRequest(new PutRequest(acceptInviteUrl, (byte[])null, null), Status.STATUS_CONFLICT); + + // Invitee attempts to reject an invitation that has already been accepted. + rejectInvite(inviteId, inviteTicket, Status.STATUS_CONFLICT); + // // test that invitation represented by invite ID (of invitation started @@ -610,6 +617,9 @@ public class InviteServiceTest extends BaseWebScriptTest String inviteTicket = result.getString("inviteTicket"); rejectInvite(inviteId, inviteTicket, Status.STATUS_OK); + + // Negative test + rejectInvite(inviteId, inviteTicket, Status.STATUS_CONFLICT); // // test that invite represented by invite ID (of invitation started @@ -624,6 +634,8 @@ public class InviteServiceTest extends BaseWebScriptTest // there should no longer be any invites identified by invite ID pending // assertEquals(0, getInvitesResult.getJSONArray("invites").length()); + + } public void testGetInvitesByInviteId() throws Exception