[Building Sakai] what methods to get all course site ids ?

Steve Swinsburg steve.swinsburg at gmail.com
Fri Oct 2 01:22:47 PDT 2009


You've got it a bit mixed up. The site.cover.SiteService is static, so  
you don't need to setup the private instances. Get rid of those and  
just use SiteService.someMethod rather than siteService.

You really should abstract this out into a logic layer though.
And use Spring to get your dependencies from the proper api package,  
not the covers.

Check out the Sakai App Builder plugin for Eclipse and generate a tool  
- have a look at the logic layer and how its injected via Spring.

cheer,s
Steve


On 02/10/2009, at 6:10 PM, Small Cat wrote:

> I hava injected the SiteService API into my app by add some lines in  
> pom.xml ( pom.xml in tool directory )
>
> <dependency>
>           <groupId>org.sakaiproject</groupId>
>           <artifactId>sakai-site-api</artifactId>
>  </dependency>
>
> and in my java class
>
> import org.sakaiproject.site.cover.SiteService;
> import org.sakaiproject.site.api.*;
> import org.sakaiproject.site.api.SiteService.SelectionType;
> import org.sakaiproject.site.api.SiteService.SortType;
> import org.sakaiproject.javax.PagingPosition;
> // .....
>
> private SiteService siteService;
>
>     public void setSiteService(SiteService siteService) {
>         this.siteService = siteService;
>     }
>
> Is it correct ?
>
> 2009/10/2 Steve Swinsburg <steve.swinsburg at gmail.com>
> How have you injected the SiteService API into your app?
>
> If you just dump the List directly to the command line via:
> System.out.println("the list is: " +allCourseSites);
>
> what do you get? If you get null, thats the issue.
>
> cheers,
> Steve
>
>
>
> On 02/10/2009, at 2:58 PM, Small Cat wrote:
>
>> I test it, but it isn't successful :( , and i do'nt know how to fix  
>> it . :(
>> this is my code in java bean
>>
>> private SiteService siteService;
>> public void setSiteService(SiteService siteService){
>>         this.siteService = siteService;
>>     }
>> public List<Site> allCourseSites =  
>> siteService.getSites( SelectionType.ACCESS, null, null,  
>> null,SortType.TITLE_ASC, null);
>> public String getOneSite(){
>>         return allCourseSites.get(0).getTitle();
>>     }
>>
>> and this is code in .jsp file
>>
>> <h:outputText value= " One of many sites is #{TestBean.oneSite}"/>
>>
>> when it's run in Sakai, it show only the string " One of many sites  
>> is " in  .jsp file, but don't show any site's tittle though my  
>> sakai has some project site & course site ( all of them have 5-10  
>> participants )
>>
>> Please help me fix it !
>>
>> 2009/10/1 Steve Swinsburg <steve.swinsburg at gmail.com>
>> Hi,
>>
>> yes, in SiteService, the method getSites(). Check out that Class in  
>> the API docs.
>>
>> e.g. SiteService.getSites(SelectionType.ACCESS, null, null, null,  
>> SortType.TITLE_ASC, null);
>>
>> cheers,
>> Steve
>>
>>
>> On 01/10/2009, at 2:34 PM, Small Cat wrote:
>>
>>
>>
>>
>> Dear all,
>> How can I get a list of all course sites that a particular user is  
>> a member of ?
>> Does Sakai suport any APIs to do this ? If yes, where can i find  
>> them ?
>> Thanks and regards !
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org 
>>  with a subject of "unsubscribe"
>>
>>
>
>
>
>
> -- 
> Regards,
> Tran Trung Kien

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20091002/1bd1feac/attachment.html 


More information about the sakai-dev mailing list