Sites collection added to person rest API, check point of tagging rest API

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10025 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2008-07-25 12:21:03 +00:00
parent fa6024592d
commit 49042e8dcb
4 changed files with 78 additions and 1 deletions

View File

@@ -37,6 +37,14 @@ public interface SiteService
*/
List<SiteInfo> listSites(String nameFilter, String sitePresetFilter);
/**
* List all the sites that the specified user has a explicit membership to.
*
* @param userName user name
* @return List<SiteInfo> list of site information
*/
List<SiteInfo> listSites(String userName);
/**
* Gets site information based on the short name of a site.
* <p>

View File

@@ -222,6 +222,11 @@ public class SiteServiceImpl implements SiteService, SiteModel
return getSiteRoot();
}
/**
* Get the node reference that is the site root
*
* @return NodeRef node reference
*/
private NodeRef getSiteRoot()
{
// Get the root 'sites' folder
@@ -240,6 +245,9 @@ public class SiteServiceImpl implements SiteService, SiteModel
return resultSet.getNodeRef(0);
}
/**
* @see org.alfresco.repo.site.SiteService#listSites(java.lang.String, java.lang.String)
*/
public List<SiteInfo> listSites(String nameFilter, String sitePresetFilter)
{
// TODO
@@ -258,7 +266,30 @@ public class SiteServiceImpl implements SiteService, SiteModel
return result;
}
/**
* @see org.alfresco.repo.site.SiteService#listSites(java.lang.String)
*/
public List<SiteInfo> listSites(String userName)
{
List<SiteInfo> sites = listSites(null, null);
List<SiteInfo> result = new ArrayList<SiteInfo>(sites.size());
for (SiteInfo site : sites)
{
if (isMember(site.getShortName(), userName) == true)
{
result.add(site);
}
}
return result;
}
/**
* Creates a site informatoin object given a site node reference
*
* @param siteNodeRef site node reference
* @return SiteInfo site information object
*/
private SiteInfo createSiteInfo(NodeRef siteNodeRef)
{
// Get the properties
@@ -276,6 +307,12 @@ public class SiteServiceImpl implements SiteService, SiteModel
return siteInfo;
}
/**
* Indicates whether a site is public or not
*
* @param siteNodeRef site node reference
* @return boolean true if the site is public, false otherwise
*/
private boolean isSitePublic(NodeRef siteNodeRef)
{
boolean isPublic = false;

View File

@@ -152,6 +152,21 @@ public class SiteServiceImplTest extends BaseAlfrescoSpringTest
}
}
sites = this.siteService.listSites(USER_TWO);
assertNotNull(sites);
assertEquals(0, sites.size());
this.siteService.setMembership("mySiteOne", USER_TWO, SiteModel.SITE_CONSUMER);
this.siteService.setMembership("mySiteTwo", USER_TWO, SiteModel.SITE_CONSUMER);
sites = this.siteService.listSites(USER_TWO);
assertNotNull(sites);
assertEquals(2, sites.size());
sites = this.siteService.listSites(USER_ONE);
assertNotNull(sites);
assertEquals(4, sites.size());
}
public void testGetSite()

View File

@@ -103,7 +103,24 @@ public class ScriptSiteService extends BaseScopableProcessorExtension
sites.add(new Site(siteInfo, this.serviceRegistry, this.siteService, getScope()));
}
return (Site[])sites.toArray(new Site[sites.size()]);
}
}
/**
* List all the sites that the specified user has an explicit membership to.
*
* @param userName user name
* @return Site[] a list of sites the user has an explicit membership to
*/
public Site[] listUserSites(String userName)
{
List<SiteInfo> siteInfos = this.siteService.listSites(userName);
List<Site> sites = new ArrayList<Site>(siteInfos.size());
for (SiteInfo siteInfo : siteInfos)
{
sites.add(new Site(siteInfo, this.serviceRegistry, this.siteService, getScope()));
}
return (Site[])sites.toArray(new Site[sites.size()]);
}
/**
* Get a site for a provided site short name.