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<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. * Gets site information based on the short name of a site.
* <p> * <p>

View File

@@ -222,6 +222,11 @@ public class SiteServiceImpl implements SiteService, SiteModel
return getSiteRoot(); return getSiteRoot();
} }
/**
* Get the node reference that is the site root
*
* @return NodeRef node reference
*/
private NodeRef getSiteRoot() private NodeRef getSiteRoot()
{ {
// Get the root 'sites' folder // Get the root 'sites' folder
@@ -240,6 +245,9 @@ public class SiteServiceImpl implements SiteService, SiteModel
return resultSet.getNodeRef(0); 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) public List<SiteInfo> listSites(String nameFilter, String sitePresetFilter)
{ {
// TODO // TODO
@@ -258,7 +266,30 @@ public class SiteServiceImpl implements SiteService, SiteModel
return result; 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) private SiteInfo createSiteInfo(NodeRef siteNodeRef)
{ {
// Get the properties // Get the properties
@@ -276,6 +307,12 @@ public class SiteServiceImpl implements SiteService, SiteModel
return siteInfo; 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) private boolean isSitePublic(NodeRef siteNodeRef)
{ {
boolean isPublic = false; 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() public void testGetSite()

View File

@@ -103,7 +103,24 @@ public class ScriptSiteService extends BaseScopableProcessorExtension
sites.add(new Site(siteInfo, this.serviceRegistry, this.siteService, getScope())); sites.add(new Site(siteInfo, this.serviceRegistry, this.siteService, getScope()));
} }
return (Site[])sites.toArray(new Site[sites.size()]); 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. * Get a site for a provided site short name.