Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/ITransitionDAO.java =================================================================== diff -u -r2ddde5f0607a37105c3219a50515a72f763650e2 -rcea596d200043c5589e5501fd9d65147091f8014 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/ITransitionDAO.java (.../ITransitionDAO.java) (revision 2ddde5f0607a37105c3219a50515a72f763650e2) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/ITransitionDAO.java (.../ITransitionDAO.java) (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -7,6 +7,7 @@ import java.util.List; +import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Transition; /** @@ -30,14 +31,24 @@ * @param toActivityID The to_activity_id of the required Transition * @return Returns the list of Transition objects where to_activity_id = activityID */ - public List getTransitionByToActivityID(Long toActivityID); + public Transition getTransitionByToActivityID(Long toActivityID); /** * @param fromActivityID The from_activity_id of the required Transition * @return Returns the list of Transition objects where from_activity_id = activityID */ - public List getTransitionByfromActivityID(Long fromActivityID); + public Transition getTransitionByfromActivityID(Long fromActivityID); public List getTransitionsByLearningDesignID(Long learningDesignID); + + /** + * This method returns the next activity corresponding to the given + * activityID. + * + * @param fromActivityID The activityID of the activity, whose + * next activity has to be fetched + * @return Activity The activity that comes after fromActivityID + */ + public Activity getNextActivity(Long fromActivityID); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/TransitionDAO.java =================================================================== diff -u -r2ddde5f0607a37105c3219a50515a72f763650e2 -rcea596d200043c5589e5501fd9d65147091f8014 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/TransitionDAO.java (.../TransitionDAO.java) (revision 2ddde5f0607a37105c3219a50515a72f763650e2) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/TransitionDAO.java (.../TransitionDAO.java) (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -11,6 +11,7 @@ import net.sf.hibernate.Hibernate; import net.sf.hibernate.type.Type; +import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.Transition; import org.lamsfoundation.lams.learningdesign.dao.ITransitionDAO; @@ -46,22 +47,31 @@ /* (non-Javadoc) * @see org.lamsfoundation.lams.learningdesign.dao.ITransitionDAO#getTransitionByToActivityID(java.lang.Long) */ - public List getTransitionByToActivityID(Long toActivityID) { + public Transition getTransitionByToActivityID(Long toActivityID) { List list = this.getHibernateTemplate().find(FIND_BY_TO_ACTIVITY,new Object[]{toActivityID}, new Type[]{Hibernate.LONG}); - return list; + return (Transition)list.get(0); } /* (non-Javadoc) * @see org.lamsfoundation.lams.learningdesign.dao.ITransitionDAO#getTransitionByfromActivityID(java.lang.Long) */ - public List getTransitionByfromActivityID(Long fromActivityID) { + public Transition getTransitionByfromActivityID(Long fromActivityID) { List list = this.getHibernateTemplate().find(FIND_BY_FROM_ACTIVITY,new Object[]{fromActivityID}, new Type[]{Hibernate.LONG}); - return list; + if(list.size()!=0) + return (Transition)list.get(0); + else + return null; } public List getTransitionsByLearningDesignID(Long learningDesignID){ List list = this.getHibernateTemplate().find(FIND_BY_LEARNING_DESIGN_ID, new Object[]{learningDesignID}, new Type[]{Hibernate.LONG}); return list; } - + public Activity getNextActivity(Long fromActivityID){ + Transition transition = getTransitionByfromActivityID(fromActivityID); + if(transition!=null) + return transition.getToActivity(); + else + return null; + } } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GroupingActivityStrategy.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GroupingActivityStrategy.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/GroupingActivityStrategy.java (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -0,0 +1,35 @@ +/* + * Created on Mar 17, 2005 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.lamsfoundation.lams.learningdesign.strategy; + +import java.util.ArrayList; + +import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.Grouping; +import org.lamsfoundation.lams.learningdesign.GroupingActivity; + +/** + * @author Minhas + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public class GroupingActivityStrategy extends SimpleActivityStrategy { + + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.learningdesign.strategy.SimpleActivityStrategy#getContributionType(org.lamsfoundation.lams.learningdesign.Activity) + */ + public Integer[] getContributionType(Activity activity) { + ArrayList contributionType = new ArrayList(); + GroupingActivity groupingActivity =(GroupingActivity)activity; + if(groupingActivity.getCreateGrouping().getGroupingTypeId()== Grouping.CHOSEN_GROUPING_TYPE) + contributionType.add(new Integer(CHOSEN_GROUPING)); + return (Integer[])contributionType.toArray(new Integer[contributionType.size()]); + } + +} Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/PermissionGateActivityStrategy.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/PermissionGateActivityStrategy.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/PermissionGateActivityStrategy.java (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -0,0 +1,30 @@ +/* + * Created on Mar 17, 2005 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.lamsfoundation.lams.learningdesign.strategy; + +import java.util.ArrayList; + +import org.lamsfoundation.lams.learningdesign.Activity; +/** + * @author Minhas + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public class PermissionGateActivityStrategy extends SimpleActivityStrategy { + + /** + * (non-Javadoc) + * @see org.lamsfoundation.lams.learningdesign.strategy.SimpleActivityStrategy#getContributionType(org.lamsfoundation.lams.learningdesign.Activity) + */ + public Integer[] getContributionType(Activity activity) { + ArrayList contributionType = new ArrayList(); + contributionType.add(new Integer(PERMISSION)); + return (Integer[])contributionType.toArray(new Integer[contributionType.size()]); + } + +} Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/SimpleActivityStrategy.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/SimpleActivityStrategy.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/SimpleActivityStrategy.java (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -0,0 +1,29 @@ +/* + * Created on Mar 17, 2005 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.lamsfoundation.lams.learningdesign.strategy; + +import org.lamsfoundation.lams.learningdesign.Activity; + + + + +/** + * @author Minhas + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public abstract class SimpleActivityStrategy { + + public static final int MODERATION = 1; + public static final int DEFINE_LATER = 2; + public static final int PERMISSION = 3; + public static final int CHOSEN_GROUPING = 4; + public static final int CONTRIBUTION = 5; + + public abstract Integer[] getContributionType(Activity activity); +} Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/ToolActivityStrategy.java =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/ToolActivityStrategy.java (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/strategy/ToolActivityStrategy.java (revision cea596d200043c5589e5501fd9d65147091f8014) @@ -0,0 +1,37 @@ +/* + * Created on Mar 17, 2005 + * + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates + */ +package org.lamsfoundation.lams.learningdesign.strategy; + +import java.util.ArrayList; + +import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.ToolActivity; + +/** + * @author Minhas + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates + */ +public class ToolActivityStrategy extends SimpleActivityStrategy { + + + public Integer[] getContributionType(Activity activity) { + ArrayList contributionType = new ArrayList(); + + ToolActivity toolActivity = (ToolActivity)activity; + if(toolActivity.getTool().getSupportsModeration().booleanValue()) + contributionType.add(new Integer(MODERATION)); + if(toolActivity.getTool().getSupportsContribute().booleanValue()) + contributionType.add(new Integer(CONTRIBUTION)); + if(toolActivity.getDefineLater().booleanValue()) + contributionType.add(new Integer(DEFINE_LATER)); + + return (Integer[])contributionType.toArray(new Integer[contributionType.size()]); + } + +}