adapted "invites" webscript to return all data required for the sent-invites page. Some data only stubbed currently

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10428 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Michael Ru
2008-08-19 17:23:51 +00:00
parent 164b43b9fd
commit 496d70736b
6 changed files with 165 additions and 62 deletions

View File

@@ -24,6 +24,10 @@
*/
package org.alfresco.repo.web.scripts.invite;
import java.util.Date;
import org.alfresco.repo.jscript.ScriptNode;
/**
* Holds properties pertaining to an invitation that has been sent out by a Site Manager (Inviter)
* to another person (Invitee) to join his/her Site
@@ -33,19 +37,31 @@ package org.alfresco.repo.web.scripts.invite;
public class InviteInfo
{
// private instances to hold property values
private String invitationStatus;
private String inviterUserName;
private ScriptNode inviterPerson;
private String inviteeUserName;
private ScriptNode inviteePerson;
private String role;
private String siteShortName;
private Date sentInviteDate;
private String inviteId;
public InviteInfo(String inviterUserName, String inviteeUserName, String siteShortName, String inviteId)
public InviteInfo(String invitationStatus, String inviterUserName, ScriptNode inviterPerson,
String inviteeUserName, ScriptNode inviteePerson, String role,
String siteShortName, Date sentInviteDate, String inviteId)
{
this.invitationStatus = invitationStatus;
this.inviterUserName = inviterUserName;
this.inviterPerson = inviterPerson;
this.inviteeUserName = inviteeUserName;
this.inviteePerson = inviteePerson;
this.role = role;
this.siteShortName = siteShortName;
this.sentInviteDate = sentInviteDate;
this.inviteId = inviteId;
}
/**
* Gets the inviter user name
*
@@ -85,4 +101,26 @@ public class InviteInfo
{
return inviteId;
}
public ScriptNode getInviteePerson() {
return inviteePerson;
}
public ScriptNode getInviterPerson() {
return inviterPerson;
}
public Date getSentInviteDate() {
return sentInviteDate;
}
public String getInvitationStatus() {
return invitationStatus;
}
public String getRole() {
return role;
}
}

View File

@@ -332,7 +332,7 @@ public class InviteServiceTest extends BaseWebScriptTest
expectedStatus);
}
private JSONArray getInvitesByInviteId(String inviteId, int expectedStatus)
private JSONObject getInvitesByInviteId(String inviteId, int expectedStatus)
throws Exception
{
// construct get invites URL
@@ -342,12 +342,12 @@ public class InviteServiceTest extends BaseWebScriptTest
MockHttpServletResponse response = getRequest(getInvitesUrl,
expectedStatus);
JSONArray result = new JSONArray(response.getContentAsString());
JSONObject result = new JSONObject(response.getContentAsString());
return result;
}
private JSONArray getInvitesByInviterUserName(String inviterUserName,
private JSONObject getInvitesByInviterUserName(String inviterUserName,
int expectedStatus) throws Exception
{
// construct get invites URL
@@ -358,12 +358,12 @@ public class InviteServiceTest extends BaseWebScriptTest
MockHttpServletResponse response = getRequest(getInvitesUrl,
expectedStatus);
JSONArray result = new JSONArray(response.getContentAsString());
JSONObject result = new JSONObject(response.getContentAsString());
return result;
}
private JSONArray getInvitesByInviteeUserName(String inviteeUserName,
private JSONObject getInvitesByInviteeUserName(String inviteeUserName,
int expectedStatus) throws Exception
{
// construct get invites URL
@@ -374,12 +374,12 @@ public class InviteServiceTest extends BaseWebScriptTest
MockHttpServletResponse response = getRequest(getInvitesUrl,
expectedStatus);
JSONArray result = new JSONArray(response.getContentAsString());
JSONObject result = new JSONObject(response.getContentAsString());
return result;
}
private JSONArray getInvitesBySiteShortName(String siteShortName,
private JSONObject getInvitesBySiteShortName(String siteShortName,
int expectedStatus) throws Exception
{
// construct get invites URL
@@ -390,7 +390,7 @@ public class InviteServiceTest extends BaseWebScriptTest
MockHttpServletResponse response = getRequest(getInvitesUrl,
expectedStatus);
JSONArray result = new JSONArray(response.getContentAsString());
JSONObject result = new JSONObject(response.getContentAsString());
return result;
}
@@ -511,11 +511,11 @@ public class InviteServiceTest extends BaseWebScriptTest
//
// get pending invite matching inviteId from invite started above
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
Status.STATUS_OK);
// there should no longer be any invites identified by invite ID pending
assertEquals(getInvitesResult.length(), 0);
assertEquals(getInvitesResult.getJSONArray("invites").length(), 0);
}
public void testRejectInvite() throws Exception
@@ -547,11 +547,11 @@ public class InviteServiceTest extends BaseWebScriptTest
//
// get pending invite matching inviteId from invite started above
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
Status.STATUS_OK);
// there should no longer be any invites identified by invite ID pending
assertEquals(getInvitesResult.length(), 0);
assertEquals(getInvitesResult.getJSONArray("invites").length(), 0);
}
public void testGetInvitesByInviteId() throws Exception
@@ -567,12 +567,12 @@ public class InviteServiceTest extends BaseWebScriptTest
assertEquals(true, ((inviteId != null) && (inviteId.length() != 0)));
// get pending invite matching inviteId from invite started above
JSONArray getInvitesResult = getInvitesByInviteId(inviteId,
JSONObject getInvitesResult = getInvitesByInviteId(inviteId,
Status.STATUS_OK);
assertEquals(getInvitesResult.getJSONArray("invites").length(), 1);
assertEquals(getInvitesResult.length(), 1);
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
assertEquals(inviteId, inviteJSONObj.get("inviteId"));
}
@@ -585,14 +585,14 @@ public class InviteServiceTest extends BaseWebScriptTest
// get pending invites matching inviter user name used in invite started
// above
JSONArray getInvitesResult = getInvitesByInviterUserName(USER_INVITER,
JSONObject getInvitesResult = getInvitesByInviterUserName(USER_INVITER,
Status.STATUS_OK);
assertEquals(true, getInvitesResult.length() > 0);
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
assertEquals(USER_INVITER, inviteJSONObj.get("inviterUserName"));
assertEquals(USER_INVITER, inviteJSONObj.getJSONObject("inviter").get("userName"));
}
public void testGetInvitesByInviteeUserName() throws Exception
@@ -610,14 +610,14 @@ public class InviteServiceTest extends BaseWebScriptTest
// get pending invites matching invitee user name from invite started
// above
JSONArray getInvitesResult = getInvitesByInviteeUserName(
JSONObject getInvitesResult = getInvitesByInviteeUserName(
inviteeUserName, Status.STATUS_OK);
assertEquals(true, getInvitesResult.length() > 0);
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
assertEquals(inviteeUserName, inviteJSONObj.get("inviteeUserName"));
assertEquals(inviteeUserName, inviteJSONObj.getJSONObject("invitee").get("userName"));
}
public void testGetInvitesBySiteShortName() throws Exception
@@ -635,12 +635,12 @@ public class InviteServiceTest extends BaseWebScriptTest
// get pending invites matching site short name from invite started
// above
JSONArray getInvitesResult = getInvitesBySiteShortName(siteShortName,
JSONObject getInvitesResult = getInvitesBySiteShortName(siteShortName,
Status.STATUS_OK);
assertEquals(true, getInvitesResult.length() > 0);
assertEquals(true, getInvitesResult.getJSONArray("invites").length() > 0);
JSONObject inviteJSONObj = getInvitesResult.getJSONObject(0);
JSONObject inviteJSONObj = getInvitesResult.getJSONArray("invites").getJSONObject(0);
assertEquals(siteShortName, inviteJSONObj.get("siteShortName"));
}

View File

@@ -25,10 +25,16 @@
package org.alfresco.repo.web.scripts.invite;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.alfresco.repo.jscript.ScriptNode;
import org.alfresco.repo.site.SiteService;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.PersonService;
import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.service.cmr.workflow.WorkflowTask;
import org.alfresco.service.cmr.workflow.WorkflowTaskQuery;
@@ -75,6 +81,9 @@ public class Invites extends DeclarativeWebScript
// service instances
private WorkflowService workflowService;
private NamespaceService namespaceService;
private PersonService personService;
private SiteService siteService;
private ServiceRegistry serviceRegistry;
/**
* Set the workflow service property
@@ -98,7 +107,19 @@ public class Invites extends DeclarativeWebScript
this.namespaceService = namespaceService;
}
/*
public void setPersonService(PersonService personService) {
this.personService = personService;
}
public void setServiceRegistry(ServiceRegistry serviceRegistry) {
this.serviceRegistry = serviceRegistry;
}
public void setSiteService(SiteService siteService) {
this.siteService = siteService;
}
/*
* (non-Javadoc)
*
* @see
@@ -240,9 +261,33 @@ public class Invites extends DeclarativeWebScript
// as "inviteId" onto model
String workflowId = workflowTask.path.instance.id;
// TODO: fetch correct workflow start date
Date sentInviteDate = new Date();
// TODO: fetchh correct role
String role = "SiteManager";
// TODO: assign correct state
String invitationStatus = "pending"; // "accepted", "declined"
// check whether we can find a person node for inviter/invitee
NodeRef inviterRef = personService.getPerson(inviterUserNameProp);
ScriptNode inviterPerson = null;
if (inviterRef != null)
{
inviterPerson = new ScriptNode(inviterRef, serviceRegistry);
}
NodeRef inviteeRef = personService.getPerson(inviteeUserNameProp);
ScriptNode inviteePerson = null;
if (inviteeRef != null)
{
inviteePerson = new ScriptNode(inviteeRef, serviceRegistry);
}
// create and add InviteInfo to inviteInfoList
InviteInfo inviteInfo = new InviteInfo(inviterUserNameProp,
inviteeUserNameProp, siteShortNameProp, workflowId);
InviteInfo inviteInfo = new InviteInfo(invitationStatus, inviterUserNameProp, inviterPerson,
inviteeUserNameProp, inviteePerson, role, siteShortNameProp, sentInviteDate, workflowId);
inviteInfoList.add(inviteInfo);
}