|
From: <se...@us...> - 2008-05-18 17:35:24
|
Revision: 145
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=145&view=rev
Author: sem62
Date: 2008-05-18 10:35:26 -0700 (Sun, 18 May 2008)
Log Message:
-----------
Normally marshal and unmarshal compileQ propertiests.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java
WebEditor/template/CompileQModel.conf
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 15:27:58 UTC (rev 144)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-18 17:35:26 UTC (rev 145)
@@ -173,16 +173,19 @@
CompileQModel itemModel = new CompileQModel();
- // dlg.captionTextField.setText(itemModel.getData(manifestItem)
- // .getCaption());
+ dlg.captionTextField.setText(itemModel.getData(manifestItem)
+ .getCaption());
+
dlg.sameAsTitleCheckBox.setSelected(dlg.titleTextField.getText()
.equals(dlg.captionTextField.getText()));
dlg.compileQTableDataModel = itemModel.getData(manifestItem).getParts();
-
+
dlg.programmingLanguage.addItem("Any");
dlg.programmingLanguage.addItem("C++");
dlg.programmingLanguage.addItem("Pascal");
+
+ dlg.programmingLanguage.setSelectedItem(itemModel.getData(manifestItem).getLanguge());
dlg.partsTable.setModel(dlg.compileQTableDataModel);
@@ -219,7 +222,8 @@
generalPanel = new javax.swing.JPanel();
titleLabel = new javax.swing.JLabel();
- programminglanguageLabel = new javax.swing.JLabel("Programming language:");
+ programminglanguageLabel = new javax.swing.JLabel(
+ "Programming language:");
titleTextField = new javax.swing.JTextField();
captionPanel = new javax.swing.JPanel();
captionTextField = new javax.swing.JTextField();
@@ -356,8 +360,7 @@
captionTextField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE
- ))
+ javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap()));
oneAnswerCheckBox.setText("Only one correct answer");
@@ -366,47 +369,36 @@
.createTitledBorder("Variants of answer"));
jScrollPane1.setViewportView(partsTable);
- jScrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
+ jScrollPane1
+ .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(
partsPanel);
partsPanel.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout
- .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(jPanel4Layout.createSequentialGroup()
- .addComponent(moveUpAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(moveDownAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(insertAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(deleteAnswerVariantBtn)
- .addContainerGap(10, 10)
- .addComponent(editAnswerVariantInHtmlEditor)
- .addContainerGap()
- )
- .addGroup(
- jPanel4Layout.createSequentialGroup().addContainerGap()
- .addComponent(jScrollPane1,
- javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE)
- .addContainerGap()
- )
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel4Layout
- .createSequentialGroup()
- .addContainerGap()
- .addComponent(programminglanguageLabel,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE
- )
- .addContainerGap(10, 10)
- .addComponent(programmingLanguage, 118, 118, 118)
- .addContainerGap()
- )
- );
+ jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING).addGroup(
+ jPanel4Layout.createSequentialGroup().addComponent(
+ moveUpAnswerVariantBtn).addContainerGap(10, 10)
+ .addComponent(moveDownAnswerVariantBtn)
+ .addContainerGap(10, 10).addComponent(
+ insertAnswerVariantBtn).addContainerGap(10, 10)
+ .addComponent(deleteAnswerVariantBtn).addContainerGap(
+ 10, 10).addComponent(
+ editAnswerVariantInHtmlEditor)
+ .addContainerGap()).addGroup(
+ jPanel4Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 364,
+ Short.MAX_VALUE).addContainerGap()).addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel4Layout.createSequentialGroup().addContainerGap()
+ .addComponent(programminglanguageLabel,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(10, 10).addComponent(
+ programmingLanguage, 118, 118, 118)
+ .addContainerGap()));
jPanel4Layout
.setVerticalGroup(jPanel4Layout
@@ -420,16 +412,20 @@
jPanel4Layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
- .addGroup(
- jPanel4Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(programminglanguageLabel,
- 20, 20, 20)
- .addComponent(programmingLanguage,
- 20, 20, 20)
- )
- )
+ .addGroup(
+ jPanel4Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(
+ programminglanguageLabel,
+ 20,
+ 20,
+ 20)
+ .addComponent(
+ programmingLanguage,
+ 20,
+ 20,
+ 20)))
.addContainerGap(10, 10)
.addComponent(
jScrollPane1,
@@ -558,6 +554,7 @@
}
data.setParts(compileQTableDataModel);
+ data.setLanguge(programmingLanguage.getSelectedItem().toString());
itemModel.updateItemResource(manifestItem, true);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-18 15:27:58 UTC (rev 144)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-18 17:35:26 UTC (rev 145)
@@ -1,44 +1,47 @@
package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ;
import java.io.Reader;
+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.WebEditor.ItemModels.ItemData;
public class CompileQData extends ItemData {
@Override
public String marshal(TreeItem anItem) {
- return "";
+ Document doc = DocumentHelper.createDocument();
+ Element root = doc.addElement("CompileQuestion");
+ root.addElement("caption").setText(getCaption());
- // Document doc = DocumentHelper.createDocument();
-// Element root = doc.addElement("SimpleQuestion");
-// root.addElement("caption").setText(getCaption());
-// root.addElement("question").setText(getQuestion());
-//
-// root.addElement("ShowOnSummaryPage").setText(
-// String.valueOf(getShowOnSummaryPage()));
-//
-// Element ans = root.addElement("answers");
-//
-// ans.addAttribute("singleVariant", String.valueOf(getAnswers()
-// .getSingleVariant()));
-//
-// Iterator<CompileQPart> iter = getAnswers().answers.iterator();
-//
-// while (iter.hasNext()) {
-// CompileQPart answer = iter.next();
-//
-// Element ansEl = ans.addElement("answer");
-// ansEl
-// .addAttribute("point", String.valueOf(answer
-// .getAnswerPoint()));
-// ansEl.setText(answer.getAnswerText());
-// }
-//
-// return doc.asXML();
+ root.addElement("ShowOnSummaryPage").setText(String.valueOf(getShowOnSummaryPage()));
+
+ Element parts = root.addElement("parts");
+
+ parts.addAttribute("language", String.valueOf(getLanguge()));
+
+ Iterator<CompileQPart> iter = getParts().questionParts.iterator();
+
+ while (iter.hasNext()) {
+ CompileQPart part = iter.next();
+
+ Element partElement = parts.addElement("part");
+ partElement.addAttribute("isAnswer", String.valueOf(part.getPartAttributes().isAnswer()));
+ partElement.addAttribute("isReadOnly", String.valueOf(part.getPartAttributes().isReadOnly()));
+ partElement.addAttribute("isVivsble", String.valueOf(part.getPartAttributes().isVisible()));
+
+ partElement.setText(part.getAnswerText());
+ }
+
+ return doc.asXML();
}
private String caption = "";
+ private String languge = "Any";
public String getCaption() {
return caption;
@@ -53,42 +56,40 @@
@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();
-// CompileQPart ans = new CompileQPart(answer
-// .getText());
-// ans.setAnswerPoint(Double.valueOf(answer
-// .attributeValue("point")));
-// getAnswers().answers.add(ans);
-// }
-// } catch (Exception e) {
-// e.printStackTrace();
-// return false;
-// }
-//
+ SAXReader reader = new SAXReader();
+
+ Document doc = null;
+ try {
+ doc = reader.read(res);
+
+ Element root = doc.getRootElement();
+ Element answers = root.element("parts");
+
+ setCaption(root.elementTextTrim("caption"));
+
+ boolean showOnSP = Boolean.valueOf(root.elementTextTrim("ShowOnSummaryPage"));
+ setShowOnSummaryPage(showOnSP);
+
+ setLanguge(answers.attributeValue("language"));
+
+ getParts().questionParts.clear();
+
+ Iterator<Element> iter = answers.elementIterator("part");
+ while (iter.hasNext()) {
+ Element partElement = iter.next();
+ CompileQPart part = new CompileQPart(partElement.getText());
+
+ part.getPartAttributes().setAnswer(partElement.attributeValue("isAnswer").equalsIgnoreCase("true"));
+ part.getPartAttributes().setReadOnly(partElement.attributeValue("isReadOnly").equalsIgnoreCase("true"));
+ part.getPartAttributes().setVisible(partElement.attributeValue("isVivsble").equalsIgnoreCase("true"));
+
+ getParts().questionParts.add(part);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
return true;
}
@@ -99,4 +100,12 @@
public void setParts(CompileQPartsTableModel parts) {
this.parts = parts;
}
+
+ public String getLanguge() {
+ return languge;
+ }
+
+ public void setLanguge(String languge) {
+ this.languge = languge;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java 2008-05-18 15:27:58 UTC (rev 144)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQPart.java 2008-05-18 17:35:26 UTC (rev 145)
@@ -9,7 +9,6 @@
private static final long serialVersionUID = 1L;
private String answerText = "";
- private double answerPoint = 0;
private PartAttributes partAttributes = new PartAttributes();
@@ -25,18 +24,10 @@
this.answerText = answerText;
}
- public double getAnswerPoint() {
- return answerPoint;
- }
-
public String getAnswerText() {
return answerText;
}
- public void setAnswerPoint(double answerPoint) {
- this.answerPoint = answerPoint;
- }
-
public void setAnswerText(String answerText) {
this.answerText = answerText;
}
Modified: WebEditor/template/CompileQModel.conf
===================================================================
--- WebEditor/template/CompileQModel.conf 2008-05-18 15:27:58 UTC (rev 144)
+++ WebEditor/template/CompileQModel.conf 2008-05-18 17:35:26 UTC (rev 145)
@@ -1,10 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SimpleQuestion>
-<caption>New simple question</caption>
-<question>Answer "Yes" to question, please.</question>
-<ShowOnSummaryPage>true</ShowOnSummaryPage>
-<answers singleVariant="false">
-<answer point="0.0">Yes</answer>
-<answer point="1.0">No</answer>
-</answers>
-</SimpleQuestion>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<CompileQuestion><caption>New compile question</caption><ShowOnSummaryPage>false</ShowOnSummaryPage><parts language="null"><part isAnswer="false" isReadOnly="true" isVivsble="true">Please write program.</part><part isAnswer="true" isReadOnly="false" isVivsble="true">...</part></parts></CompileQuestion>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|