Index: lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml,v
diff -u -r1.13.6.3 -r1.13.6.4
--- lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml 1 Mar 2007 23:57:42 -0000 1.13.6.3
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/authoringApplicationContext.xml 19 Mar 2007 06:12:01 -0000 1.13.6.4
@@ -69,6 +69,8 @@
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java,v
diff -u -r1.41.2.7 -r1.41.2.8
--- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 23 Feb 2007 03:36:07 -0000 1.41.2.7
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java 19 Mar 2007 06:11:59 -0000 1.41.2.8
@@ -379,11 +379,12 @@
gate = (GateActivity) activities.get(0);
if(gate != null) {
- gate.forceGateOpen();
- activityDAO.update(gate);
+ // remove inputted system gate
+ design = removeTempSystemGate(gate, design);
+
}
- learningDesignDAO.update(design);
+ learningDesignDAO.insertOrUpdate(design);
flashMessage = new FlashMessage("finishEditOnFly", lesson.getLessonId());
@@ -399,6 +400,32 @@
}
+ public LearningDesign removeTempSystemGate(GateActivity gate, LearningDesign design) {
+ // get transitions
+ Transition toTransition = gate.getTransitionTo();
+ Transition fromTransition = gate.getTransitionFrom();
+
+ // rearrange to-transition and/or delete redundant transition
+ if(toTransition != null && fromTransition != null) {
+ toTransition.setToActivity(fromTransition.getToActivity());
+ toTransition.setToUIID(toTransition.getToActivity().getActivityUIID());
+
+ design.getTransitions().remove(fromTransition);
+ transitionDAO.update(toTransition);
+
+ } else if(toTransition != null && fromTransition == null) {
+ design.getTransitions().remove(toTransition);
+ } else if(toTransition == null && fromTransition != null) {
+ design.setFirstActivity(fromTransition.getToActivity());
+ design.getTransitions().remove(fromTransition);
+ }
+
+ // remove temp system gate
+ design.getActivities().remove(gate);
+
+ return design;
+ }
+
public void addSystemGateAfterActivity(ArrayList activities, LearningDesign design) {
GateActivity gate = null;
Integer syncType = null;
Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java,v
diff -u -r1.19.6.5 -r1.19.6.6
--- lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java 23 Feb 2007 03:36:07 -0000 1.19.6.5
+++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/IAuthoringService.java 19 Mar 2007 06:11:59 -0000 1.19.6.6
@@ -28,6 +28,7 @@
import java.util.Vector;
import org.lamsfoundation.lams.learningdesign.Activity;
+import org.lamsfoundation.lams.learningdesign.GateActivity;
import org.lamsfoundation.lams.learningdesign.LearningDesign;
import org.lamsfoundation.lams.learningdesign.dto.AuthoringActivityDTO;
import org.lamsfoundation.lams.learningdesign.dto.ValidationErrorDTO;
@@ -265,6 +266,12 @@
/**
*
+ * @param gate
+ */
+ public LearningDesign removeTempSystemGate(GateActivity gate, LearningDesign design);
+
+ /**
+ *
* @param design
* @return
* @throws LearningDesignException