|
From: <se...@us...> - 2008-05-07 08:48:31
|
Revision: 97
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=97&view=rev
Author: sem62
Date: 2008-05-07 01:48:34 -0700 (Wed, 07 May 2008)
Log Message:
-----------
code refactor:
* move synchronizeItemWithResource to parent class
* added some files to template
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -35,7 +35,7 @@
return null;
}
- model.initializeDataForItem(root, new ChapterItemData());
+ model.setItemData(root, new ChapterItemData());
model.updateItemResource(root, false);
return manifest;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -8,9 +8,7 @@
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel;
-import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionException;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel;
/**
@@ -37,7 +35,7 @@
private javax.swing.JButton editCaptionInHtmlBtn;
private javax.swing.JButton editQuestionInHtmlBtn;
private SimpleQuestionAnswersDataModel simpleQuestionAnswersDataModel;
-
+
public SimpleQuestionPropertiestsDlg() {
obj = this;
@@ -47,7 +45,7 @@
@Override
public void actionPerformed(ActionEvent arg0) {
super.actionPerformed(arg0);
-
+
if (arg0.getSource() == editQuestionInHtmlBtn) {
editTextFieldInHtmlEditor(questionTextField);
}
@@ -64,29 +62,23 @@
@Override
protected void fillFields() {
- try {
- SimpleQuestionPropertiestsDlg dlg = (SimpleQuestionPropertiestsDlg)obj;
- dlg.titleTextField.setText(manifestItem.getTitle());
+ SimpleQuestionPropertiestsDlg dlg = (SimpleQuestionPropertiestsDlg) obj;
+ dlg.titleTextField.setText(manifestItem.getTitle());
- SimpleQuestionModel itemModel = new SimpleQuestionModel();
+ SimpleQuestionModel itemModel = new SimpleQuestionModel();
- itemModel.synchronizeItemWithResource((Item)manifestItem);
+ dlg.captionTextField.setText(itemModel.getData(manifestItem)
+ .getCaption());
+ dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
+ .equals(dlg.captionTextField.getText()));
+ dlg.questionTextField.setText(itemModel.getData(manifestItem)
+ .getQuestion());
- dlg.captionTextField
- .setText(itemModel.getData(manifestItem).getCaption());
- dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
- .equals(dlg.captionTextField.getText()));
- dlg.questionTextField.setText(itemModel
- .getData(manifestItem).getQuestion());
+ dlg.simpleQuestionAnswersDataModel = itemModel.getData(manifestItem)
+ .getAnswers();
+ dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel);
- dlg.simpleQuestionAnswersDataModel = itemModel
- .getData(manifestItem).getAnswers();
- dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel);
-
- dlg.titleTextField.selectAll();
- } catch (SimpleQuestionException e) {
- e.printStackTrace();
- }
+ dlg.titleTextField.selectAll();
}
private void initComponents() {
@@ -348,7 +340,8 @@
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(cancelButton)
+ .addComponent(
+ cancelButton)
.addComponent(okButton))
.addContainerGap(
javax.swing.GroupLayout.DEFAULT_SIZE,
@@ -362,17 +355,15 @@
SimpleQuestionModel itemModel = new SimpleQuestionModel();
manifestItem.setTitle(titleTextField.getText());
- try{
itemModel.getData(manifestItem).setCaption(captionTextField.getText());
- itemModel.getData(manifestItem).setQuestion(questionTextField.getText());
- itemModel.getData(manifestItem).setAnswers(simpleQuestionAnswersDataModel);
- }
- catch (SimpleQuestionException e) {
- e.printStackTrace();
- return;
- }
+ itemModel.getData(manifestItem)
+ .setQuestion(questionTextField.getText());
+
+ itemModel.getData(manifestItem).setAnswers(
+ simpleQuestionAnswersDataModel);
+
itemModel.updateItemResource(manifestItem, true);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,5 +1,13 @@
package edu.lnu.FireFly.WebEditor.ItemModels;
+import java.io.Reader;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
+
public class ChapterItemData extends ItemData {
private boolean showSummaryPage = true;
private boolean flow;
@@ -57,7 +65,43 @@
public void setShowSummaryPage(boolean showSummaryPage) {
this.showSummaryPage = showSummaryPage;
}
+
+ public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){
+ SAXReader reader = new SAXReader();
+ Document doc = null;
+ Element root = null;
+ try {
+ doc = reader.read(aXmlInputStream);
+
+ root = doc.getRootElement();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ try {
+ boolean showSP = Boolean.valueOf(root
+ .elementTextTrim("ShowSummaryPage"));
+ setShowSummaryPage(showSP);
+
+ boolean showOnSP = Boolean.valueOf(root
+ .elementTextTrim("ShowOnSummaryPage"));
+ setShowOnSummaryPage(showOnSP);
+
+ int configuration = Integer.valueOf(root
+ .elementTextTrim("Configuration"));
+ setConfiguration(configuration);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+
+ return true;
+ }
+
public static final int CONFIGURATION_USER_DEFINED = 0;
public static final int CONFIGURATION_LECTURE = 1;
public static final int CONFIGURATION_EXAMINATION = 2;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,11 +1,8 @@
package edu.lnu.FireFly.WebEditor.ItemModels;
-import java.io.StringReader;
-
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
import edu.lnu.FireFly.FFManifest.Organization;
import edu.lnu.FireFly.FFManifest.TreeItem;
@@ -17,21 +14,11 @@
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;
}
@@ -43,7 +30,7 @@
public ChapterModel() {
super();
- modelName = "Chapter";
+ modelName = "ChapterModel";
isContainerItem = true;
}
@@ -67,7 +54,7 @@
}
public boolean getShowSummaryPage(TreeItem anItem) {
- ChapterItemData itemData = (ChapterItemData) getItemData(anItem);
+ ChapterItemData itemData = getData(anItem);
if (itemData == null) {
System.out
@@ -119,11 +106,11 @@
}
public void setShowSummaryPage(TreeItem anItem, boolean state) {
- ChapterItemData itemData = (ChapterItemData) getItemData(anItem);
+ ChapterItemData itemData = getData(anItem);
if (itemData == null) {
ItemData data = new ChapterItemData();
- initializeDataForItem(anItem, data);
+ setItemData(anItem, data);
itemData = (ChapterItemData) getItemData(anItem);
}
@@ -133,61 +120,14 @@
}
}
- @Override
- public boolean synchronizeItemWithResource(TreeItem anItem) {
- initializeDataForItem(anItem, new ChapterItemData());
-
- String identifier = "";
- if (anItem.getClass() == Item.class) {
- identifier = ((Item) anItem).identifier;
- }
- if (anItem.getClass() == Organization.class) {
- identifier = ((Organization) anItem).identifier;
- }
- String res = WebEditorServiceClient
- .getFileContent(identifier + ".conf", "course");
-
- if (res == null || res.trim().equals("")){
- return false;
- }
-
- SAXReader reader = new SAXReader();
-
- Document doc = null;
- Element root = null;
- try {
- doc = reader.read(new StringReader(res));
-
- root = doc.getRootElement();
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- try {
- boolean showSP = Boolean.valueOf(root
- .elementTextTrim("ShowSummaryPage"));
- ((ChapterItemData) getItemData(anItem)).setShowSummaryPage(showSP);
-
- boolean showOnSP = Boolean.valueOf(root
- .elementTextTrim("ShowOnSummaryPage"));
- getItemData(anItem).setShowOnSummaryPage(showOnSP);
-
- int configuration = Integer.valueOf(root
- .elementTextTrim("Configuration"));
- ((ChapterItemData) getItemData(anItem)).setConfiguration(configuration);
-
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- return true;
+ private ChapterItemData getData(TreeItem anItem) {
+ return (ChapterItemData) getItemData(anItem);
}
@Override
- public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) {
- ChapterItemData itemData = (ChapterItemData) getItemData(anItem);
+ public boolean updateItemResource(TreeItem anItem,
+ boolean updateSummaryPages) {
+ ChapterItemData itemData = getData(anItem);
Document doc = DocumentHelper.createDocument();
Element root = doc.addElement(modelName);
@@ -210,10 +150,15 @@
WebEditorServiceClient
.setFileContent(identifier + ".conf", doc.asXML());
- if (updateSummaryPages){
+ if (updateSummaryPages) {
SummaryPageManager.getInstance().updateSummaryPages();
}
return true;
}
+
+ @Override
+ protected ItemData createItemDataInstance() {
+ return new ChapterItemData();
+ }
}
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,5 +1,9 @@
package edu.lnu.FireFly.WebEditor.ItemModels;
+import java.io.Reader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
+
public abstract class ItemData {
private Boolean showOnSummaryPage = false;
@@ -10,4 +14,6 @@
public void setShowOnSummaryPage(Boolean showOnSummaryPage) {
this.showOnSummaryPage = showOnSummaryPage;
}
+
+ public abstract boolean unmarshal(Reader res, TreeItem anItem);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -19,7 +19,7 @@
protected String modelName = "Abstract model";
- public void initializeDataForItem(TreeItem anItem, ItemData data) {
+ public void setItemData(TreeItem anItem, ItemData data) {
questionsData.put(anItem, data);
}
@@ -129,8 +129,8 @@
public abstract void rename(TreeItem item, String newTitle);
- public abstract boolean synchronizeItemWithResource(TreeItem item);
-
+ public abstract boolean synchronizeItemWithResource(TreeItem anItem, String location);
+
public abstract boolean updateItemResource(TreeItem item, boolean updateSummaryPages);
public abstract boolean getLimitConditionsMenuVisible();
@@ -150,4 +150,6 @@
return null;
}
+
+ protected abstract ItemData createItemDataInstance();
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -45,7 +45,7 @@
ItemModel model = ItemModels.getModelFromItem(item);
if (item.getClass() == Item.class) {
- model.synchronizeItemWithResource((Item)item);
+ model.synchronizeItemWithResource((Item)item, "course");
}
if (model.getClass() == ChapterModel.class
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,20 +1,55 @@
package edu.lnu.FireFly.WebEditor.ItemModels.Lecture;
+import java.io.Reader;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class LectureData extends ItemData {
- private String caption="";
- private String content="";
+ private String caption = "";
+ private String content = "";
+
public String getCaption() {
return caption;
}
+
public void setCaption(String caption) {
this.caption = caption;
}
+
public String getContent() {
return content;
}
+
public void setContent(String content) {
this.content = content;
}
+
+ public boolean unmarshal(Reader stringReader, TreeItem anItem) {
+ SAXReader reader = new SAXReader();
+
+ Document doc = null;
+ try {
+ doc = reader.read(stringReader);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ Element root = doc.getRootElement();
+
+ setCaption(root.elementTextTrim("caption"));
+ setContent(root.elementTextTrim("content"));
+
+ boolean showOnSP = Boolean.valueOf(root
+ .elementTextTrim("ShowOnSummaryPage"));
+
+ setShowOnSummaryPage(showOnSP);
+
+ return true;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,11 +1,8 @@
package edu.lnu.FireFly.WebEditor.ItemModels.Lecture;
-import java.io.StringReader;
-
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
@@ -14,17 +11,13 @@
import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.LecturePropertiestsDlg;
+import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Template;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class LectureModel extends ResourcedItemModel {
@Override
- protected void initializeDataForItem(Item anItem) {
- initializeDataForItem(anItem, new LectureData());
- }
-
- @Override
public boolean getShowSummaryPageMenuVisible() {
return false;
}
@@ -40,44 +33,10 @@
}
public LectureModel() {
- modelName = "Lecture";
+ modelName = "LectureModel";
}
@Override
- public boolean synchronizeItemWithResource(TreeItem anItem) {
- initializeDataForItem(anItem, new LectureData());
-
- Resource resource = WebEditor.instance.getManifest().resources
- .findResourceByIdentifier(((Item)anItem).identifierref);
-
- String res = WebEditorServiceClient.getFileContent(resource.identifier
- + ".conf", "course");
-
- SAXReader reader = new SAXReader();
-
- Document doc = null;
- try {
- doc = reader.read(new StringReader(res));
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- Element root = doc.getRootElement();
-
- LectureData itemData = getData(anItem);
-
- itemData.setCaption(root.elementTextTrim("caption"));
- itemData.setContent(root.elementTextTrim("content"));
-
- boolean showOnSP = Boolean.valueOf(root
- .elementTextTrim("ShowOnSummaryPage"));
- itemData.setShowOnSummaryPage(showOnSP);
-
- return true;
- }
-
- @Override
public boolean canAddToItem(TreeItem parent) {
// TODO Auto-generated method stub
return true;
@@ -133,4 +92,9 @@
return true;
}
+
+ @Override
+ protected ItemData createItemDataInstance() {
+ return new LectureData();
+ }
}
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -9,7 +9,7 @@
public OrganizationModel(){
super();
isContainerItem = true;
- modelName = "Organization";
+ modelName = "OrganizationModel";
}
@Override
@@ -35,11 +35,6 @@
}
@Override
- public void addItem(TreeItem parent) {
- System.out.print("Can't add Organization into course.");
- }
-
- @Override
public boolean isApplaingForItem(TreeItem treeItem){
return treeItem.getClass() == Organization.class;
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,26 +1,35 @@
package edu.lnu.FireFly.WebEditor.ItemModels;
+import java.io.StringReader;
import java.util.UUID;
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
+import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public abstract class ResourcedItemModel extends ItemModel {
@Override
- public void addItem(TreeItem parent) {
+ public final void addItem(TreeItem parent) {
+
+ if (this.getClass() == OrganizationModel.class){
+ System.out.println("Can't add Organization into course.");
+ return ;
+ }
+
Item item = new Item();
item.setParent(parent);
- item.identifier = this.getClass().getSimpleName() + "_Item_" + UUID.randomUUID().toString();
+ item.identifier = this.getClass().getSimpleName() + "_Item_"
+ + UUID.randomUUID().toString();
item.title = "New " + modelName;
item.parameters = "pageType=" + modelName;
item.identifierref = createNewResource();
initializeDataForItem(item);
-
+
try {
parent.addChild(item);
TreeDataModel.getInstance().treeNodesInserted(item);
@@ -32,6 +41,19 @@
ConfigureItem(item);
}
+ protected final String loadResource(String location, String identifier) {
+ String res = "";
+
+ if (location.equalsIgnoreCase("course")) {
+ res = WebEditorServiceClient.getFileContent(identifier + ".conf",
+ location);
+ } else {
+ res = WebEditorServiceClient.getFileContent(modelName + ".conf",
+ location);
+ }
+ return res;
+ }
+
@Override
public boolean isApplaingForItem(TreeItem treeItem) {
if (treeItem.getClass() != Item.class) {
@@ -63,4 +85,34 @@
((Item) item).title = newTitle;
TreeDataModel.getInstance().treeNodesChanged(item);
}
+
+ public final boolean synchronizeItemWithResource(TreeItem anItem, String location)
+ {
+ String res = loadResource(location, getIdentifier(anItem));
+
+ if (res == null || res.trim().equals("")) {
+ return false;
+ }
+
+ ItemData itemData = getItemData(anItem);
+
+ if (itemData == null) {
+ itemData = createItemDataInstance();
+ setItemData(anItem, itemData);
+ }
+
+ itemData.unmarshal(new StringReader(res), anItem);
+
+ return true;
+ }
+
+ protected final void initializeDataForItem(Item anItem){
+ ItemData itemData = createItemDataInstance();
+
+ String res = loadResource("template", getIdentifier(anItem));
+
+ itemData.unmarshal(new StringReader(res), anItem);
+
+ setItemData(anItem, itemData);
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,5 +1,13 @@
package edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion;
+import java.io.Reader;
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class SimpleQuestionData extends ItemData {
@@ -25,4 +33,45 @@
public void setQuestion(String question) {
this.question = question;
}
+
+ @SuppressWarnings("unchecked")
+ public boolean unmarshal(Reader res, TreeItem anItem) {
+ SAXReader reader = new SAXReader();
+
+ Document doc = null;
+ try {
+ doc = reader.read(res);
+
+ Element root = doc.getRootElement();
+ Element answers = root.element("answers");
+
+ setCaption(root.elementTextTrim("caption"));
+ setQuestion(root.elementTextTrim("question"));
+
+ boolean showOnSP = Boolean.valueOf(root
+ .elementTextTrim("ShowOnSummaryPage"));
+ setShowOnSummaryPage(showOnSP);
+
+ getAnswers().setSingleVariant(
+ answers.attributeValue("singleVariant").equalsIgnoreCase(
+ "true"));
+
+ getAnswers().answers.clear();
+
+ Iterator<Element> iter = answers.elementIterator("answer");
+ while (iter.hasNext()) {
+ Element answer = iter.next();
+ SimpleQuestionAnswer ans = new SimpleQuestionAnswer(answer
+ .getText());
+ ans.setAnswerPoint(Double.valueOf(answer
+ .attributeValue("point")));
+ getAnswers().answers.add(ans);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ return true;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,12 +1,10 @@
package edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion;
-import java.io.StringReader;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
@@ -15,18 +13,13 @@
import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.SimpleQuestionPropertiestsDlg;
+import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Template;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class SimpleQuestionModel extends ResourcedItemModel {
-
@Override
- protected void initializeDataForItem(Item anItem) {
- initializeDataForItem(anItem, new SimpleQuestionData());
- }
-
- @Override
public boolean getLimitConditionsMenuVisible() {
return true;
}
@@ -37,7 +30,7 @@
}
public SimpleQuestionModel() {
- modelName = "SimpleQuestion";
+ modelName = "SimpleQuestionModel";
}
@Override
@@ -61,8 +54,7 @@
.getItemPath(item));
}
- public SimpleQuestionData getData(TreeItem item)
- throws SimpleQuestionException {
+ public SimpleQuestionData getData(TreeItem item) {
return ((SimpleQuestionData) getItemData(item));
}
@@ -98,115 +90,65 @@
TreeDataModel.getInstance().treeNodesChanged(item);
}
- @Override
- @SuppressWarnings("unchecked")
- public boolean synchronizeItemWithResource(TreeItem anItem) {
- Resource resource = WebEditor.instance.getManifest().resources
- .findResourceByIdentifier(((Item)anItem).identifierref);
-
- String res = WebEditorServiceClient.getFileContent(resource.identifier
- + ".conf", "course");
-
- SAXReader reader = new SAXReader();
-
- initializeDataForItem(anItem, new SimpleQuestionData());
-
- Document doc = null;
- try {
- doc = reader.read(new StringReader(res));
-
- Element root = doc.getRootElement();
- Element answers = root.element("answers");
-
- SimpleQuestionData itemData = getData(anItem);
- itemData.setCaption(root.elementTextTrim("caption"));
- itemData.setQuestion(root.elementTextTrim("question"));
-
- boolean showOnSP = Boolean.valueOf(root
- .elementTextTrim("ShowOnSummaryPage"));
- itemData.setShowOnSummaryPage(showOnSP);
-
- itemData.getAnswers().setSingleVariant(
- answers.attributeValue("singleVariant").equalsIgnoreCase(
- "true"));
-
- itemData.getAnswers().answers.clear();
-
- Iterator<Element> iter = answers.elementIterator("answer");
- while (iter.hasNext()) {
- Element answer = iter.next();
- SimpleQuestionAnswer ans = new SimpleQuestionAnswer(answer
- .getText());
- ans.setAnswerPoint(Double.valueOf(answer
- .attributeValue("point")));
- itemData.getAnswers().answers.add(ans);
- }
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- return true;
+ protected ItemData createItemDataInstance() {
+ return new SimpleQuestionData();
}
@Override
- public boolean updateItemResource(TreeItem anItem, boolean updateSummaryPages) {
+ public boolean updateItemResource(TreeItem anItem,
+ boolean updateSummaryPages) {
Resource resource = WebEditor.instance.getManifest().resources
.findResourceByIdentifier(((Item) anItem).identifierref);
Template template = new Template(resource.getFullHref(), this);
- try {
- SimpleQuestionData itemData = getData(anItem);
-
- template.setProperty("Caption", itemData.getCaption());
- template.setProperty("Question", itemData.getQuestion());
+ SimpleQuestionData itemData = getData(anItem);
- Iterator<SimpleQuestionAnswer> iter = itemData.getAnswers().answers
- .iterator();
- String answers = "\r\nsetSingleVariant("
- + itemData.getAnswers().getSingleVariant() + ");\r\n";
+ template.setProperty("Caption", itemData.getCaption());
+ template.setProperty("Question", itemData.getQuestion());
- while (iter.hasNext()) {
- SimpleQuestionAnswer answer = iter.next();
- answers += "addAnswer(\"" + answer.getAnswerText() + "\", "
- + answer.getAnswerPoint() + ");" + "\r\n";
- }
+ Iterator<SimpleQuestionAnswer> iter = itemData.getAnswers().answers
+ .iterator();
+ String answers = "\r\nsetSingleVariant("
+ + itemData.getAnswers().getSingleVariant() + ");\r\n";
- template.setProperty("answers", answers);
- template.updateResource();
+ while (iter.hasNext()) {
+ SimpleQuestionAnswer answer = iter.next();
+ answers += "addAnswer(\"" + answer.getAnswerText() + "\", "
+ + answer.getAnswerPoint() + ");" + "\r\n";
+ }
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement(modelName);
- root.addElement("caption").setText(itemData.getCaption());
- root.addElement("question").setText(itemData.getQuestion());
+ template.setProperty("answers", answers);
+ template.updateResource();
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(itemData.getShowOnSummaryPage()));
+ Document doc = DocumentHelper.createDocument();
+ Element root = doc.addElement(modelName);
+ root.addElement("caption").setText(itemData.getCaption());
+ root.addElement("question").setText(itemData.getQuestion());
- Element ans = root.addElement("answers");
+ root.addElement("ShowOnSummaryPage").setText(
+ String.valueOf(itemData.getShowOnSummaryPage()));
- ans.addAttribute("singleVariant", String.valueOf(itemData
- .getAnswers().getSingleVariant()));
+ Element ans = root.addElement("answers");
- iter = itemData.getAnswers().answers.iterator();
+ ans.addAttribute("singleVariant", String.valueOf(itemData.getAnswers()
+ .getSingleVariant()));
- while (iter.hasNext()) {
- SimpleQuestionAnswer answer = iter.next();
+ iter = itemData.getAnswers().answers.iterator();
- Element ansEl = ans.addElement("answer");
- ansEl.addAttribute("point", String.valueOf(answer
- .getAnswerPoint()));
- ansEl.setText(answer.getAnswerText());
- }
+ while (iter.hasNext()) {
+ SimpleQuestionAnswer answer = iter.next();
- WebEditorServiceClient.setFileContent(
- resource.identifier + ".conf", doc.asXML());
- } catch (SimpleQuestionException e) {
- e.printStackTrace();
- return false;
+ Element ansEl = ans.addElement("answer");
+ ansEl
+ .addAttribute("point", String.valueOf(answer
+ .getAnswerPoint()));
+ ansEl.setText(answer.getAnswerText());
}
+ WebEditorServiceClient.setFileContent(resource.identifier + ".conf",
+ doc.asXML());
+
SummaryPageManager.getInstance().updateSummaryPages();
return true;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -1,12 +1,20 @@
package edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel;
+import java.io.Reader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class SummaryPageData extends ItemData {
@Override
+ public boolean unmarshal(Reader res, TreeItem anItem) {
+ // TODO Auto-generated method stub
+ return true;
+ }
+
+ @Override
public Boolean getShowOnSummaryPage() {
- // It can be show on summary page
return false;
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -8,6 +8,7 @@
import edu.lnu.FireFly.FFManifest.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
@@ -19,11 +20,6 @@
public class SummaryPageModel extends ResourcedItemModel {
@Override
- protected void initializeDataForItem(Item anItem) {
- initializeDataForItem(anItem, new SummaryPageData());
- }
-
- @Override
public boolean getLimitConditionsMenuVisible() {
return false;
}
@@ -34,16 +30,10 @@
}
public SummaryPageModel() {
- modelName = "SummaryPage";
+ modelName = "SummaryPageModel";
}
@Override
- public boolean synchronizeItemWithResource(TreeItem item) {
- // currently it can't any item data
- return false;
- }
-
- @Override
public boolean updateItemResource(TreeItem anItem,
boolean updateSummaryPages) {
Resource resource = WebEditor.instance.getManifest().resources
@@ -141,4 +131,9 @@
return false;
}
+ @Override
+ protected ItemData createItemDataInstance() {
+ return new SummaryPageData();
+ }
+
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-06 22:43:58 UTC (rev 96)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-07 08:48:34 UTC (rev 97)
@@ -120,7 +120,7 @@
OrganizationModel model = (OrganizationModel) ItemModels
.getModelFromItem(root);
- model.synchronizeItemWithResource(root);
+ model.synchronizeItemWithResource(root, "template");
SummaryPageManager.getInstance().updateSummaryPages();
} catch (Exception e) {
e.printStackTrace();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|