Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/Attic/FederationAction.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java 22 Jun 2007 05:17:20 -0000 1.1.2.3 +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/action/FederationAction.java 29 Jun 2007 06:55:28 -0000 1.1.2.4 @@ -93,7 +93,8 @@ request.setAttribute("fedUrl", service.getFederationRegistryURL()); request.setAttribute("servers", service.getFederationServers()); request.setAttribute("orgs", service.getCoursesCanJoinSharedLessons()); - request.setAttribute("lessons", service.getFederationLessons()); + request.setAttribute("fedLessons", service.getFederationLessons()); + request.setAttribute("lessonsFromFedServers", service.getLessonFederations()); return mapping.findForward("federation"); } Index: lams_admin/web/federation/federation.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_admin/web/federation/Attic/federation.jsp,v diff -u -r1.1.2.4 -r1.1.2.5 --- lams_admin/web/federation/federation.jsp 22 Jun 2007 05:17:20 -0000 1.1.2.4 +++ lams_admin/web/federation/federation.jsp 29 Jun 2007 06:55:30 -0000 1.1.2.5 @@ -56,7 +56,7 @@ -

Groups Accepting Joint Lessons

+

Groups allowing joint lessons

@@ -72,16 +72,16 @@
org_id
-

Shared Lessons

+

Local lessons available to federation

- - + + @@ -90,4 +90,26 @@ +
sid server_sid ext_org_id lesson_id
+ +

External lessons from federation

+ + + + + + + + + + + + + + + + + + +
sidserver_sidorg_idext_lesson_idext_lesson_name
\ No newline at end of file Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/federation/LessonFederation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/db/sql/create_sharedlesson_tables.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/Attic/create_sharedlesson_tables.sql,v diff -u -r1.1.2.2 -r1.1.2.3 --- lams_common/db/sql/create_sharedlesson_tables.sql 1 Jun 2007 04:51:48 -0000 1.1.2.2 +++ lams_common/db/sql/create_sharedlesson_tables.sql 29 Jun 2007 06:55:30 -0000 1.1.2.3 @@ -25,3 +25,15 @@ PRIMARY KEY (`sid`) ) TYPE=InnoDB; +-- +-- Table structure for table `lams_lesson_fed` +-- +DROP TABLE IF EXISTS `lams_lesson_fed`; +CREATE TABLE `lams_lesson_fed` ( + `sid` int(11) NOT NULL auto_increment, + `server_sid` int(11) NOT NULL, + `org_id` bigint(20) NOT NULL, + `ext_lesson_id` bigint(20) NOT NULL, + `ext_lesson_name` varchar(255) NOT NULL, + PRIMARY KEY (`sid`) +) TYPE=InnoDB; Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/commonContext.xml,v diff -u -r1.50.2.2 -r1.50.2.3 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 25 May 2007 05:42:06 -0000 1.50.2.2 +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 29 Jun 2007 06:55:30 -0000 1.50.2.3 @@ -86,6 +86,7 @@ org/lamsfoundation/lams/federation/FederationLesson.hbm.xml org/lamsfoundation/lams/federation/FederationServer.hbm.xml + org/lamsfoundation/lams/federation/LessonFederation.hbm.xml Index: lams_common/src/java/org/lamsfoundation/lams/federation/FederationLesson.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/Attic/FederationLesson.java,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_common/src/java/org/lamsfoundation/lams/federation/FederationLesson.java 25 May 2007 05:42:06 -0000 1.1.2.1 +++ lams_common/src/java/org/lamsfoundation/lams/federation/FederationLesson.java 29 Jun 2007 06:55:31 -0000 1.1.2.2 @@ -5,6 +5,8 @@ import java.io.Serializable; +import org.lamsfoundation.lams.lesson.Lesson; + /** * @author jliew * @@ -25,17 +27,17 @@ private Integer extOrgId; /** persistent field */ - private Long lessonId; + private Lesson lesson; /** default constructor */ public FederationLesson() { } /** full constructor */ - public FederationLesson(FederationServer federationServer, Integer extOrgId, Long lessonId) { + public FederationLesson(FederationServer federationServer, Integer extOrgId, Lesson lesson) { this.federationServer = federationServer; this.extOrgId = extOrgId; - this.lessonId = lessonId; + this.lesson = lesson; } /** @@ -81,16 +83,16 @@ } /** - * @hibernate.property - * not-null="true" - * column="lesson_id" - * length="20" + * @hibernate.many-to-one + * not-null="true" + * lazy="false" + * @hibernate.column name="lesson_id" */ - public Long getLessonId() { - return lessonId; + public Lesson getLesson() { + return lesson; } - public void setLessonId(Long lessonId) { - this.lessonId = lessonId; + public void setLesson(Lesson lesson) { + this.lesson = lesson; } } Index: lams_common/src/java/org/lamsfoundation/lams/federation/FederationServer.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/Attic/FederationServer.java,v diff -u -r1.1.2.2 -r1.1.2.3 --- lams_common/src/java/org/lamsfoundation/lams/federation/FederationServer.java 1 Jun 2007 04:51:48 -0000 1.1.2.2 +++ lams_common/src/java/org/lamsfoundation/lams/federation/FederationServer.java 29 Jun 2007 06:55:31 -0000 1.1.2.3 @@ -37,6 +37,9 @@ /** persistent field */ private Set sharedLessons; + /** persistent field */ + private Set extLessons; + /** default constructor */ public FederationServer() { } @@ -160,4 +163,22 @@ public void setSharedLessons(Set sharedLessons) { this.sharedLessons = sharedLessons; } + + /** + * @hibernate.set + * lazy="true" + * inverse="true" + * cascade="none" + * @hibernate.collection-key + * column="server_sid" + * @hibernate.collection-one-to-many + * class="org.lamsfoundation.lams.federation.LessonFederation" + */ + public Set getExtLessons() { + return extLessons; + } + + public void setExtLessons(Set extLessons) { + this.extLessons = extLessons; + } } Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/federation/LessonFederation.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/service/Attic/FederationService.java,v diff -u -r1.1.2.4 -r1.1.2.5 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 22 Jun 2007 05:17:59 -0000 1.1.2.4 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/FederationService.java 29 Jun 2007 06:55:30 -0000 1.1.2.5 @@ -18,6 +18,7 @@ import org.lamsfoundation.lams.federation.FederationException; import org.lamsfoundation.lams.federation.FederationLesson; import org.lamsfoundation.lams.federation.FederationServer; +import org.lamsfoundation.lams.federation.LessonFederation; import org.lamsfoundation.lams.federation.dto.ExtLessonDTO; import org.lamsfoundation.lams.federation.dto.ExtOrgDTO; import org.lamsfoundation.lams.lesson.Lesson; @@ -59,6 +60,10 @@ return service.findAll(FederationLesson.class); } + public List getLessonFederations() { + return service.findAll(LessonFederation.class); + } + public List getCoursesCanJoinSharedLessons() { List orgs = service.findByProperty(Organisation.class, "canJoinJointLessons", true); ArrayList courses = new ArrayList(); @@ -82,9 +87,13 @@ } public void createFederationLesson(FederationServer fedServer, Integer extOrgId, Lesson lesson) { - service.save(new FederationLesson(fedServer, extOrgId, lesson.getLessonId())); + service.save(new FederationLesson(fedServer, extOrgId, lesson)); } + public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName) { + service.save(new LessonFederation(fedServer, org, extLessonId, extLessonName)); + } + private FederationServer getFedServerByFedId(Integer fedId) throws FederationException { List list = service.findByProperty(FederationServer.class, "fedId", fedId); return (list == null || list.isEmpty()) ? null : (FederationServer)list.get(0); Index: lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/federation/service/Attic/IFederationService.java,v diff -u -r1.1.2.4 -r1.1.2.5 --- lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 22 Jun 2007 05:17:59 -0000 1.1.2.4 +++ lams_common/src/java/org/lamsfoundation/lams/federation/service/IFederationService.java 29 Jun 2007 06:55:30 -0000 1.1.2.5 @@ -10,6 +10,7 @@ import org.lamsfoundation.lams.federation.FederationException; import org.lamsfoundation.lams.federation.FederationLesson; import org.lamsfoundation.lams.federation.FederationServer; +import org.lamsfoundation.lams.federation.LessonFederation; import org.lamsfoundation.lams.federation.dto.ExtLessonDTO; import org.lamsfoundation.lams.federation.dto.ExtOrgDTO; import org.lamsfoundation.lams.lesson.Lesson; @@ -26,6 +27,8 @@ public List getFederationLessons(); + public List getLessonFederations(); + public List getCoursesCanJoinSharedLessons(); public List getSharedLessons(FederationServer fedServer, Integer extOrgId); @@ -49,6 +52,15 @@ public void createFederationLesson(FederationServer fedServer, Integer extOrgId, Lesson lesson); /** + * Used when local teacher has started a joint lesson located on an external server. + * @param fedServer + * @param org + * @param extLessonId + * @param extLessonName + */ + public void createLessonFromFederation(FederationServer fedServer, Organisation org, Long extLessonId, String extLessonName); + + /** * Wrapper method to return WDDX packet string of getFedServerGroups. * @param fedId * @return wddx string.