Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== diff -u -r80491217228e235c351b48c473a068e7e6660a3c -rf9879a61588dd9c3ca1623159b42d0f48c7abcf2 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 80491217228e235c351b48c473a068e7e6660a3c) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision f9879a61588dd9c3ca1623159b42d0f48c7abcf2) @@ -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 =================================================================== diff -u -r95aa4590e8f18e8323cd6efc196b2c3a851b5e2e -rf9879a61588dd9c3ca1623159b42d0f48c7abcf2 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision 95aa4590e8f18e8323cd6efc196b2c3a851b5e2e) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ToolActivity.java (.../ToolActivity.java) (revision f9879a61588dd9c3ca1623159b42d0f48c7abcf2) @@ -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)