RM-4199: after review changes

This commit is contained in:
Silviu Dinuta
2016-10-21 11:58:11 +03:00
parent ffdd4e70de
commit 3fd9de89a0
12 changed files with 88 additions and 51 deletions

View File

@@ -24,7 +24,7 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package org.alfresco.rm.rest.api.impl;
package org.alfresco.rm.rest.api;
import org.alfresco.rest.api.Nodes;

View File

@@ -31,7 +31,21 @@ import org.alfresco.rest.api.Sites;
import org.alfresco.rest.framework.resource.parameters.Parameters;
import org.alfresco.rm.rest.api.model.RMSite;
/**
* RM Sites API
*
* @author Silviu Dinuta
* @since 2.6
*
*/
public interface RMSites extends Sites
{
/**
* Creates RM site
*
* @param site
* @param parameters
* @return
*/
RMSite createRMSite(RMSite site, Parameters parameters);
}

View File

@@ -46,6 +46,7 @@ import org.alfresco.rest.api.model.UserInfo;
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException;
import org.alfresco.rest.framework.resource.parameters.Parameters;
import org.alfresco.rm.rest.api.RMNodes;
import org.alfresco.rm.rest.api.model.CategoryNode;
import org.alfresco.rm.rest.api.model.FileplanComponentNode;
import org.alfresco.rm.rest.api.model.RecordFolderNode;

View File

@@ -61,10 +61,12 @@ import org.alfresco.service.namespace.QName;
*/
public class RMSitesImpl extends SitesImpl implements RMSites
{
private static final String RM_SITE_PRESET = "rm-site-dashboard";
private static final String RM_SITE_ID = "rm";
private static final int SITE_MAXLEN_TITLE = 256;
private static final int SITE_MAXLEN_DESCRIPTION = 512;
@Override
public RMSite createRMSite(RMSite rmSite, Parameters parameters)
{
RMSiteCompliance compliance = rmSite.getCompliance();
@@ -77,13 +79,15 @@ public class RMSitesImpl extends SitesImpl implements RMSites
}
@Override
public Site createSite(Site site, Parameters parameters) {
public Site createSite(Site site, Parameters parameters)
{
site = validateSite(site);
SiteInfo siteInfo = null;
try
{
siteInfo = siteService.createSite("rm-site-dashboard", RM_SITE_ID, site.getTitle(), site.getDescription(), SiteVisibility.PUBLIC, getRMSiteType((RMSite) site));
siteInfo = siteService.createSite(RM_SITE_PRESET, RM_SITE_ID, site.getTitle(), site.getDescription(),
SiteVisibility.PUBLIC, getRMSiteType((RMSite) site));
}
catch (SiteServiceException sse)
{
@@ -106,8 +110,13 @@ public class RMSitesImpl extends SitesImpl implements RMSites
// pre-create doclib
siteService.createContainer(siteId, SiteService.DOCUMENT_LIBRARY, ContentModel.TYPE_FOLDER, null);
String personId = AuthenticationUtil.getFullyAuthenticatedUser();
favouritesService.addFavourite(personId, siteNodeRef); // ignore result
// default false (if not provided)
boolean skipAddToFavorites = Boolean.valueOf(parameters.getParameter(PARAM_SKIP_ADDTOFAVORITES));
if (skipAddToFavorites == false)
{
String personId = AuthenticationUtil.getFullyAuthenticatedUser();
favouritesService.addFavourite(personId, siteNodeRef); // ignore result
}
return getSite(siteInfo, true);
}
@@ -217,11 +226,21 @@ public class RMSitesImpl extends SitesImpl implements RMSites
return site;
}
private QName getRMSiteType(RMSite rmSite) {
/**
* Gets RM site type based on compliance.
*
* @param rmSite
* @return
*/
private QName getRMSiteType(RMSite rmSite)
{
RMSiteCompliance compliance = rmSite.getCompliance();
if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD)) {
if (compliance == null || compliance.equals(RMSiteCompliance.STANDARD))
{
return RecordsManagementModel.TYPE_RM_SITE;
} else {
}
else
{
return DOD5015Model.TYPE_DOD_5015_SITE;
}
}

View File

@@ -31,23 +31,28 @@ import org.alfresco.rest.api.model.Site;
import org.alfresco.service.cmr.site.SiteInfo;
/**
* Concrete class carrying general information for RM site
*
* @author Silviu Dinuta
* @since 2.6
*
*/
public class RMSite extends Site
{
private RMSiteCompliance compliance;
public RMSiteCompliance getCompliance() {
public RMSiteCompliance getCompliance()
{
return compliance;
}
public void setCompliance(RMSiteCompliance compliance) {
public void setCompliance(RMSiteCompliance compliance)
{
this.compliance = compliance;
}
public RMSite() {
public RMSite()
{
super();
}
@@ -62,10 +67,12 @@ public class RMSite extends Site
this.compliance = compliance;
}
public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance) {
public RMSite(SiteInfo siteInfo, String role, RMSiteCompliance compliance)
{
super(siteInfo, role);
this.compliance = compliance;
}
@Override
public String toString()
{
@@ -73,5 +80,4 @@ public class RMSite extends Site
+ title + ", description=" + description + ", visibility="
+ visibility + ", role=" + role + ", compliance="+ compliance +"]";
}
}

View File

@@ -27,15 +27,12 @@
package org.alfresco.rm.rest.api.model;
import org.alfresco.api.AlfrescoPublicApi;
/**
* Enumeration representing rm site compliance
*
* @author Silviu Dinuta
*
* @since 2.6
*/
@AlfrescoPublicApi
public enum RMSiteCompliance
{
STANDARD,