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. |