Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java,v diff -u -r1.10 -r1.11 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 22 Feb 2005 05:11:08 -0000 1.10 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 22 Feb 2005 05:24:15 -0000 1.11 @@ -500,4 +500,13 @@ return new NullGroup(); } + + /** + * Check up whether a is tool activity or not. + * @return + */ + public boolean isToolActivity() + { + return getActivityTypeId().intValue()==TOOL_ACTIVITY_TYPE; + } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java,v diff -u -r1.7 -r1.8 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java 17 Feb 2005 04:20:35 -0000 1.7 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java 22 Feb 2005 05:24:15 -0000 1.8 @@ -6,7 +6,11 @@ import java.util.Set; import org.apache.commons.lang.builder.ToStringBuilder; +import org.lamsfoundation.lams.tool.GroupedToolSession; +import org.lamsfoundation.lams.tool.NonGroupedToolSession; import org.lamsfoundation.lams.tool.Tool; +import org.lamsfoundation.lams.tool.ToolSession; +import org.lamsfoundation.lams.usermanagement.User; /** * @hibernate.class @@ -134,6 +138,27 @@ newToolActivity.setToolSessions(new HashSet()); return newToolActivity; } + + /** + * Factory method to create a new tool session for the user when he is + * running current activity. + * @param learner the user who should be using this tool session. + * @return the new tool session. + */ + public ToolSession createToolSessionForActivity(User learner) + { + if(this.getTool().getSupportsGrouping()) + return new GroupedToolSession(this, + new Date(System.currentTimeMillis()), + ToolSession.STARTED_STATE, + this.getGroupFor(learner)); + else + return new NonGroupedToolSession(this, + new Date(System.currentTimeMillis()), + ToolSession.STARTED_STATE, + learner); + } + public String toString() { return new ToStringBuilder(this)