Merged HEAD (5.2) to 5.2.N (5.2.1)

127528 jkaabimofrad: Merged API-STRIKES-BACK (5.2.0) to HEAD (5.2)
      125406 jvonka: RA-779 / RA-780: Sites API - initial commit for create site [default/functional Share site ;-)] & delete site


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@127638 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-06-03 13:59:39 +00:00
parent 0fe50bd9f0
commit bfa0404bab
15 changed files with 705 additions and 446 deletions

View File

@@ -28,6 +28,7 @@ package org.alfresco.rest.api.sites;
import org.alfresco.rest.api.Sites;
import org.alfresco.rest.api.model.Site;
import org.alfresco.rest.framework.WebApiDescription;
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
import org.alfresco.rest.framework.resource.EntityResource;
import org.alfresco.rest.framework.resource.actions.interfaces.EntityResourceAction;
import org.alfresco.rest.framework.resource.parameters.CollectionWithPagingInfo;
@@ -35,6 +36,9 @@ import org.alfresco.rest.framework.resource.parameters.Parameters;
import org.alfresco.util.ParameterCheck;
import org.springframework.beans.factory.InitializingBean;
import java.util.ArrayList;
import java.util.List;
/**
* An implementation of an Entity Resource for a Site
*
@@ -42,7 +46,9 @@ import org.springframework.beans.factory.InitializingBean;
* @author steveglover
*/
@EntityResource(name="sites", title = "Sites")
public class SiteEntityResource implements EntityResourceAction.Read<Site>, EntityResourceAction.ReadById<Site>, InitializingBean
public class SiteEntityResource implements EntityResourceAction.Read<Site>,
EntityResourceAction.ReadById<Site>, EntityResourceAction.Delete,
EntityResourceAction.Create<Site>, InitializingBean
{
private Sites sites;
@@ -79,4 +85,35 @@ public class SiteEntityResource implements EntityResourceAction.Read<Site>, Enti
return sites.getSite(siteId);
}
/**
* Delete the given site.
*
* @param siteId String id of site.
*/
@Override
@WebApiDescription(title = "Delete Site", description="Delete the site. This will cascade delete")
public void delete(String siteId, Parameters parameters)
{
sites.deleteSite(siteId, parameters);
}
/**
*
* @param entity
* @param parameters
* @return
*/
@Override
@WebApiDescription(title="Create site", description="Create the default/functional Share site")
public List<Site> create(List<Site> entity, Parameters parameters)
{
if (entity.size() != 1)
{
throw new InvalidArgumentException("Please specify one site entity only");
}
List<Site> result = new ArrayList<>(1);
result.add(sites.createSite(entity.get(0)));
return result;
}
}