|
From: <se...@us...> - 2008-05-02 11:23:44
|
Revision: 72
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=72&view=rev
Author: sem62
Date: 2008-05-02 04:23:52 -0700 (Fri, 02 May 2008)
Log Message:
-----------
Fixed bugs:
* Null itemData for ChapterModel.
* Updating summary pages with h>2 in a course tree.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -35,7 +35,7 @@
return null;
}
- model.InitializeDataForItem(root, new ChapterItemData());
+ model.initializeDataForItem(root, new ChapterItemData());
model.updateItemResource(root, false);
return manifest;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -9,6 +9,7 @@
import edu.lnu.FireFly.FFManifest.item.sequencing.Sequencing;
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.MapInfo;
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objective;
+import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives;
import edu.lnu.FireFly.FFManifest.parser.TestDocException;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel;
@@ -44,6 +45,16 @@
public void updateSummaryPages(TreeItem root) throws TestDocException {
pushDownSummaryPage(root);
+ for (int i = 0; i < root.getChildCount(); i++) {
+ TreeItem item = root.getChild(i);
+ ItemModel model = ItemModels.getModelFromItem(item);
+
+ if (model.getClass() == OrganizationModel.class
+ || model.getClass() == ChapterModel.class) {
+ updateSummaryPages(item);
+ }
+ }
+
boolean showSummaryPage = isShowSummaryPageForItem(root);
if (showSummaryPage) {
@@ -61,22 +72,33 @@
private void insertAllNeededObjectivesIntoSummaryPage(TreeItem root) {
Item summaryPage = (Item) root.getChild(root.getChildCount() - 1);
-
+
ArrayList<String> objectiveIds = getShowingItemsIds(root);
-
- summaryPage.sequencing.objectives.objective = new ArrayList<Objective>();
- for (int i=0; i < objectiveIds.size(); i++){
+ Objectives objectives = getObjectivesInstance(summaryPage);
+ objectives.objective = new ArrayList<Objective>();
+
+ for (int i = 0; i < objectiveIds.size(); i++) {
String objectiveId = objectiveIds.get(i);
Objective objective = ManifestFactory.createObjective();
-
+
objective.objectiveID = objectiveId;
objective.mapInfo.add(ManifestFactory.createMapInfo(objectiveId));
-
+
summaryPage.sequencing.objectives.objective.add(objective);
}
}
+ private Objectives getObjectivesInstance(Item summaryPage) {
+ Sequencing sequencing = getSequencingInstance(summaryPage);
+
+ if (sequencing.objectives == null) {
+ sequencing.objectives = ManifestFactory.createObjectives();
+ }
+
+ return sequencing.objectives;
+ }
+
private ArrayList<String> getShowingItemsIds(TreeItem root) {
ArrayList<String> result = new ArrayList<String>();
@@ -92,7 +114,8 @@
ItemModel chapterModel = ItemModels.getModelFromItem(child);
if (chapterModel.getClass() == ChapterModel.class) {
- if (((ChapterModel) chapterModel).getShowOnSummaryPage(child)) {
+ if (((ChapterModel) chapterModel)
+ .getShowOnSummaryPage(child)) {
result.addAll(getShowingItemsIds(child));
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -17,11 +17,21 @@
public class ChapterModel extends ResourcedItemModel {
@Override
+ protected void initializeDataForItem(Item anItem) {
+ initializeDataForItem(anItem, new ChapterItemData());
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return false;
}
@Override
+ public void addItem(TreeItem parent) {
+ super.addItem(parent);
+ }
+
+ @Override
public boolean getShowOnSummaryPageMenuVisible() {
return true;
}
@@ -113,7 +123,7 @@
if (itemData == null) {
ItemData data = new ChapterItemData();
- InitializeDataForItem(anItem, data);
+ initializeDataForItem(anItem, data);
itemData = (ChapterItemData) getItemData(anItem);
}
@@ -125,7 +135,7 @@
@Override
public boolean synchronizeItemWithResource(TreeItem anItem) {
- InitializeDataForItem(anItem, new ChapterItemData());
+ initializeDataForItem(anItem, new ChapterItemData());
String identifier = "";
if (anItem.getClass() == Item.class) {
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -8,6 +8,7 @@
import java.util.UUID;
import edu.lnu.FireFly.FFManifest.TreeItem;
+import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.FFManifest.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
@@ -17,7 +18,7 @@
protected String modelName = "Abstract model";
- public void InitializeDataForItem(TreeItem anItem, ItemData data) {
+ public void initializeDataForItem(TreeItem anItem, ItemData data) {
questionsData.put(anItem, data);
}
@@ -36,6 +37,8 @@
return itemData.getShowOnSummaryPage();
}
+ protected abstract void initializeDataForItem(Item anItem);
+
public final void setShowOnSummaryPage(TreeItem anItem, boolean aValue) {
ItemData itemData = getItemData(anItem);
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -20,6 +20,11 @@
public class LectureModel extends ResourcedItemModel {
@Override
+ protected void initializeDataForItem(Item anItem) {
+ initializeDataForItem(anItem, new LectureData());
+ }
+
+ @Override
public boolean getShowSummaryPageMenuVisible() {
return false;
}
@@ -40,7 +45,7 @@
@Override
public boolean synchronizeItemWithResource(TreeItem anItem) {
- InitializeDataForItem(anItem, new LectureData());
+ initializeDataForItem(anItem, new LectureData());
Resource resource = WebEditor.instance.getManifest().resources
.findResourceByIdentifier(((Item)anItem).identifierref);
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -4,7 +4,6 @@
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
-import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
public abstract class ResourcedItemModel extends ItemModel {
@@ -20,6 +19,8 @@
item.identifierref = createNewResource();
+ initializeDataForItem(item);
+
try {
parent.addChild(item);
TreeDataModel.getInstance().treeNodesInserted(item);
@@ -28,10 +29,8 @@
return;
}
- synchronizeItemWithResource(item);
+ updateItemResource(item, true);
- SummaryPageManager.getInstance().updateSummaryPages();
-
ConfigureItem(item);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -22,6 +22,11 @@
public class SimpleQuestionModel extends ResourcedItemModel {
@Override
+ protected void initializeDataForItem(Item anItem) {
+ initializeDataForItem(anItem, new SimpleQuestionData());
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return true;
}
@@ -104,7 +109,7 @@
SAXReader reader = new SAXReader();
- InitializeDataForItem(anItem, new SimpleQuestionData());
+ initializeDataForItem(anItem, new SimpleQuestionData());
Document doc = null;
try {
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-02 09:54:59 UTC (rev 71)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-02 11:23:52 UTC (rev 72)
@@ -19,6 +19,11 @@
public class SummaryPageModel extends ResourcedItemModel {
@Override
+ protected void initializeDataForItem(Item anItem) {
+ initializeDataForItem(anItem, new SummaryPageData());
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return false;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|