[Building Sakai] A question about how to use some APIs in project Profile2

View: New views
17 Messages — Rating Filter:   Alert me  

[Building Sakai] A question about how to use some APIs in project Profile2

by Small Cat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
--
Regards,
Tran Trung Kien

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
--
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Small Cat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;"
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
       
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
       
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
--
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




--
Regards,
Tran Trung Kien

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;"
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
       
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
       
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
--
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




--
Regards,
Tran Trung Kien


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Small Cat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
-
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<.
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;"
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
       
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
       
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
--
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




--
Regards,
Tran Trung Kien




--
Regards,
Tran Trung Kien

cac ban dang o site co siteID la:

[siteID]

xin chao ban
[userName]
!!!!

internal ID cua ban la:

[userID]
course site is: label
course site is: label



_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

MyQuery.java (4K) Download Attachment
MyHello.java (2K) Download Attachment

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Wagner, Michelle R. :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Re: [Building Sakai] A question about how to use some APIs in project Profile2 The gradebook uid is actually the site id, not the gradebook id.

Thanks,
Michelle


On 11/12/09 2:26 PM, "Small Cat" <shadowless4288@...> wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
-
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>
- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }
/**************************************************************/

 I tried like that in Sakai and it return nothing >"<.
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 
http://confluence.sakaiproject.org/display/PROFILE/Profile2

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;"
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
       
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
       
    </bean>
In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:
http://jira.sakaiproject.org/browse/PRFL

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());

How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Hai Vo Thanh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
       
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
       
       
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>



_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Parent Message unknown Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
       
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
       
       
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

   

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Hai Vo Thanh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java:

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
       
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
       
       
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

   

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>





_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

p.s.

The Gradebook dev's are based in the US and their day is just beginning, so when people have had a chance to look over our discussion and reply, you should be set. 

cheers,
Steve


On 13/11/2009, at 8:44 PM, Steve Swinsburg wrote:

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"



_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Hai Vo Thanh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
I added the GradebookService dependency to impl/pom.xml. when i run the command "mvn clean install sakai:deploy", it was built successful, but then, tomcat startup failed.It stoped after this stage:

INFO: destroy() (2009-11-13 23:16:23, 495 main_org.sakaiproject.authz.impl.FnctionManagerComponent)

so sad :(
------------
Hai Vo

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:44:11 PM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"



_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Can you show the dependency block you added and the full error from the beginning?

Cheers 

~ steve
(sent from my ipod)

On 14/11/2009, at 3:31 AM, Hai Vo Thanh <v0thanhhai@...> wrote:

I added the GradebookService dependency to impl/pom.xml. when i run the command "mvn clean install sakai:deploy", it was built successful, but then, tomcat startup failed.It stoped after this stage:

INFO: destroy() (2009-11-13 23:16:23, 495 main_org.sakaiproject.authz.impl.FnctionManagerComponent)

so sad :(
------------
Hai Vo

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:44:11 PM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...>
To: Small Cat <shadowless4288@...>
Cc: sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Hai Vo Thanh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
i added this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
        </dependency>
 into the place <!--  GENERIC SAKAI DEPENDENCIES --> and this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
                      <scope>provided</scope>
        </dependency>
into the place <!-- Sakai 2.5.x specific dependencies -->
Can you tell me how to get the log for tomcat? i'm using windows 7 + tomcat 5.2.26 zip version. i start tomcat by the command line "c:\tomcat\bin\startup.bat" .
Thanks
----------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: "sakai-dev@..." <sakai-dev@...>
Sent: Sat, November 14, 2009 4:58:29 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Can you show the dependency block you added and the full error from the beginning?

Cheers 

~ steve
(sent from my ipod)

On 14/11/2009, at 3:31 AM, Hai Vo Thanh <v0thanhhai@...> wrote:

I added the GradebookService dependency to impl/pom.xml. when i run the command "mvn clean install sakai:deploy", it was built successful, but then, tomcat startup failed.It stoped after this stage:

INFO: destroy() (2009-11-13 23:16:23, 495 main_org.sakaiproject.authz.impl.FnctionManagerComponent)

so sad :(
------------
Hai Vo

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:44:11 PM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Small Cat <shadowless4288@...shadowless4288@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Steve Swinsburg-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sure, the log should be at c:\tomcat\logs\catalina.out

I'm not sure of the Windows equivalent to 'tail -f catalina.out' which will show you the log messages are they are written to the file. You might need to open it up in a text editor and just send the relevant output from the latest startup failure.

cheers,
Steve


On 14/11/2009, at 10:28 AM, Hai Vo Thanh wrote:

i added this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
        </dependency>
 into the place <!--  GENERIC SAKAI DEPENDENCIES --> and this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
                      <scope>provided</scope>
        </dependency>
into the place <!-- Sakai 2.5.x specific dependencies -->
Can you tell me how to get the log for tomcat? i'm using windows 7 + tomcat 5.2.26 zip version. i start tomcat by the command line "c:\tomcat\bin\startup.bat" .
Thanks
----------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: "sakai-dev@..." <sakai-dev@...>
Sent: Sat, November 14, 2009 4:58:29 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Can you show the dependency block you added and the full error from the beginning?

Cheers 

~ steve
(sent from my ipod)

On 14/11/2009, at 3:31 AM, Hai Vo Thanh <v0thanhhai@...> wrote:

I added the GradebookService dependency to impl/pom.xml. when i run the command "mvn clean install sakai:deploy", it was built successful, but then, tomcat startup failed.It stoped after this stage:

INFO: destroy() (2009-11-13 23:16:23, 495 main_org.sakaiproject.authz.impl.FnctionManagerComponent)

so sad :(
------------
Hai Vo

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:44:11 PM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Small Cat <shadowless4288@...shadowless4288@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

Re: [Building Sakai] A question about how to use some APIs in project Profile2

by Hai Vo Thanh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Dear Mr Swinsburg,
I still can't get the log file, so i send you my source code. I hope you will check it and see the problem yourself.
I am using Sakai 2.5.5. if you are using a different version, you can tell me which version you are using, i will change my source and send it again.
These are what i had change in your original profile2 project:
    In package org.sakaiproject.profile2.tool.pages: create a new page called "MyHello" --> new files(MyHello.java + MyHello.html).
    In tool/src/java: Create two new packages
        package org.sakaiproject.profile2.tool.myapi, at this time, this package is using for injecting some gradebookService to use.
        package org.sakaiproject.profile2.tool.mysql, at this time, this package is using for doing some querry. i used this to get a LinkedList<String> of all course siteId, and a LinkedList<String> of all course site name.
        I create new packages and classes because i tried not to change much in the original source files. With these, the tool deployed successful, but the gradebookService did not work.
        Because you told me that it's easier to use the services by injecting them into SakaiProxy. I tried yesterday, and now tomcat can not start up. Hope you can help. Thank you. Feel free to give me any request.
        Thanks and regards
-----------------------
Hai Vo
       

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...
Sent: Sat, November 14, 2009 6:57:22 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Sure, the log should be at c:\tomcat\logs\catalina.out

I'm not sure of the Windows equivalent to 'tail -f catalina.out' which will show you the log messages are they are written to the file. You might need to open it up in a text editor and just send the relevant output from the latest startup failure.

cheers,
Steve


On 14/11/2009, at 10:28 AM, Hai Vo Thanh wrote:

i added this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
        </dependency>
 into the place <!--  GENERIC SAKAI DEPENDENCIES --> and this block
        <dependency>
                    <groupId>org.sakaiproject</groupId>
                      <artifactId>sakai-gradebook-service-api</artifactId>
                      <version>2.5.5</version>
                      <scope>provided</scope>
        </dependency>
into the place <!-- Sakai 2.5.x specific dependencies -->
Can you tell me how to get the log for tomcat? i'm using windows 7 + tomcat 5.2.26 zip version. i start tomcat by the command line "c:\tomcat\bin\startup.bat" .
Thanks
----------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: "sakai-dev@..." <sakai-dev@...>
Sent: Sat, November 14, 2009 4:58:29 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Can you show the dependency block you added and the full error from the beginning?

Cheers 

~ steve
(sent from my ipod)

On 14/11/2009, at 3:31 AM, Hai Vo Thanh <v0thanhhai@...> wrote:

I added the GradebookService dependency to impl/pom.xml. when i run the command "mvn clean install sakai:deploy", it was built successful, but then, tomcat startup failed.It stoped after this stage:

INFO: destroy() (2009-11-13 23:16:23, 495 main_org.sakaiproject.authz.impl.FnctionManagerComponent)

so sad :(
------------
Hai Vo

From: Steve Swinsburg <steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:44:11 PM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Looks good, one more thing to do and that is to add the appropraite GradebookService dependency to the impl/pom.xml. 

I'm still waiting to hear back on which GradebookService is meant to be used, as looking through the Javadocs there are a few.

cheers,
Steve



On 13/11/2009, at 5:01 PM, Hai Vo Thanh wrote:

i've just injected GradebookService in to SakaiProxy like this:

in SakaiProxy.java : add a prototype int getNumberOfAssignment(String gradebookUid);

in SakaiProxyImpl.java: 

            import some package:
                import org.sakaiproject.service.gradebook.shared.*;
                import org.sakaiproject.service.gradebook.shared.GradebookService;
                import org.sakaiproject.service.gradebook.shared.Assignment;
                //import org.sakaiproject.tool.gradebook.Assignment;
                import org.sakaiproject.assignment.api.*;

            create a setter for the GradebookService :
                private GradebookService gradebookService;
                public void setGradebookService(GradebookService gradebookService){
                   this.gradebookService = gradebookService;
                }

            implement the api:
                public int getNumberOfAssignment(String gradebookUid){
                    return gradebookService.getAssignments(gradebookUid).size();
                }

in components.xml: add the following line into the bean.
                <property name="gradebookService"><ref bean="org.sakaiproject.service.gradebook.shared.GradebookService"/></property>

and when i deploy. These errors appeared:
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[40,0] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[41,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[42,49] package org.sakaiproject.service.gradebook.shared does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[44,0] package org.sakaiproject.assignment.api does not exist

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[913,16] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl

C:\sakai\myprofile2\impl\src\java\org\sakaiproject\profile2\logic\SakaiProxyImpl
.java:[914,40] cannot find symbol
symbol  : class GradebookService
location: class org.sakaiproject.profile2.logic.SakaiProxyImpl


Did i miss any stage?
Thanks 
---------------
Hai Vo


From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Hai Vo Thanh <v0thanhhai@...v0thanhhai@...>
Cc: sakai-dev <sakai-dev@...sakai-dev@...>
Sent: Fri, November 13, 2009 5:41:14 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

Hi,

You'll need a setter for the gradebookService API that you are injecting. Might be easiest to inject into SakaiProxy, you can see the config in components.xml already. Then add a setter to it like the rest of the Sakai services are. Then add your method stub to SakaiProxy.java and implement it in SakaiProxyImpl.java

I posted a message about which service to use in a different thread, keep an eye on responses there as well.

cheers,
Steve

On Fri, Nov 13, 2009 at 8:48 AM, Hai Vo Thanh <v0thanhhai@...v0thanhhai@...> wrote:
Hi Mr Steve Swinsburg, i am his co-worker, we are doing some expansion for the Profile2 project. At this time, we are creating a new page in the display screen ( same as My profile, Connections, Search....) this page is using for display all grades of student have had. Whenever he come to this page, he can see all his grades profile. Cause we do not want to change the original project, we created some new class in the package org.sakaiproject.profile2.tool.pages . at this time, we can get a LinkedList<String> of all site id of all course that one user joined and display it on my new page. Cause the siteId is also the gradebookUid, we try to use the GradebookService to get all the Assignment of each site, and at this state we encountered the problem.

I created a new class called MyGradebookApi to inject the GradebookService in to our application. For testing i've create two method 

   public int getNumberOfAss(String gradebookUid){
        return gradebookService.getAssignments(gradebookUid).size();
    }

and......

    public LinkedList<String> getAssNameList(String gradebookUid){
        LinkedList<String> assNameList =new LinkedList();
        LinkedList<Assignment> assList = new LinkedList();
        
        List<Assignment> tempList = gradebookService.getAssignments(gradebookUid);
        assList.addAll(tempList);
        
        
        while(!assList.isEmpty()){
            Assignment tempAss = assList.remove();
            String name = tempAss.getName();
            assNameList.add(name);
        }
        return assNameList;
    }
 but it seem the GradeBookService do not work, i created a cousre site, i got its siteId, i created some sample Assignment, then in my page, i called the method getNumberOfAss and try to display in my page, but nothing happened.

The tool deployed sucessful, cause i modified the pom.xml to add some dependencies.
In my class i imported:
    import org.sakaiproject.service.gradebook.shared.*;
    import org.sakaiproject.service.gradebook.shared.Assignment;
    //import org.sakaiproject.tool.gradebook.Assignment;
    import org.sakaiproject.assignment.api.*;
    import java.util.LinkedList;
    import java.util.List;
and create a private variable: private GradebookService gradebookService;

Did i miss any step? Could you give me some advices please?

Thanks and regards
========
Hai Vo

    

From: Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
To: Small Cat <shadowless4288@...shadowless4288@...>
Cc: sakai-dev@...sakai-dev@...
Sent: Fri, November 13, 2009 4:08:48 AM
Subject: Re: [Building Sakai] A question about how to use some APIs in project Profile2

If using Spring, inject the actual API, not the static cover. However, don't inject into the tool. 

Since you seem to be modifying Profile2, inject the GradebookService into SakaiProxy.java which is where I have kept all Sakai related API calls. That is already injected into all Tool pages so you can just call sakaiProxy.someMethod() to do things.

Could you let me know what additions you are making to Profile2? Are you wanting to contribute them back to the main release of Profile2?

cheers,
Steve


On 13/11/2009, at 6:26 AM, Small Cat wrote:

... I want to add a new page using gradebook service into profile 2, I name this page "MyHello.html" and implement it in MyHello.java & MyQuery.java (this class in a new package org.sakaiproject.profile2.tool.mysql    )

I've already use some other service like database api, site service  by using cover (but I fell in using methods of adding bean in compponents.xml >"<). But the problem is that I can't found gradebook cover ...
I tried to inject it follow these steps :( I use sakai 2.5.5 )
- add dependency in maven file
<dependency>
            <groupId>org.sakaiproject</groupId>
            <artifactId>sakai-gradebook-service-api</artifactId>
            <version>${sakai.version}</version>
        </dependency>
- 
add bean in components
<bean id="org.sakaiproject.profile2.tool.mysql.MyQuery"
        class="org.sakaiproject.profile2.tool.mysql.MyQuery">
        <property name="gradebookService"
            ref="org.sakaiproject.service.gradebook.shared.*">
        </property>
    </bean>

- coding...and this is a test function to get some assignment name ( I think gradebookId = coursesiteID , it is right ? )
// courseList is a list of course site id
public LinkedList<String> getAssignmentNameList(
            LinkedList<String> courseList) {
        LinkedList<Assignment> assignmentList = new LinkedList();
        try {
            while (!courseList.isEmpty()) {
                String tmpString = courseList.remove();
                List<Assignment> tmpList = gradebookService
                        .getAssignments(tmpString);
                assignmentList.addAll(tmpList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LinkedList<String> assignmentNameList = new LinkedList();
        try {
            while (!assignmentList.isEmpty()) {
                assignmentNameList.add(assignmentList.remove().getName());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return assignmentNameList;
    }

/**************************************************************/

 I tried like that in Sakai and it return nothing >"<. 
Can anyone help me ?



2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
You've got a ; in the bean definitions, not sure if that matters too much though. But as for the dependency in the pom, if matters if you are on 2.5 or 2.6+. If 2.6 then you don't need that dependency as its in the kernel but for 2.5 you will.

Also, are you modifying the current Profile2 tool? ie 

I am currently polishing up release of Profile2 for possible inclusion in 2.7 so it would be good to coordinate efforts here.

cheers,
Steve


On 06/11/2009, at 3:47 PM, Small Cat wrote:

Hi,
In the components.xml, I added a bean for my class as :

<!--  MyPortfolios -->
    <bean id = "org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;" 
        class="org.sakaiproject.profile2.tool.myportfolios.MyPortfolios;">
        
        <property name="siteService" ref="org.sakaiproject.site.api.SiteService"/>
        
    </bean>

In relevant pom.xml , I added :
<dependency>
                    <groupId>org.sakaiproject</groupId>
                    <artifactId>sakai-site-api</artifactId>
                    <scope>provided</scope>
                </dependency>

Is this right ?
Thanks ,


2009/11/6 Steve Swinsburg <steve.swinsburg@...steve.swinsburg@...>
Hi,

Are you making an addition to Profile2 that you might like to contribute back? If so, thats great! Could you possibly Jira it here:

For your issue, it's most likely an API injection issue. You'll need to make sure you have the dependency in the relevant POM and in the components.xml so Spring can inject it into the beans. However if you Jira this task we can go over the goal and implementation details.

cheers,
Steve



On 06/11/2009, at 1:51 AM, Small Cat wrote:

Dear all,
I want to add some functions for Profile2, and one of them can show all scores of assigments in all course sites...
But I can't use some APIs as getSites.... ( I can use it in other tools, but in Profile2 I don't know why it can't )
This is error when I deploy :

[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[22,52] cannot access org.sakaiproject.entity.api.EntityProd
ucer
file org\sakaiproject\entity\api\EntityProducer.class not found
                        courseSiteList = siteService.getSites(SelectionType.ACCE
SS,

C:\sakai\profile2-1.2.1\tool\src\java\org\sakaiproject\profile2\tool\myportfolio
s\MyPortfolios.java:[35,60] cannot access org.sakaiproject.entity.api.Edit
file org\sakaiproject\entity\api\Edit.class not found
                        courseList.add(courseSiteList.remove(0).getTitle());


How to use getSites in Profile2 , if can not, what methods I can use to replace ?
Thank you,
-- 
Regards,
Tran Trung Kien
_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"




-- 
Regards,
Tran Trung Kien




-- 
Regards,
Tran Trung Kien
<MyHello.html><MyQuery.java><MyHello.java>




_______________________________________________
sakai-dev mailing list
sakai-dev@...sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@...sakai-dev-unsubscribe@... with a subject of "unsubscribe"


_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"




_______________________________________________
sakai-dev mailing list
sakai-dev@...
http://collab.sakaiproject.org/mailman/listinfo/sakai-dev

TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe@... with a subject of "unsubscribe"

myprofile2.zip (1M) Download Attachment