From 8ecfe10ea9a6a90e34cef3112a3ce33e008dab87 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 11 Nov 2016 17:32:48 +0000 Subject: [PATCH] Merged 5.2.N (5.2.1) to HEAD (5.2) 132658 rmunteanu: REPO-1457: The create site REST API implementation has appropriate extension points git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@132723 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/rest/api/impl/SitesImpl.java | 23 +++++++++++++++++-- .../alfresco/rest/api/tests/TestSites.java | 7 ++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/rest/api/impl/SitesImpl.java b/source/java/org/alfresco/rest/api/impl/SitesImpl.java index ea119e6db9..111714d536 100644 --- a/source/java/org/alfresco/rest/api/impl/SitesImpl.java +++ b/source/java/org/alfresco/rest/api/impl/SitesImpl.java @@ -1090,6 +1090,25 @@ public class SitesImpl implements Sites } + /** + * Uses site service for creating site info + * + * Extracted this call in a separate method because it might be needed to + * call different site service method when creating site info (e.g. + * siteService.createSite(String, String, String, String, SiteVisibility, QName)) + * + * @param site + * @return + */ + protected SiteInfo createSite(Site site) + { + if (site.getPreset() != null) + { + throw new InvalidArgumentException("Site preset should not be set"); + } + return siteService.createSite(DEFAULT_SITE_PRESET, site.getId(), site.getTitle(), site.getDescription(), site.getVisibility()); + } + /** * Create default/fixed preset (Share) site - with DocLib container/component * @@ -1104,7 +1123,7 @@ public class SitesImpl implements Sites SiteInfo siteInfo = null; try { - siteInfo = siteService.createSite(DEFAULT_SITE_PRESET, site.getId(), site.getTitle(), site.getDescription(), site.getVisibility()); + siteInfo = createSite(site); } catch (SiteServiceException sse) { @@ -1182,7 +1201,7 @@ public class SitesImpl implements Sites return getSite(siteId); } - private Site validateSite(Site site) + protected Site validateSite(Site site) { // site title - mandatory String siteTitle = site.getTitle(); diff --git a/source/test-java/org/alfresco/rest/api/tests/TestSites.java b/source/test-java/org/alfresco/rest/api/tests/TestSites.java index 544506623b..3f5ee5418b 100644 --- a/source/test-java/org/alfresco/rest/api/tests/TestSites.java +++ b/source/test-java/org/alfresco/rest/api/tests/TestSites.java @@ -490,6 +490,13 @@ public class TestSites extends EnterpriseTestApi } } + // -ve test - create site with a given preset (REPO-194 and REPO-1523) + { + publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1Id)); + + Site site = new SiteImpl().withPreset("testSitePreset"); + sitesProxy.createSite(site, 400); + } // Test Case cloud-1478 // Test Case cloud-1479 // user invited to network and user invited to site