mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
64426: Merged WAT1 (4.3/Cloud) to HEAD-BUG-FIX (4.3/Cloud) 62536: Reverted Sites Public REST API changes, committed in r61735 and r62502. Also updated CloudSiteServiceImpl overlay to override isSiteAdmin method. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@64572 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -16,7 +16,6 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.alfresco.rest.api;
|
package org.alfresco.rest.api;
|
||||||
|
|
||||||
import org.alfresco.query.PagingResults;
|
import org.alfresco.query.PagingResults;
|
||||||
@@ -24,7 +23,6 @@ import org.alfresco.rest.api.model.FavouriteSite;
|
|||||||
import org.alfresco.rest.api.model.MemberOfSite;
|
import org.alfresco.rest.api.model.MemberOfSite;
|
||||||
import org.alfresco.rest.api.model.Site;
|
import org.alfresco.rest.api.model.Site;
|
||||||
import org.alfresco.rest.api.model.SiteContainer;
|
import org.alfresco.rest.api.model.SiteContainer;
|
||||||
import org.alfresco.rest.api.model.SiteImpl;
|
|
||||||
import org.alfresco.rest.api.model.SiteMember;
|
import org.alfresco.rest.api.model.SiteMember;
|
||||||
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
||||||
import org.alfresco.rest.framework.resource.parameters.Paging;
|
import org.alfresco.rest.framework.resource.parameters.Paging;
|
||||||
@@ -36,17 +34,10 @@ import org.alfresco.service.cmr.site.SiteRole;
|
|||||||
public interface Sites
|
public interface Sites
|
||||||
{
|
{
|
||||||
SiteInfo validateSite(String siteShortName);
|
SiteInfo validateSite(String siteShortName);
|
||||||
|
|
||||||
SiteInfo validateSite(NodeRef nodeRef);
|
SiteInfo validateSite(NodeRef nodeRef);
|
||||||
|
|
||||||
CollectionWithPagingInfo<SiteMember> getSiteMembers(String siteShortName, Parameters parameters);
|
CollectionWithPagingInfo<SiteMember> getSiteMembers(String siteShortName, Parameters parameters);
|
||||||
|
|
||||||
Site getSite(String siteId);
|
Site getSite(String siteId);
|
||||||
|
|
||||||
SiteImpl updateSite(String siteShortName, SiteImpl site);
|
|
||||||
|
|
||||||
void deleteSite(String siteShortName);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* people/<personId>/sites/<siteId>
|
* people/<personId>/sites/<siteId>
|
||||||
*
|
*
|
||||||
@@ -55,32 +46,19 @@ public interface Sites
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
MemberOfSite getMemberOfSite(String personId, String siteShortName);
|
MemberOfSite getMemberOfSite(String personId, String siteShortName);
|
||||||
|
|
||||||
SiteMember getSiteMember(String personId, String siteShortName);
|
SiteMember getSiteMember(String personId, String siteShortName);
|
||||||
|
|
||||||
SiteMember addSiteMember(String siteShortName, SiteMember siteMember);
|
SiteMember addSiteMember(String siteShortName, SiteMember siteMember);
|
||||||
|
|
||||||
void removeSiteMember(String personId, String siteId);
|
void removeSiteMember(String personId, String siteId);
|
||||||
|
|
||||||
SiteMember updateSiteMember(String siteShortName, SiteMember siteMember);
|
SiteMember updateSiteMember(String siteShortName, SiteMember siteMember);
|
||||||
|
|
||||||
CollectionWithPagingInfo<MemberOfSite> getSites(String personId, Parameters parameters);
|
CollectionWithPagingInfo<MemberOfSite> getSites(String personId, Parameters parameters);
|
||||||
|
|
||||||
SiteContainer getSiteContainer(String siteShortName, String containerId);
|
SiteContainer getSiteContainer(String siteShortName, String containerId);
|
||||||
|
|
||||||
PagingResults<SiteContainer> getSiteContainers(String siteShortName, Paging paging);
|
PagingResults<SiteContainer> getSiteContainers(String siteShortName, Paging paging);
|
||||||
|
|
||||||
CollectionWithPagingInfo<Site> getSites(Parameters parameters);
|
CollectionWithPagingInfo<Site> getSites(Parameters parameters);
|
||||||
|
|
||||||
FavouriteSite getFavouriteSite(String personId, String siteShortName);
|
FavouriteSite getFavouriteSite(String personId, String siteShortName);
|
||||||
|
|
||||||
void addFavouriteSite(String personId, FavouriteSite favouriteSite);
|
void addFavouriteSite(String personId, FavouriteSite favouriteSite);
|
||||||
|
|
||||||
void removeFavouriteSite(String personId, String siteId);
|
void removeFavouriteSite(String personId, String siteId);
|
||||||
|
|
||||||
CollectionWithPagingInfo<FavouriteSite> getFavouriteSites(String personId, Parameters parameters);
|
CollectionWithPagingInfo<FavouriteSite> getFavouriteSites(String personId, Parameters parameters);
|
||||||
|
|
||||||
SiteRole getSiteRole(String siteId);
|
SiteRole getSiteRole(String siteId);
|
||||||
|
|
||||||
SiteRole getSiteRole(String siteId, String personId);
|
SiteRole getSiteRole(String siteId, String personId);
|
||||||
}
|
}
|
||||||
|
@@ -34,7 +34,6 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.alfresco.rest.api.impl;
|
package org.alfresco.rest.api.impl;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -86,7 +85,6 @@ import org.alfresco.service.cmr.repository.NodeService;
|
|||||||
import org.alfresco.service.cmr.site.SiteInfo;
|
import org.alfresco.service.cmr.site.SiteInfo;
|
||||||
import org.alfresco.service.cmr.site.SiteRole;
|
import org.alfresco.service.cmr.site.SiteRole;
|
||||||
import org.alfresco.service.cmr.site.SiteService;
|
import org.alfresco.service.cmr.site.SiteService;
|
||||||
import org.alfresco.service.cmr.site.SiteVisibility;
|
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.Pair;
|
import org.alfresco.util.Pair;
|
||||||
|
|
||||||
@@ -148,17 +146,17 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
SiteInfo siteInfo = null;
|
SiteInfo siteInfo = null;
|
||||||
|
|
||||||
if (guid == null)
|
if(guid == null)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("guid is null");
|
throw new InvalidArgumentException("guid is null");
|
||||||
}
|
}
|
||||||
nodes.validateNode(guid);
|
nodes.validateNode(guid);
|
||||||
QName type = nodeService.getType(guid);
|
QName type = nodeService.getType(guid);
|
||||||
boolean isSiteNodeRef = dictionaryService.isSubClass(type, SiteModel.TYPE_SITE);
|
boolean isSiteNodeRef = dictionaryService.isSubClass(type, SiteModel.TYPE_SITE);
|
||||||
if (isSiteNodeRef)
|
if(isSiteNodeRef)
|
||||||
{
|
{
|
||||||
siteInfo = siteService.getSite(guid);
|
siteInfo = siteService.getSite(guid);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// not a site
|
// not a site
|
||||||
throw new InvalidArgumentException(guid.getId() + " is not a site");
|
throw new InvalidArgumentException(guid.getId() + " is not a site");
|
||||||
@@ -175,7 +173,7 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
public SiteInfo validateSite(String siteId)
|
public SiteInfo validateSite(String siteId)
|
||||||
{
|
{
|
||||||
if (siteId == null)
|
if(siteId == null)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("siteId is null");
|
throw new InvalidArgumentException("siteId is null");
|
||||||
}
|
}
|
||||||
@@ -186,13 +184,12 @@ public class SitesImpl implements Sites
|
|||||||
public CollectionWithPagingInfo<SiteMember> getSiteMembers(String siteId, Parameters parameters)
|
public CollectionWithPagingInfo<SiteMember> getSiteMembers(String siteId, Parameters parameters)
|
||||||
{
|
{
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
Paging paging = parameters.getPaging();
|
Paging paging = parameters.getPaging();
|
||||||
@@ -208,7 +205,7 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
List<SiteMembership> siteMembers = pagedResults.getPage();
|
List<SiteMembership> siteMembers = pagedResults.getPage();
|
||||||
List<SiteMember> ret = new ArrayList<SiteMember>(siteMembers.size());
|
List<SiteMember> ret = new ArrayList<SiteMember>(siteMembers.size());
|
||||||
for (SiteMembership siteMembership : siteMembers)
|
for(SiteMembership siteMembership : siteMembers)
|
||||||
{
|
{
|
||||||
SiteMember siteMember = new SiteMember(siteMembership.getPersonId(), siteMembership.getRole());
|
SiteMember siteMember = new SiteMember(siteMembership.getPersonId(), siteMembership.getRole());
|
||||||
ret.add(siteMember);
|
ret.add(siteMember);
|
||||||
@@ -238,16 +235,15 @@ public class SitesImpl implements Sites
|
|||||||
public Site getSite(String siteId, boolean includeRole)
|
public Site getSite(String siteId, boolean includeRole)
|
||||||
{
|
{
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
SiteRole role = null;
|
SiteRole role = null;
|
||||||
if (includeRole)
|
if(includeRole)
|
||||||
{
|
{
|
||||||
role = getSiteRole(siteId);
|
role = getSiteRole(siteId);
|
||||||
}
|
}
|
||||||
@@ -267,17 +263,16 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(personId, siteId);
|
throw new RelationshipResourceNotFoundException(personId, siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
String roleStr = siteService.getMembersRole(siteInfo.getShortName(), personId);
|
String roleStr = siteService.getMembersRole(siteInfo.getShortName(), personId);
|
||||||
if (roleStr != null)
|
if(roleStr != null)
|
||||||
{
|
{
|
||||||
SiteRole role = SiteRole.valueOf(roleStr);
|
SiteRole role = SiteRole.valueOf(roleStr);
|
||||||
SiteImpl site = new SiteImpl(siteInfo, role);
|
SiteImpl site = new SiteImpl(siteInfo, role);
|
||||||
@@ -297,7 +292,7 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(personId, siteId);
|
throw new RelationshipResourceNotFoundException(personId, siteId);
|
||||||
@@ -305,7 +300,7 @@ public class SitesImpl implements Sites
|
|||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
String role = siteService.getMembersRole(siteId, personId);
|
String role = siteService.getMembersRole(siteId, personId);
|
||||||
if (role != null)
|
if(role != null)
|
||||||
{
|
{
|
||||||
siteMember = new SiteMember(personId, SiteRole.valueOf(role));
|
siteMember = new SiteMember(personId, SiteRole.valueOf(role));
|
||||||
}
|
}
|
||||||
@@ -321,28 +316,27 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
String personId = people.validatePerson(siteMember.getPersonId());
|
String personId = people.validatePerson(siteMember.getPersonId());
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
SiteRole siteRole = siteMember.getRole();
|
SiteRole siteRole = siteMember.getRole();
|
||||||
if (siteRole == null)
|
if(siteRole == null)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("Must provide a role");
|
throw new InvalidArgumentException("Must provide a role");
|
||||||
}
|
}
|
||||||
String role = siteRole.name();
|
String role = siteRole.name();
|
||||||
|
|
||||||
if (siteService.isMember(siteId, personId))
|
if(siteService.isMember(siteId, personId))
|
||||||
{
|
{
|
||||||
throw new ConstraintViolatedException(personId + " is already a member of site " + siteId);
|
throw new ConstraintViolatedException(personId + " is already a member of site " + siteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!siteService.canAddMember(siteId, personId, role))
|
if(!siteService.canAddMember(siteId, personId, role))
|
||||||
{
|
{
|
||||||
throw new PermissionDeniedException();
|
throw new PermissionDeniedException();
|
||||||
}
|
}
|
||||||
@@ -355,27 +349,26 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(personId, siteId);
|
throw new RelationshipResourceNotFoundException(personId, siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
boolean isMember = siteService.isMember(siteId, personId);
|
boolean isMember = siteService.isMember(siteId, personId);
|
||||||
if (!isMember)
|
if(!isMember)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException();
|
throw new InvalidArgumentException();
|
||||||
}
|
}
|
||||||
String role = siteService.getMembersRole(siteId, personId);
|
String role = siteService.getMembersRole(siteId, personId);
|
||||||
if (role != null)
|
if(role != null)
|
||||||
{
|
{
|
||||||
if (role.equals(SiteModel.SITE_MANAGER))
|
if(role.equals(SiteModel.SITE_MANAGER))
|
||||||
{
|
{
|
||||||
int numAuthorities = siteService.countAuthoritiesWithRole(siteId, SiteModel.SITE_MANAGER);
|
int numAuthorities = siteService.countAuthoritiesWithRole(siteId, SiteModel.SITE_MANAGER);
|
||||||
if (numAuthorities <= 1)
|
if(numAuthorities <= 1)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("Can't remove last manager of site " + siteId);
|
throw new InvalidArgumentException("Can't remove last manager of site " + siteId);
|
||||||
}
|
}
|
||||||
@@ -395,20 +388,20 @@ public class SitesImpl implements Sites
|
|||||||
public SiteMember updateSiteMember(String siteId, SiteMember siteMember)
|
public SiteMember updateSiteMember(String siteId, SiteMember siteMember)
|
||||||
{
|
{
|
||||||
String siteMemberId = siteMember.getPersonId();
|
String siteMemberId = siteMember.getPersonId();
|
||||||
if (siteMemberId == null)
|
if(siteMemberId == null)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("Member id is null");
|
throw new InvalidArgumentException("Member id is null");
|
||||||
}
|
}
|
||||||
siteMemberId = people.validatePerson(siteMemberId);
|
siteMemberId = people.validatePerson(siteMemberId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
SiteRole siteRole = siteMember.getRole();
|
SiteRole siteRole = siteMember.getRole();
|
||||||
if (siteRole == null)
|
if(siteRole == null)
|
||||||
{
|
{
|
||||||
throw new InvalidArgumentException("Must provide a role");
|
throw new InvalidArgumentException("Must provide a role");
|
||||||
}
|
}
|
||||||
@@ -432,11 +425,10 @@ public class SitesImpl implements Sites
|
|||||||
PagingResults<SiteMembership> results = siteService.listSitesPaged(personId, sort, pagingRequest);
|
PagingResults<SiteMembership> results = siteService.listSitesPaged(personId, sort, pagingRequest);
|
||||||
List<SiteMembership> siteMembers = results.getPage();
|
List<SiteMembership> siteMembers = results.getPage();
|
||||||
List<MemberOfSite> ret = new ArrayList<MemberOfSite>(siteMembers.size());
|
List<MemberOfSite> ret = new ArrayList<MemberOfSite>(siteMembers.size());
|
||||||
for (SiteMembership siteMember : siteMembers)
|
for(SiteMembership siteMember : siteMembers)
|
||||||
{
|
{
|
||||||
SiteInfo siteInfo = siteMember.getSiteInfo();
|
SiteInfo siteInfo = siteMember.getSiteInfo();
|
||||||
MemberOfSite memberOfSite = new MemberOfSite(siteInfo.getShortName(), siteInfo.getNodeRef(),
|
MemberOfSite memberOfSite = new MemberOfSite(siteInfo.getShortName(), siteInfo.getNodeRef(), siteMember.getRole());
|
||||||
siteMember.getRole());
|
|
||||||
ret.add(memberOfSite);
|
ret.add(memberOfSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,37 +439,35 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
// check site and container node validity
|
// check site and container node validity
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
NodeRef containerNodeRef = siteService.getContainer(siteId, containerId);
|
NodeRef containerNodeRef = siteService.getContainer(siteId, containerId);
|
||||||
if (containerNodeRef == null)
|
if(containerNodeRef == null)
|
||||||
{
|
{
|
||||||
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// check that the containerId is actually a container for the specified
|
// check that the containerId is actually a container for the specified site
|
||||||
// site
|
|
||||||
SiteInfo testSiteInfo = siteService.getSite(containerNodeRef);
|
SiteInfo testSiteInfo = siteService.getSite(containerNodeRef);
|
||||||
if (testSiteInfo == null)
|
if(testSiteInfo == null)
|
||||||
{
|
{
|
||||||
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!testSiteInfo.getShortName().equals(siteId))
|
if(!testSiteInfo.getShortName().equals(siteId))
|
||||||
{
|
{
|
||||||
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
throw new RelationshipResourceNotFoundException(siteId, containerId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String folderId = (String) nodeService.getProperty(containerNodeRef, SiteModel.PROP_COMPONENT_ID);
|
String folderId = (String)nodeService.getProperty(containerNodeRef, SiteModel.PROP_COMPONENT_ID);
|
||||||
|
|
||||||
SiteContainer siteContainer = new SiteContainer(folderId, containerNodeRef);
|
SiteContainer siteContainer = new SiteContainer(folderId, containerNodeRef);
|
||||||
return siteContainer;
|
return siteContainer;
|
||||||
@@ -486,20 +476,19 @@ public class SitesImpl implements Sites
|
|||||||
public PagingResults<SiteContainer> getSiteContainers(String siteId, Paging paging)
|
public PagingResults<SiteContainer> getSiteContainers(String siteId, Paging paging)
|
||||||
{
|
{
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
final PagingResults<FileInfo> pagingResults = siteService.listContainers(siteInfo.getShortName(),
|
final PagingResults<FileInfo> pagingResults = siteService.listContainers(siteInfo.getShortName(), Util.getPagingRequest(paging));
|
||||||
Util.getPagingRequest(paging));
|
|
||||||
List<FileInfo> containerFileInfos = pagingResults.getPage();
|
List<FileInfo> containerFileInfos = pagingResults.getPage();
|
||||||
final List<SiteContainer> siteContainers = new ArrayList<SiteContainer>(containerFileInfos.size());
|
final List<SiteContainer> siteContainers = new ArrayList<SiteContainer>(containerFileInfos.size());
|
||||||
for (FileInfo containerFileInfo : containerFileInfos)
|
for(FileInfo containerFileInfo : containerFileInfos)
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = containerFileInfo.getNodeRef();
|
NodeRef nodeRef = containerFileInfo.getNodeRef();
|
||||||
String containerId = (String) nodeService.getProperty(nodeRef, SiteModel.PROP_COMPONENT_ID);
|
String containerId = (String)nodeService.getProperty(nodeRef, SiteModel.PROP_COMPONENT_ID);
|
||||||
SiteContainer siteContainer = new SiteContainer(containerId, nodeRef);
|
SiteContainer siteContainer = new SiteContainer(containerId, nodeRef);
|
||||||
siteContainers.add(siteContainer);
|
siteContainers.add(siteContainer);
|
||||||
}
|
}
|
||||||
@@ -537,28 +526,11 @@ public class SitesImpl implements Sites
|
|||||||
final BeanPropertiesFilter filter = parameters.getFilter();
|
final BeanPropertiesFilter filter = parameters.getFilter();
|
||||||
|
|
||||||
Paging paging = parameters.getPaging();
|
Paging paging = parameters.getPaging();
|
||||||
final PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
PagingRequest pagingRequest = Util.getPagingRequest(paging);
|
||||||
// pagingRequest.setRequestTotalCountMax(requestTotalCountMax)
|
// pagingRequest.setRequestTotalCountMax(requestTotalCountMax)
|
||||||
final List<Pair<QName, Boolean>> sortProps = new ArrayList<Pair<QName, Boolean>>();
|
List<Pair<QName, Boolean>> sortProps = new ArrayList<Pair<QName, Boolean>>();
|
||||||
sortProps.add(new Pair<QName, Boolean>(ContentModel.PROP_NAME, Boolean.TRUE));
|
sortProps.add(new Pair<QName, Boolean>(ContentModel.PROP_NAME, Boolean.TRUE));
|
||||||
|
final PagingResults<SiteInfo> pagingResult = siteService.listSites(null, sortProps, pagingRequest);
|
||||||
PagingResults<SiteInfo> pagingResult = null;
|
|
||||||
boolean withSiteAdminScope = Boolean.valueOf(parameters.getParameter("admin"));
|
|
||||||
if (withSiteAdminScope && siteService.isSiteAdmin(AuthenticationUtil.getFullyAuthenticatedUser()))
|
|
||||||
{
|
|
||||||
pagingResult = AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<PagingResults<SiteInfo>>()
|
|
||||||
{
|
|
||||||
public PagingResults<SiteInfo> doWork() throws Exception
|
|
||||||
{
|
|
||||||
return siteService.listSites(null, sortProps, pagingRequest);
|
|
||||||
}
|
|
||||||
}, AuthenticationUtil.getSystemUserName());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pagingResult = siteService.listSites(null, sortProps, pagingRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
final List<SiteInfo> sites = pagingResult.getPage();
|
final List<SiteInfo> sites = pagingResult.getPage();
|
||||||
int totalItems = pagingResult.getTotalResultCount().getFirst();
|
int totalItems = pagingResult.getTotalResultCount().getFirst();
|
||||||
final String personId = AuthenticationUtil.getFullyAuthenticatedUser();
|
final String personId = AuthenticationUtil.getFullyAuthenticatedUser();
|
||||||
@@ -570,7 +542,7 @@ public class SitesImpl implements Sites
|
|||||||
SiteInfo siteInfo = sites.get(index);
|
SiteInfo siteInfo = sites.get(index);
|
||||||
|
|
||||||
SiteRole role = null;
|
SiteRole role = null;
|
||||||
if (filter.isAllowed(Site.ROLE))
|
if(filter.isAllowed(Site.ROLE))
|
||||||
{
|
{
|
||||||
String roleStr = siteService.getMembersRole(siteInfo.getShortName(), personId);
|
String roleStr = siteService.getMembersRole(siteInfo.getShortName(), personId);
|
||||||
role = (roleStr != null ? SiteRole.valueOf(roleStr) : null);
|
role = (roleStr != null ? SiteRole.valueOf(roleStr) : null);
|
||||||
@@ -592,17 +564,16 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(personId, siteId);
|
throw new RelationshipResourceNotFoundException(personId, siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
NodeRef nodeRef = siteInfo.getNodeRef();
|
NodeRef nodeRef = siteInfo.getNodeRef();
|
||||||
|
|
||||||
if (favouritesService.isFavourite(personId, nodeRef))
|
if(favouritesService.isFavourite(personId, nodeRef))
|
||||||
{
|
{
|
||||||
SiteRole role = getSiteRole(siteId, personId);
|
SiteRole role = getSiteRole(siteId, personId);
|
||||||
return new FavouriteSite(siteInfo, role);
|
return new FavouriteSite(siteInfo, role);
|
||||||
@@ -618,21 +589,20 @@ public class SitesImpl implements Sites
|
|||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
String siteId = favouriteSite.getId();
|
String siteId = favouriteSite.getId();
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new EntityNotFoundException(siteId);
|
throw new EntityNotFoundException(siteId);
|
||||||
}
|
}
|
||||||
// set the site id to the short name (to deal with case sensitivity
|
// set the site id to the short name (to deal with case sensitivity issues with using the siteId from the url)
|
||||||
// issues with using the siteId from the url)
|
|
||||||
siteId = siteInfo.getShortName();
|
siteId = siteInfo.getShortName();
|
||||||
|
|
||||||
StringBuilder prefKey = new StringBuilder(FAVOURITE_SITES_PREFIX);
|
StringBuilder prefKey = new StringBuilder(FAVOURITE_SITES_PREFIX);
|
||||||
prefKey.append(siteId);
|
prefKey.append(siteId);
|
||||||
String value = (String) preferenceService.getPreference(personId, prefKey.toString());
|
String value = (String)preferenceService.getPreference(personId, prefKey.toString());
|
||||||
boolean isFavouriteSite = (value == null ? false : value.equalsIgnoreCase("true"));
|
boolean isFavouriteSite = (value == null ? false : value.equalsIgnoreCase("true"));
|
||||||
|
|
||||||
if (isFavouriteSite)
|
if(isFavouriteSite)
|
||||||
{
|
{
|
||||||
throw new ConstraintViolatedException("Site " + siteId + " is already a favourite site");
|
throw new ConstraintViolatedException("Site " + siteId + " is already a favourite site");
|
||||||
}
|
}
|
||||||
@@ -649,7 +619,7 @@ public class SitesImpl implements Sites
|
|||||||
{
|
{
|
||||||
personId = people.validatePerson(personId);
|
personId = people.validatePerson(personId);
|
||||||
SiteInfo siteInfo = validateSite(siteId);
|
SiteInfo siteInfo = validateSite(siteId);
|
||||||
if (siteInfo == null)
|
if(siteInfo == null)
|
||||||
{
|
{
|
||||||
// site does not exist
|
// site does not exist
|
||||||
throw new RelationshipResourceNotFoundException(personId, siteId);
|
throw new RelationshipResourceNotFoundException(personId, siteId);
|
||||||
@@ -658,10 +628,10 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
StringBuilder prefKey = new StringBuilder(FAVOURITE_SITES_PREFIX);
|
StringBuilder prefKey = new StringBuilder(FAVOURITE_SITES_PREFIX);
|
||||||
prefKey.append(siteId);
|
prefKey.append(siteId);
|
||||||
String value = (String) preferenceService.getPreference(personId, prefKey.toString());
|
String value = (String)preferenceService.getPreference(personId, prefKey.toString());
|
||||||
boolean isFavouriteSite = (value == null ? false : value.equalsIgnoreCase("true"));
|
boolean isFavouriteSite = (value == null ? false : value.equalsIgnoreCase("true"));
|
||||||
|
|
||||||
if (!isFavouriteSite)
|
if(!isFavouriteSite)
|
||||||
{
|
{
|
||||||
throw new NotFoundException("Site " + siteId + " is not a favourite site");
|
throw new NotFoundException("Site " + siteId + " is not a favourite site");
|
||||||
}
|
}
|
||||||
@@ -683,20 +653,19 @@ public class SitesImpl implements Sites
|
|||||||
});
|
});
|
||||||
|
|
||||||
Map<String, Serializable> prefs = preferenceService.getPreferences(userName, FAVOURITE_SITES_PREFIX);
|
Map<String, Serializable> prefs = preferenceService.getPreferences(userName, FAVOURITE_SITES_PREFIX);
|
||||||
for (Entry<String, Serializable> entry : prefs.entrySet())
|
for(Entry<String, Serializable> entry : prefs.entrySet())
|
||||||
{
|
{
|
||||||
boolean isFavourite = false;
|
boolean isFavourite = false;
|
||||||
Serializable s = entry.getValue();
|
Serializable s = entry.getValue();
|
||||||
if (s instanceof Boolean)
|
if(s instanceof Boolean)
|
||||||
{
|
{
|
||||||
isFavourite = (Boolean) s;
|
isFavourite = (Boolean)s;
|
||||||
}
|
}
|
||||||
if (isFavourite)
|
if(isFavourite)
|
||||||
{
|
{
|
||||||
String siteShortName = entry.getKey().substring(FAVOURITE_SITES_PREFIX_LENGTH)
|
String siteShortName = entry.getKey().substring(FAVOURITE_SITES_PREFIX_LENGTH).replace(".favourited", "");
|
||||||
.replace(".favourited", "");
|
|
||||||
SiteInfo siteInfo = siteService.getSite(siteShortName);
|
SiteInfo siteInfo = siteService.getSite(siteShortName);
|
||||||
if (siteInfo != null)
|
if(siteInfo != null)
|
||||||
{
|
{
|
||||||
sortedFavouriteSites.add(siteInfo);
|
sortedFavouriteSites.add(siteInfo);
|
||||||
}
|
}
|
||||||
@@ -708,16 +677,16 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
final List<SiteInfo> page = new ArrayList<SiteInfo>(pageDetails.getPageSize());
|
final List<SiteInfo> page = new ArrayList<SiteInfo>(pageDetails.getPageSize());
|
||||||
Iterator<SiteInfo> it = sortedFavouriteSites.iterator();
|
Iterator<SiteInfo> it = sortedFavouriteSites.iterator();
|
||||||
for (int counter = 0; counter < pageDetails.getEnd() && it.hasNext(); counter++)
|
for(int counter = 0; counter < pageDetails.getEnd() && it.hasNext(); counter++)
|
||||||
{
|
{
|
||||||
SiteInfo favouriteSite = it.next();
|
SiteInfo favouriteSite = it.next();
|
||||||
|
|
||||||
if (counter < pageDetails.getSkipCount())
|
if(counter < pageDetails.getSkipCount())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (counter > pageDetails.getEnd() - 1)
|
if(counter > pageDetails.getEnd() - 1)
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -763,10 +732,10 @@ public class SitesImpl implements Sites
|
|||||||
|
|
||||||
PagingResults<SiteInfo> favouriteSites = getFavouriteSites(personId, Util.getPagingRequest(paging));
|
PagingResults<SiteInfo> favouriteSites = getFavouriteSites(personId, Util.getPagingRequest(paging));
|
||||||
List<FavouriteSite> favourites = new ArrayList<FavouriteSite>(favouriteSites.getPage().size());
|
List<FavouriteSite> favourites = new ArrayList<FavouriteSite>(favouriteSites.getPage().size());
|
||||||
for (SiteInfo favouriteSite : favouriteSites.getPage())
|
for(SiteInfo favouriteSite : favouriteSites.getPage())
|
||||||
{
|
{
|
||||||
SiteRole role = null;
|
SiteRole role = null;
|
||||||
if (filter.isAllowed(Site.ROLE))
|
if(filter.isAllowed(Site.ROLE))
|
||||||
{
|
{
|
||||||
role = getSiteRole(favouriteSite.getShortName(), personId);
|
role = getSiteRole(favouriteSite.getShortName(), personId);
|
||||||
}
|
}
|
||||||
@@ -774,80 +743,6 @@ public class SitesImpl implements Sites
|
|||||||
favourites.add(favourite);
|
favourites.add(favourite);
|
||||||
}
|
}
|
||||||
|
|
||||||
return CollectionWithPagingInfo.asPaged(paging, favourites, favouriteSites.hasMoreItems(), favouriteSites
|
return CollectionWithPagingInfo.asPaged(paging, favourites, favouriteSites.hasMoreItems(), favouriteSites.getTotalResultCount().getFirst());
|
||||||
.getTotalResultCount().getFirst());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SiteImpl updateSite(final String siteShortName, final SiteImpl siteImpl)
|
|
||||||
{
|
|
||||||
if (siteService.isSiteAdmin(AuthenticationUtil.getFullyAuthenticatedUser()))
|
|
||||||
{
|
|
||||||
return AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<SiteImpl>()
|
|
||||||
{
|
|
||||||
public SiteImpl doWork() throws Exception
|
|
||||||
{
|
|
||||||
// We have to wrap the whole method not just
|
|
||||||
// siteService.updateSite, as validateSite
|
|
||||||
// won't give us the private sites for site-admins
|
|
||||||
return updateSiteImpl(siteShortName, siteImpl);
|
|
||||||
}
|
|
||||||
}, AuthenticationUtil.getSystemUserName());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return updateSiteImpl(siteShortName, siteImpl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private SiteImpl updateSiteImpl(String siteShortName, SiteImpl siteImpl)
|
|
||||||
{
|
|
||||||
SiteInfo siteInfo = validateSite(siteShortName);
|
|
||||||
if (siteInfo == null)
|
|
||||||
{
|
|
||||||
// site does not exist
|
|
||||||
throw new EntityNotFoundException(siteShortName);
|
|
||||||
}
|
|
||||||
// Set the site's visibility
|
|
||||||
SiteVisibility siteVisibility = siteImpl.getVisibility();
|
|
||||||
if (siteVisibility == null)
|
|
||||||
{
|
|
||||||
throw new InvalidArgumentException("Must provide visibility");
|
|
||||||
}
|
|
||||||
siteInfo.setVisibility(siteImpl.getVisibility());
|
|
||||||
siteService.updateSite(siteInfo);
|
|
||||||
|
|
||||||
return siteImpl;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deleteSite(final String siteShortName)
|
|
||||||
{
|
|
||||||
if (siteService.isSiteAdmin(AuthenticationUtil.getFullyAuthenticatedUser()))
|
|
||||||
{
|
|
||||||
AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Void>()
|
|
||||||
{
|
|
||||||
public Void doWork() throws Exception
|
|
||||||
{
|
|
||||||
deleteSiteImpl(siteShortName);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}, AuthenticationUtil.getSystemUserName());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
deleteSiteImpl(siteShortName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void deleteSiteImpl(String siteShortName)
|
|
||||||
{
|
|
||||||
SiteInfo siteInfo = validateSite(siteShortName);
|
|
||||||
if (siteInfo == null)
|
|
||||||
{
|
|
||||||
// site does not exist
|
|
||||||
throw new EntityNotFoundException(siteShortName);
|
|
||||||
}
|
|
||||||
siteService.deleteSite(siteInfo.getShortName());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,15 +16,11 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.alfresco.rest.api.sites;
|
package org.alfresco.rest.api.sites;
|
||||||
|
|
||||||
import org.alfresco.rest.api.Sites;
|
import org.alfresco.rest.api.Sites;
|
||||||
import org.alfresco.rest.api.model.Site;
|
import org.alfresco.rest.api.model.Site;
|
||||||
import org.alfresco.rest.api.model.SiteImpl;
|
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
|
||||||
import org.alfresco.rest.framework.core.ResourceParameter.KIND;
|
|
||||||
import org.alfresco.rest.framework.resource.EntityResource;
|
import org.alfresco.rest.framework.resource.EntityResource;
|
||||||
import org.alfresco.rest.framework.resource.actions.interfaces.EntityResourceAction;
|
import org.alfresco.rest.framework.resource.actions.interfaces.EntityResourceAction;
|
||||||
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
|
||||||
@@ -38,9 +34,8 @@ import org.springframework.beans.factory.InitializingBean;
|
|||||||
* @author Gethin James
|
* @author Gethin James
|
||||||
* @author steveglover
|
* @author steveglover
|
||||||
*/
|
*/
|
||||||
@EntityResource(name = "sites", title = "Sites")
|
@EntityResource(name="sites", title = "Sites")
|
||||||
public class SiteEntityResource implements EntityResourceAction.Read<Site>, EntityResourceAction.ReadById<Site>,
|
public class SiteEntityResource implements EntityResourceAction.Read<Site>, EntityResourceAction.ReadById<Site>, InitializingBean
|
||||||
EntityResourceAction.Delete, EntityResourceAction.Update<SiteImpl>, InitializingBean
|
|
||||||
{
|
{
|
||||||
private Sites sites;
|
private Sites sites;
|
||||||
|
|
||||||
@@ -61,8 +56,7 @@ public class SiteEntityResource implements EntityResourceAction.Read<Site>, Enti
|
|||||||
* @see org.alfresco.rest.framework.resource.actions.interfaces.CollectionResourceAction.Get#get()
|
* @see org.alfresco.rest.framework.resource.actions.interfaces.CollectionResourceAction.Get#get()
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@WebApiDescription(title = "A paged list of visible sites in the network.", description = "A site is visible if it is public or if the person is a member")
|
@WebApiDescription(title="A paged list of visible sites in the network.", description="A site is visible if it is public or if the person is a member")
|
||||||
@WebApiParam(name = "admin", title = "Admin", description = "An optional filter that when is set to true and the user has ‘site-admin’ permission, a paged list of all sites in the network will be returned.", kind = KIND.QUERY_STRING)
|
|
||||||
public CollectionWithPagingInfo<Site> readAll(Parameters parameters)
|
public CollectionWithPagingInfo<Site> readAll(Parameters parameters)
|
||||||
{
|
{
|
||||||
return sites.getSites(parameters);
|
return sites.getSites(parameters);
|
||||||
@@ -70,35 +64,13 @@ public class SiteEntityResource implements EntityResourceAction.Read<Site>, Enti
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns information regarding the site 'siteId'.
|
* Returns information regarding the site 'siteId'.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@WebApiDescription(title = "Returns site information for site siteId.")
|
@WebApiDescription(title="Returns site information for site siteId.")
|
||||||
public Site readById(String siteId, Parameters parameters)
|
public Site readById(String siteId, Parameters parameters)
|
||||||
{
|
{
|
||||||
return sites.getSite(siteId);
|
return sites.getSite(siteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* PUT sites/{@literal <siteId>}
|
|
||||||
* <p>
|
|
||||||
* Updates the <i>visibility</i> of the site.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@WebApiDescription(title = "Updates the visibility of the site.")
|
|
||||||
public SiteImpl update(String siteId, SiteImpl entity, Parameters parameters)
|
|
||||||
{
|
|
||||||
return sites.updateSite(siteId, entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Delete sites/{@literal <siteId>}
|
|
||||||
* <p>
|
|
||||||
* Deletes the site.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@WebApiDescription(title = "Deletes the site.")
|
|
||||||
public void delete(String siteId, Parameters parameters)
|
|
||||||
{
|
|
||||||
sites.deleteSite(siteId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -131,8 +131,7 @@ public class TestSites extends EnterpriseTestApi
|
|||||||
}
|
}
|
||||||
catch(PublicApiException e)
|
catch(PublicApiException e)
|
||||||
{
|
{
|
||||||
// ACE-511: as we added Delete method, the status code needed to be changed from 405 (Method Not Allowed) to 404.
|
assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
|
||||||
assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// invalid site
|
// invalid site
|
||||||
|
Reference in New Issue
Block a user