From: <se...@us...> - 2008-05-29 11:41:42
|
Revision: 181 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=181&view=rev Author: sem62 Date: 2008-05-29 04:41:50 -0700 (Thu, 29 May 2008) Log Message: ----------- Fixed bug with summary page: after adding new item in course, it don't show properly in summary page. Now calling method resetModelForActivity for updating objectives list. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-29 11:39:23 UTC (rev 180) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-29 11:41:50 UTC (rev 181) @@ -8,6 +8,7 @@ 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.Rte.CmiManager; import edu.lnu.FireFly.WebEditor.GUI.Reorganizer; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; @@ -85,6 +86,8 @@ summaryPage.sequencing.objectives.objective.add(objective); } + + CmiManager.getInstance().resetModelForActivity(summaryPage); } private ArrayList<String> getShowingItemsIds(TreeItem root) { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-29 11:39:23 UTC (rev 180) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-29 11:41:50 UTC (rev 181) @@ -10,7 +10,6 @@ import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class ChapterModel extends ResourcedItemModel { @@ -86,11 +85,6 @@ return 0; } - @Override - protected String getConfFileName(TreeItem anItem) { - return getIdentifier(anItem); - } - private ChapterItemData getData(TreeItem anItem) { return (ChapterItemData) getItemData(anItem); } @@ -156,8 +150,6 @@ TreeDataModel.getInstance().treeNodesDeleted(aChapter); aChapter.getParent().removeChild(aChapter); - WebEditorServiceClient.getInstance().deleteFile( - getConfFileName(aChapter)); SummaryPageManager.getInstance().updateSummaryPages(); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-29 11:39:23 UTC (rev 180) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-29 11:41:50 UTC (rev 181) @@ -216,8 +216,7 @@ sequencing.objectives = ManifestFactory.createObjectives(); } - sequencing.objectives.primaryObjective = ManifestFactory - .createObjective(); + sequencing.objectives.primaryObjective = ManifestFactory.createObjective(); sequencing.objectives.primaryObjective.objectiveID = getIdentifier(anItem); sequencing.objectives.primaryObjective.satisfiedByMeasure = true; @@ -226,8 +225,7 @@ mapInfo.writeSatisfiedStatus = true; mapInfo.targetObjectiveID = sequencing.objectives.primaryObjective.objectiveID; - sequencing.objectives.primaryObjective.mapInfo = ManifestFactory - .createMapInfos(); + sequencing.objectives.primaryObjective.mapInfo = ManifestFactory.createMapInfos(); sequencing.objectives.primaryObjective.mapInfo.add(mapInfo); } Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-29 11:39:23 UTC (rev 180) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-29 11:41:50 UTC (rev 181) @@ -7,7 +7,6 @@ import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.FFManifest.resource.Resource; -import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; @@ -46,19 +45,6 @@ ConfigureItem(item); } - protected final String getConfFileContent(String location, TreeItem anItem) { - String res = ""; - - if (location.equalsIgnoreCase("course")) { - res = WebEditorServiceClient.getInstance().getFileContent( - getConfFileName(anItem), location); - } else { - res = WebEditorServiceClient.getInstance().getFileContent( - modelName + ".conf", location); - } - return res; - } - @Override public boolean isRemovable() { return true; @@ -82,8 +68,6 @@ WebEditorServiceClient.getInstance().deleteFile( resource.getFullHref()); - WebEditorServiceClient.getInstance().deleteFile( - getConfFileName(anItem)); manifest.resources.deleteResource(identifier); @@ -125,18 +109,13 @@ return !isSubTreeUsingResource(root, getIdentifier(anItem), anItem); } - protected String getConfFileName(TreeItem anItem) { - Resource resource = WebEditor.instance.getManifest().resources - .findResourceByIdentifier(getIdentifierRef(anItem)); - - return resource.identifier + ".conf"; - } - @Override protected final void initializeDataForItem(Item anItem) { ItemData itemData = createItemDataInstance(); //String res = getConfFileContent("template", anItem); +// res = WebEditorServiceClient.getInstance().getFileContent( +// modelName + ".conf", location); //itemData.unmarshal(new StringReader(res), anItem); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-29 19:08:54
|
Revision: 182 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=182&view=rev Author: sem62 Date: 2008-05-29 12:08:52 -0700 (Thu, 29 May 2008) Log Message: ----------- Added all GUI element for editing CompileQ IO data. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIOModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIORecord.java 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-29 11:41:50 UTC (rev 181) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-29 19:08:52 UTC (rev 182) @@ -12,8 +12,10 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; +import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.LayoutStyle; +import javax.swing.ListSelectionModel; import javax.swing.ScrollPaneConstants; import javax.swing.WindowConstants; import javax.swing.GroupLayout.Alignment; @@ -25,6 +27,7 @@ import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQData; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQIOModel; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQModel; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPartsTableModel; @@ -47,18 +50,28 @@ private JPanel partsPanel; private JPanel testingDataPanel; private JScrollPane jScrollPane1; + private JScrollPane jScrollPane2; private PartsTable partsTable; + private JTable ioTable; private JTextField titleTextField; private JTextField captionTextField; private JTextField questionTextField; private JButton editCaptionInHtmlBtn; private JButton editQuestionInHtmlBtn; private JButton editAnswerVariantInHtmlEditor; + private JButton insertAnswerVariantBtn; private JButton deleteAnswerVariantBtn; private JButton moveUpAnswerVariantBtn; private JButton moveDownAnswerVariantBtn; + + private JButton insertIORecordBtn; + private JButton deleteIORecordBtn; + private JButton moveUpIORecordBtn; + private JButton moveDownIORecordBtn; + private CompileQPartsTableModel compileQTableDataModel; + private CompileQIOModel compileQIOTableModel; private JTextField currentAnswerVariant; @@ -84,7 +97,8 @@ return; } - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); String text = partsTable.getModel().getValueAt(selectedRow, 1) .toString(); @@ -100,12 +114,27 @@ return; } - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); compileQTableDataModel.insertRow(selectedRow); partsTable.getSelectionModel().setSelectionInterval( selectedRow + 1, selectedRow + 1); } + if (arg0.getSource() == insertIORecordBtn) { + int selectedRow = ioTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + stopCellEditing(partsTable); + stopCellEditing(ioTable); + compileQIOTableModel.insertRow(selectedRow); + ioTable.getSelectionModel().setSelectionInterval( + selectedRow + 1, selectedRow + 1); + } + if (arg0.getSource() == deleteAnswerVariantBtn) { int selectedRow = partsTable.getSelectedRow(); @@ -113,7 +142,8 @@ return; } - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); compileQTableDataModel.deleteRow(selectedRow); if (selectedRow >= compileQTableDataModel.getRowCount()) { @@ -123,6 +153,26 @@ partsTable.getSelectionModel().setSelectionInterval(selectedRow, selectedRow); } + + if (arg0.getSource() == deleteIORecordBtn) { + int selectedRow = ioTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + stopCellEditing(partsTable); + stopCellEditing(ioTable); + compileQIOTableModel.deleteRow(selectedRow); + + if (selectedRow >= compileQIOTableModel.getRowCount()) { + selectedRow--; + } + + ioTable.getSelectionModel().setSelectionInterval(selectedRow, + selectedRow); + } + if (arg0.getSource() == moveUpAnswerVariantBtn) { int selectedRow = partsTable.getSelectedRow(); @@ -130,13 +180,29 @@ return; } - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); if (compileQTableDataModel.moveUp(selectedRow)) { partsTable.getSelectionModel().setSelectionInterval( selectedRow - 1, selectedRow - 1); } } + if (arg0.getSource() == moveUpIORecordBtn) { + int selectedRow = ioTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + stopCellEditing(partsTable); + stopCellEditing(ioTable); + if (compileQIOTableModel.moveUp(selectedRow)) { + ioTable.getSelectionModel().setSelectionInterval( + selectedRow - 1, selectedRow - 1); + } + } + if (arg0.getSource() == moveDownAnswerVariantBtn) { int selectedRow = partsTable.getSelectedRow(); @@ -144,22 +210,38 @@ return; } - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); if (compileQTableDataModel.moveDown(selectedRow)) { partsTable.getSelectionModel().setSelectionInterval( selectedRow + 1, selectedRow + 1); } } + + if (arg0.getSource() == moveDownIORecordBtn) { + int selectedRow = ioTable.getSelectedRow(); + + if (selectedRow < 0) { + return; + } + + stopCellEditing(partsTable); + stopCellEditing(ioTable); + if (compileQIOTableModel.moveDown(selectedRow)) { + ioTable.getSelectionModel().setSelectionInterval( + selectedRow + 1, selectedRow + 1); + } + } } - public boolean stopCellEditing() { + public boolean stopCellEditing(JTable table) { try { - int column = partsTable.getEditingColumn(); + int column = table.getEditingColumn(); if (column > -1) { - TableCellEditor cellEditor = partsTable.getColumnModel() + TableCellEditor cellEditor = table.getColumnModel() .getColumn(column).getCellEditor(); if (cellEditor == null) { - cellEditor = partsTable.getDefaultEditor(partsTable + cellEditor = table.getDefaultEditor(table .getColumnClass(column)); } @@ -185,6 +267,7 @@ captionTextField.getText())); compileQTableDataModel = itemModel.getData(manifestItem).getParts(); + compileQIOTableModel = itemModel.getData(manifestItem).getIoRecords(); programmingLanguage.addItem("Any"); programmingLanguage.addItem("C++"); @@ -194,6 +277,7 @@ .getLanguge()); partsTable.setModel(compileQTableDataModel); + ioTable.setModel(compileQIOTableModel); DefaultTableColumnModel columnModel = (DefaultTableColumnModel) partsTable .getColumnModel(); @@ -212,6 +296,10 @@ columnModel.getColumn(2).setResizable(false); titleTextField.selectAll(); + + columnModel = (DefaultTableColumnModel) ioTable.getColumnModel(); + columnModel.getColumn(1).setCellEditor(multiLineTableCellEditor); + columnModel.getColumn(2).setCellEditor(multiLineTableCellEditor); } @Override @@ -229,6 +317,11 @@ add(tabbedPane); JPanel generalTab = new JPanel(); + ioTable = new JTable(); + ioTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + ioTable.setDefaultRenderer(String.class, new MultiLineCellRenderer()); + ioTable.setDefaultRenderer(PartNumber.class, + new PartNumberCellRenderer()); generalPanel = new JPanel(); titleLabel = new JLabel(); @@ -242,23 +335,34 @@ partsPanel = new JPanel(); testingDataPanel = new JPanel(); jScrollPane1 = new JScrollPane(); + jScrollPane2 = new JScrollPane(); cancelButton = new JButton("Cancel"); okButton = new JButton("Ok"); editCaptionInHtmlBtn = new JButton("..."); editQuestionInHtmlBtn = new JButton("..."); editAnswerVariantInHtmlEditor = new JButton("HTML Editor"); - insertAnswerVariantBtn = new JButton("Insert"); - deleteAnswerVariantBtn = new JButton("Delete"); programmingLanguage = new JComboBox(); moveDownAnswerVariantBtn = new JButton("Down"); moveUpAnswerVariantBtn = new JButton("Up"); + insertAnswerVariantBtn = new JButton("Insert"); + deleteAnswerVariantBtn = new JButton("Delete"); + moveDownIORecordBtn = new JButton("Down"); + moveUpIORecordBtn = new JButton("Up"); + insertIORecordBtn = new JButton("Insert"); + deleteIORecordBtn = new JButton("Delete"); + insertAnswerVariantBtn.addActionListener(this); deleteAnswerVariantBtn.addActionListener(this); moveDownAnswerVariantBtn.addActionListener(this); moveUpAnswerVariantBtn.addActionListener(this); + insertIORecordBtn.addActionListener(this); + deleteIORecordBtn.addActionListener(this); + moveDownIORecordBtn.addActionListener(this); + moveUpIORecordBtn.addActionListener(this); + currentAnswerVariant = new JTextField(); captionTextField.addActionListener(this); @@ -349,6 +453,10 @@ jScrollPane1 .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); + jScrollPane2.setViewportView(ioTable); + jScrollPane2 + .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); + GroupLayout jPanel4Layout = new GroupLayout(partsPanel); partsPanel.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup( @@ -523,13 +631,67 @@ 20, 20, 20)) .addContainerGap())); + GroupLayout jPanel5Layout = new GroupLayout(testingDataPanel); + testingDataPanel.setLayout(jPanel5Layout); + + jPanel5Layout + .setHorizontalGroup(jPanel5Layout + .createParallelGroup( + Alignment.TRAILING).addGroup( + jPanel5Layout.createSequentialGroup().addComponent( + moveUpIORecordBtn).addContainerGap(10, 10) + .addComponent(moveDownIORecordBtn).addContainerGap(10, + 10).addComponent(insertIORecordBtn) + .addContainerGap(10, 10) + .addComponent(deleteIORecordBtn).addContainerGap()) + .addGroup( + jPanel5Layout.createSequentialGroup().addContainerGap() + .addComponent(jScrollPane2, + GroupLayout.DEFAULT_SIZE, 364, + Short.MAX_VALUE).addContainerGap())); + + jPanel5Layout + .setVerticalGroup(jPanel5Layout + .createParallelGroup(Alignment.LEADING) + .addGroup( + jPanel5Layout + .createSequentialGroup() + .addContainerGap(10, 10) + .addGroup( + jPanel5Layout + .createParallelGroup(Alignment.BASELINE)) + .addContainerGap(10, 10) + .addComponent(jScrollPane2, + GroupLayout.DEFAULT_SIZE, 111, + Short.MAX_VALUE) + .addContainerGap(10, 10) + .addGroup( + jPanel5Layout + .createParallelGroup( + Alignment.BASELINE) + .addComponent( + moveUpIORecordBtn, + 20, 20, 20) + .addComponent( + moveDownIORecordBtn, + 20, 20, 20) + .addComponent( + insertIORecordBtn, + 20, 20, 20) + .addComponent( + deleteIORecordBtn, + 20, 20, 20)) + .addContainerGap())); + pack(); setSize(550, 600); } @Override protected void saveChanges() { - stopCellEditing(); + stopCellEditing(partsTable); + stopCellEditing(ioTable); + CompileQModel itemModel = new CompileQModel(); manifestItem.setTitle(titleTextField.getText()); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-29 11:41:50 UTC (rev 181) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-29 19:08:52 UTC (rev 182) @@ -47,6 +47,7 @@ } private CompileQPartsTableModel parts = new CompileQPartsTableModel(); + private CompileQIOModel ioRecords = new CompileQIOModel(); public void setCaption(String caption) { this.caption = caption; @@ -108,4 +109,12 @@ public void setLanguge(String languge) { this.languge = languge; } + + public CompileQIOModel getIoRecords() { + return ioRecords; + } + + public void setIoRecords(CompileQIOModel ioRecords) { + this.ioRecords = ioRecords; + } } Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIOModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIOModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIOModel.java 2008-05-29 19:08:52 UTC (rev 182) @@ -0,0 +1,150 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.table.DefaultTableModel; + +import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.PartNumber; + +public class CompileQIOModel extends DefaultTableModel { + /** + * + */ + private static final long serialVersionUID = 1L; + + public List<CompileQIORecord> ioRecords = new ArrayList<CompileQIORecord>(); + + @Override + public Class<?> getColumnClass(int col) { + switch (col) { + case 0: + return PartNumber.class; + default: + return String.class; + } + } + + @Override + public int getColumnCount() { + return 3; + } + + @Override + public String getColumnName(int arg0) { + switch (arg0) { + case 0: + return "#"; + case 1: + return "Input"; + default: + return "Output"; + } + } + + @Override + public int getRowCount() { + + if (ioRecords == null) { + return 0; + } + + return ioRecords.size() > 0 ? ioRecords.size() : 1; + } + + @Override + public Object getValueAt(int row, int col) { + if (row == ioRecords.size()) { + return null; + } + + switch (col) { + case 0: + return new PartNumber(row + 1); + case 1: + return ioRecords.get(row).getInputData(); + case 2: + return ioRecords.get(row).getOutputData(); + default: + return null; + } + } + + @Override + public boolean isCellEditable(int row, int col) { + switch (col) { + case 0: + return false; + case 1: + return true; + case 2: + return true; + default: + return false; + } + } + + @Override + public void setValueAt(Object value, int row, int col) { + if (row == ioRecords.size()) { + ioRecords.add(new CompileQIORecord()); + } + + String newValue = value.toString(); + + switch (col) { + case 1: + ioRecords.get(row).setInputData(newValue); + break; + case 2: + ioRecords.get(row).setOutputData(newValue); + break; + } + + fireTableRowsUpdated(row, row); + } + + public void deleteRow(int selectedRow) { + if (selectedRow < ioRecords.size() && selectedRow >= 0) { + ioRecords.remove(selectedRow); + fireTableRowsDeleted(selectedRow, selectedRow); + } + } + + public void insertRow(int selectedRow) { + if (selectedRow >= ioRecords.size()) { + selectedRow--; + } + + ioRecords.add(selectedRow + 1, new CompileQIORecord()); + fireTableRowsInserted(selectedRow + 1, selectedRow + 1); + } + + public boolean moveUp(int selectedRow) { + if (selectedRow < 1 || selectedRow >= ioRecords.size()) { + return false; + } + + CompileQIORecord answer = ioRecords.get(selectedRow); + ioRecords.set(selectedRow, ioRecords.get(selectedRow - 1)); + ioRecords.set(selectedRow - 1, answer); + + fireTableRowsUpdated(selectedRow - 1, selectedRow); + + return true; + } + + public boolean moveDown(int selectedRow) { + if (selectedRow < 0 || selectedRow >= ioRecords.size() - 1) { + return false; + } + + CompileQIORecord answer = ioRecords.get(selectedRow); + ioRecords.set(selectedRow, ioRecords.get(selectedRow + 1)); + ioRecords.set(selectedRow + 1, answer); + + fireTableRowsUpdated(selectedRow + 1, selectedRow); + + return true; + } +} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIORecord.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIORecord.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQIORecord.java 2008-05-29 19:08:52 UTC (rev 182) @@ -0,0 +1,22 @@ +package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ; + +public class CompileQIORecord { + private String inputData = ""; + private String outputData = ""; + + public String getInputData() { + return inputData; + } + + public void setInputData(String inputData) { + this.inputData = inputData; + } + + public String getOutputData() { + return outputData; + } + + public void setOutputData(String outputData) { + this.outputData = outputData; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-05-31 09:03:54
|
Revision: 183 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=183&view=rev Author: sem62 Date: 2008-05-31 02:03:39 -0700 (Sat, 31 May 2008) Log Message: ----------- Code refactorings. Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.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 WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemConfigurationManager.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/CompileQData.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemDataFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/LectureData.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SimpleQuestionData.java WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SummaryPageData.java Removed Paths: ------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemDataFactory.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-31 09:03:39 UTC (rev 183) @@ -14,7 +14,7 @@ import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives; import edu.lnu.FireFly.FFManifest.resource.Resources; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; -import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterItemData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ChapterItemData; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemConfigurationManager; public class ManifestFactory { 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-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/CompileQ/CompileQPropertiestsDlg.java 2008-05-31 09:03:39 UTC (rev 183) @@ -26,10 +26,10 @@ import javax.swing.table.TableCellEditor; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; -import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQData; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQIOModel; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQModel; import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPartsTableModel; +import edu.lnu.FireFly.WebEditor.itemConfiguration.CompileQData; /** * Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-31 09:03:39 UTC (rev 183) @@ -7,8 +7,8 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureData; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; +import edu.lnu.FireFly.WebEditor.itemConfiguration.LectureData; /** * Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-31 09:03:39 UTC (rev 183) @@ -17,8 +17,8 @@ import javax.swing.table.DefaultTableColumnModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel; -import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionData; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; +import edu.lnu.FireFly.WebEditor.itemConfiguration.SimpleQuestionData; /** * Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,108 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; - -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; - -public class ChapterItemData extends ItemData { - private boolean showSummaryPage = true; - - @Override - public Element marshal() { - Element root = DocumentHelper.createElement("ItemData"); - - root.addElement("ShowSummaryPage").setText( - String.valueOf(isShowSummaryPage())); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(getShowOnSummaryPage())); - - root.addElement("Configuration").setText( - String.valueOf(getConfiguration())); - - return root; - } - - private boolean flow; - - private boolean choice; - - private boolean forwarOnly; - private boolean choiceExit; - private int configuration = ChapterItemData.CONFIGURATION_USER_DEFINED; - - public int getConfiguration() { - return configuration; - } - - public boolean isChoice() { - return choice; - } - - public boolean isChoiceExit() { - return choiceExit; - } - - public boolean isFlow() { - return flow; - } - - public boolean isForwarOnly() { - return forwarOnly; - } - - public boolean isShowSummaryPage() { - return showSummaryPage; - } - - public void setChoice(boolean choice) { - this.choice = choice; - } - - public void setChoiceExit(boolean choiceExit) { - this.choiceExit = choiceExit; - } - - public void setConfiguration(int configuration) { - this.configuration = configuration; - } - - public void setFlow(boolean flow) { - this.flow = flow; - } - - public void setForwarOnly(boolean forwarOnly) { - this.forwarOnly = forwarOnly; - } - - public void setShowSummaryPage(boolean showSummaryPage) { - this.showSummaryPage = showSummaryPage; - } - - @Override - public boolean unmarshal(Element root) { - 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/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -4,12 +4,13 @@ import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; -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.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ChapterItemData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; public class ChapterModel extends ResourcedItemModel { Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,120 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels.CompileQ; - -import java.util.Iterator; - -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; - -public class CompileQData extends ItemData { - @Override - public Element marshal() { - Element root = DocumentHelper.createElement("ItemData"); - root.addElement("caption").setText(getCaption()); - - 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 root; - } - - private String caption = ""; - private String languge = "Any"; - - public String getCaption() { - return caption; - } - - private CompileQPartsTableModel parts = new CompileQPartsTableModel(); - private CompileQIOModel ioRecords = new CompileQIOModel(); - - public void setCaption(String caption) { - this.caption = caption; - } - - @Override - @SuppressWarnings("unchecked") - public boolean unmarshal(Element root) { - try { - 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; - } - - public CompileQPartsTableModel getParts() { - return parts; - } - - public void setParts(CompileQPartsTableModel parts) { - this.parts = parts; - } - - public String getLanguge() { - return languge; - } - - public void setLanguge(String languge) { - this.languge = languge; - } - - public CompileQIOModel getIoRecords() { - return ioRecords; - } - - public void setIoRecords(CompileQIOModel ioRecords) { - this.ioRecords = ioRecords; - } -} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -7,11 +7,12 @@ import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.CompileQ.CompileQPropertiestsDlg; -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.UserAnswerStatus.ScoredUserAnswerStatus; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.CompileQData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; public class CompileQModel extends ResourcedItemModel { Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,19 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -import org.dom4j.Element; - -public abstract class ItemData { - private Boolean showOnSummaryPage = false; - - public Boolean getShowOnSummaryPage() { - return showOnSummaryPage; - } - - public void setShowOnSummaryPage(Boolean showOnSummaryPage) { - this.showOnSummaryPage = showOnSummaryPage; - } - - public abstract boolean unmarshal(Element root); - - public abstract Element marshal(); -} Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemDataFactory.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemDataFactory.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemDataFactory.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,45 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterItemData; -import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQData; -import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureData; -import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionData; -import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageData; - -public class ItemDataFactory { - private static ItemDataFactory obj = null; - - private ItemDataFactory(){} - - public static ItemDataFactory getInstance(){ - if (obj == null){ - obj = new ItemDataFactory(); - } - - return obj; - } - - public ItemData createItemData(String type){ - if (LectureData.class.getSimpleName().equalsIgnoreCase(type)){ - return new LectureData(); - } - - if (ChapterItemData.class.getSimpleName().equalsIgnoreCase(type)){ - return new ChapterItemData(); - } - - if (SimpleQuestionData.class.getSimpleName().equalsIgnoreCase(type)){ - return new SimpleQuestionData(); - } - - if (SummaryPageData.class.getSimpleName().equalsIgnoreCase(type)){ - return new SummaryPageData(); - } - - if (CompileQData.class.getSimpleName().equalsIgnoreCase(type)){ - return new CompileQData(); - } - - return null; - } -} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -23,6 +23,7 @@ import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemConfigurationManager; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; public abstract class ItemModel { protected String modelName = "Abstract model"; Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,52 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels.Lecture; - -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; - -public class LectureData extends ItemData { - 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; - } - - @Override - public boolean unmarshal(Element root) { - setCaption(root.elementTextTrim("caption")); - setContent(root.elementTextTrim("content")); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - - setShowOnSummaryPage(showOnSP); - - return true; - } - - @Override - public Element marshal() { - Element root = DocumentHelper.createElement("ItemData"); - root.addElement("caption").setText(getCaption()); - root.addElement("content").setText(getContent()); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(getShowOnSummaryPage())); - - return root; - } -} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -5,11 +5,12 @@ import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; 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.UserAnswerStatus.LectureUserAnswerStatus; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.LectureData; public class LectureModel extends ResourcedItemModel { @Override Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -11,6 +11,7 @@ import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemConfigurationManager; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; public abstract class ResourcedItemModel extends ItemModel { Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,100 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion; - -import java.util.Iterator; - -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; - -public class SimpleQuestionData extends ItemData { - @Override - public Element marshal() { - Element root = DocumentHelper.createElement("ItemData"); - root.addElement("caption").setText(getCaption()); - root.addElement("question").setText(getQuestion()); - - root.addElement("ShowOnSummaryPage").setText( - String.valueOf(getShowOnSummaryPage())); - - Element ans = root.addElement("answers"); - - ans.addAttribute("answerType", String.valueOf(getAnswers().getAnswerType())); - - Iterator<SimpleQuestionAnswer> iter = getAnswers().answers.iterator(); - - while (iter.hasNext()) { - SimpleQuestionAnswer answer = iter.next(); - - Element ansEl = ans.addElement("answer"); - ansEl - .addAttribute("point", String.valueOf(answer - .getAnswerPoint())); - ansEl.setText(answer.getAnswerText()); - } - - return root; - } - - private SimpleQuestionAnswersDataModel answers = new SimpleQuestionAnswersDataModel(); - private String caption = ""; - private String question = ""; - - public SimpleQuestionAnswersDataModel getAnswers() { - return answers; - } - - public void setAnswers(SimpleQuestionAnswersDataModel answers) { - this.answers = answers; - } - - public String getCaption() { - return caption; - } - - public void setCaption(String caption) { - this.caption = caption; - } - - public String getQuestion() { - return question; - } - - public void setQuestion(String question) { - this.question = question; - } - - @Override - @SuppressWarnings("unchecked") - public boolean unmarshal(Element root) { - try { - Element answers = root.element("answers"); - - setCaption(root.elementTextTrim("caption")); - setQuestion(root.elementTextTrim("question")); - - boolean showOnSP = Boolean.valueOf(root - .elementTextTrim("ShowOnSummaryPage")); - setShowOnSummaryPage(showOnSP); - - getAnswers().setAnswerType(Integer.valueOf(answers.attributeValue("answerType"))); - - 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-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -8,11 +8,12 @@ import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.WebEditor; 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.UserAnswerStatus.ScoredUserAnswerStatus; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.SimpleQuestionData; /** * @author Yura Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -1,27 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel; - -import org.dom4j.DocumentHelper; -import org.dom4j.Element; - -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; - -public class SummaryPageData extends ItemData { - - @Override - public Element marshal() { - Element root = DocumentHelper.createElement("ItemData"); - - return root; - } - - @Override - public boolean unmarshal(Element root) { - // TODO Auto-generated method stub - return true; - } - - @Override - public Boolean getShowOnSummaryPage() { - 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-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -4,7 +4,6 @@ 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.ItemModels.ItemData; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel; @@ -14,6 +13,8 @@ import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; +import edu.lnu.FireFly.WebEditor.itemConfiguration.SummaryPageData; public class SummaryPageModel extends ResourcedItemModel { @Override Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-05-31 09:03:39 UTC (rev 183) @@ -4,6 +4,7 @@ import edu.lnu.FireFly.FFManifest.item.Item; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; public class UnknownItemModel extends ItemModel { Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ChapterItemData.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ChapterItemData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ChapterItemData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,107 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + + +public class ChapterItemData extends ItemData { + private boolean showSummaryPage = true; + + @Override + public Element marshal() { + Element root = DocumentHelper.createElement("ItemData"); + + root.addElement("ShowSummaryPage").setText( + String.valueOf(isShowSummaryPage())); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + root.addElement("Configuration").setText( + String.valueOf(getConfiguration())); + + return root; + } + + private boolean flow; + + private boolean choice; + + private boolean forwarOnly; + private boolean choiceExit; + private int configuration = ChapterItemData.CONFIGURATION_USER_DEFINED; + + public int getConfiguration() { + return configuration; + } + + public boolean isChoice() { + return choice; + } + + public boolean isChoiceExit() { + return choiceExit; + } + + public boolean isFlow() { + return flow; + } + + public boolean isForwarOnly() { + return forwarOnly; + } + + public boolean isShowSummaryPage() { + return showSummaryPage; + } + + public void setChoice(boolean choice) { + this.choice = choice; + } + + public void setChoiceExit(boolean choiceExit) { + this.choiceExit = choiceExit; + } + + public void setConfiguration(int configuration) { + this.configuration = configuration; + } + + public void setFlow(boolean flow) { + this.flow = flow; + } + + public void setForwarOnly(boolean forwarOnly) { + this.forwarOnly = forwarOnly; + } + + public void setShowSummaryPage(boolean showSummaryPage) { + this.showSummaryPage = showSummaryPage; + } + + @Override + public boolean unmarshal(Element root) { + 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; +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/CompileQData.java (from rev 182, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/CompileQ/CompileQData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/CompileQData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/CompileQData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,122 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import java.util.Iterator; + +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQIOModel; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPart; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQPartsTableModel; + +public class CompileQData extends ItemData { + @Override + public Element marshal() { + Element root = DocumentHelper.createElement("ItemData"); + root.addElement("caption").setText(getCaption()); + + 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 root; + } + + private String caption = ""; + private String languge = "Any"; + + public String getCaption() { + return caption; + } + + private CompileQPartsTableModel parts = new CompileQPartsTableModel(); + private CompileQIOModel ioRecords = new CompileQIOModel(); + + public void setCaption(String caption) { + this.caption = caption; + } + + @Override + @SuppressWarnings("unchecked") + public boolean unmarshal(Element root) { + try { + 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; + } + + public CompileQPartsTableModel getParts() { + return parts; + } + + public void setParts(CompileQPartsTableModel parts) { + this.parts = parts; + } + + public String getLanguge() { + return languge; + } + + public void setLanguge(String languge) { + this.languge = languge; + } + + public CompileQIOModel getIoRecords() { + return ioRecords; + } + + public void setIoRecords(CompileQIOModel ioRecords) { + this.ioRecords = ioRecords; + } +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemConfigurationManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemConfigurationManager.java 2008-05-29 19:08:52 UTC (rev 182) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemConfigurationManager.java 2008-05-31 09:03:39 UTC (rev 183) @@ -10,8 +10,6 @@ import org.dom4j.io.SAXReader; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.WebEditor.ItemModels.ItemData; -import edu.lnu.FireFly.WebEditor.ItemModels.ItemDataFactory; import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; public class ItemConfigurationManager { Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemData.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,19 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import org.dom4j.Element; + +public abstract class ItemData { + private Boolean showOnSummaryPage = false; + + public Boolean getShowOnSummaryPage() { + return showOnSummaryPage; + } + + public void setShowOnSummaryPage(Boolean showOnSummaryPage) { + this.showOnSummaryPage = showOnSummaryPage; + } + + public abstract boolean unmarshal(Element root); + + public abstract Element marshal(); +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemDataFactory.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemDataFactory.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemDataFactory.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/ItemDataFactory.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,40 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + + +public class ItemDataFactory { + private static ItemDataFactory obj = null; + + private ItemDataFactory(){} + + public static ItemDataFactory getInstance(){ + if (obj == null){ + obj = new ItemDataFactory(); + } + + return obj; + } + + public ItemData createItemData(String type){ + if (LectureData.class.getSimpleName().equalsIgnoreCase(type)){ + return new LectureData(); + } + + if (ChapterItemData.class.getSimpleName().equalsIgnoreCase(type)){ + return new ChapterItemData(); + } + + if (SimpleQuestionData.class.getSimpleName().equalsIgnoreCase(type)){ + return new SimpleQuestionData(); + } + + if (SummaryPageData.class.getSimpleName().equalsIgnoreCase(type)){ + return new SummaryPageData(); + } + + if (CompileQData.class.getSimpleName().equalsIgnoreCase(type)){ + return new CompileQData(); + } + + return null; + } +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/LectureData.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/LectureData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/LectureData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,51 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + + +public class LectureData extends ItemData { + 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; + } + + @Override + public boolean unmarshal(Element root) { + setCaption(root.elementTextTrim("caption")); + setContent(root.elementTextTrim("content")); + + boolean showOnSP = Boolean.valueOf(root + .elementTextTrim("ShowOnSummaryPage")); + + setShowOnSummaryPage(showOnSP); + + return true; + } + + @Override + public Element marshal() { + Element root = DocumentHelper.createElement("ItemData"); + root.addElement("caption").setText(getCaption()); + root.addElement("content").setText(getContent()); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + return root; + } +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SimpleQuestionData.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SimpleQuestionData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SimpleQuestionData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,101 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import java.util.Iterator; + +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + +import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswer; +import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel; + +public class SimpleQuestionData extends ItemData { + @Override + public Element marshal() { + Element root = DocumentHelper.createElement("ItemData"); + root.addElement("caption").setText(getCaption()); + root.addElement("question").setText(getQuestion()); + + root.addElement("ShowOnSummaryPage").setText( + String.valueOf(getShowOnSummaryPage())); + + Element ans = root.addElement("answers"); + + ans.addAttribute("answerType", String.valueOf(getAnswers().getAnswerType())); + + Iterator<SimpleQuestionAnswer> iter = getAnswers().answers.iterator(); + + while (iter.hasNext()) { + SimpleQuestionAnswer answer = iter.next(); + + Element ansEl = ans.addElement("answer"); + ansEl + .addAttribute("point", String.valueOf(answer + .getAnswerPoint())); + ansEl.setText(answer.getAnswerText()); + } + + return root; + } + + private SimpleQuestionAnswersDataModel answers = new SimpleQuestionAnswersDataModel(); + private String caption = ""; + private String question = ""; + + public SimpleQuestionAnswersDataModel getAnswers() { + return answers; + } + + public void setAnswers(SimpleQuestionAnswersDataModel answers) { + this.answers = answers; + } + + public String getCaption() { + return caption; + } + + public void setCaption(String caption) { + this.caption = caption; + } + + public String getQuestion() { + return question; + } + + public void setQuestion(String question) { + this.question = question; + } + + @Override + @SuppressWarnings("unchecked") + public boolean unmarshal(Element root) { + try { + Element answers = root.element("answers"); + + setCaption(root.elementTextTrim("caption")); + setQuestion(root.elementTextTrim("question")); + + boolean showOnSP = Boolean.valueOf(root + .elementTextTrim("ShowOnSummaryPage")); + setShowOnSummaryPage(showOnSP); + + getAnswers().setAnswerType(Integer.valueOf(answers.attributeValue("answerType"))); + + 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; + } +} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SummaryPageData.java (from rev 178, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SummaryPageData.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/itemConfiguration/SummaryPageData.java 2008-05-31 09:03:39 UTC (rev 183) @@ -0,0 +1,26 @@ +package edu.lnu.FireFly.WebEditor.itemConfiguration; + +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + + +public class SummaryPageData extends ItemData { + + @Override + public Element marshal() { + Element root = DocumentHelper.createElement("ItemData"); + + return root; + } + + @Override + public boolean unmarshal(Element root) { + // TODO Auto-generated method stub + return true; + } + + @Override + public Boolean getShowOnSummaryPage() { + return false; + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <se...@us...> - 2008-06-02 19:43:11
|
Revision: 200 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=200&view=rev Author: sem62 Date: 2008-06-02 12:42:49 -0700 (Mon, 02 Jun 2008) Log Message: ----------- * Fixed bug with removing unknown model item. Code moved to ItemModel. For ChapterModel need individual remove metod. * Some code refactorings (moved UnknownUserStatus to another package). Modified Paths: -------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java Added Paths: ----------- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AnswersManager.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/UnknownModelAnswerStatus.java Removed Paths: ------------- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownModelAnswerStatus.java Added: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AnswersManager.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AnswersManager.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AnswersManager.java 2008-06-02 19:42:49 UTC (rev 200) @@ -0,0 +1,89 @@ +package edu.lnu.FireFly.WebEditor.Data; + +import java.io.StringReader; +import java.util.Iterator; + +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; + +import edu.lnu.FireFly.FFManifest.Manifest; +import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; + +public class AnswersManager { + + private Document answers = null; + private Manifest manifest = null; + + private AnswersManager() { + } + + private static AnswersManager obj = null; + + public static AnswersManager getInstance() { + if (obj == null) { + obj = new AnswersManager(); + } + + return obj; + } + + /** + * update all answer items in answer.xml document. + * Modifying only items, that was created with this tool. + */ + private void updateAllOurAnswerItems(){ + + } + + @SuppressWarnings("unchecked") + private void deleteAnswersForNotExistingItems(){ + Element organization = answers.getRootElement().element("organization"); + + // FIXME need tested loop for working properly. + for (Iterator<Element> it = organization.elementIterator("item"); it.hasNext(); ){ + Element itemElement = it.next(); + String id = itemElement.attributeValue("id"); + + Item item = (Item)manifest.findItemByIdentifier(id); + + if (item == null){ + it.remove(); + } + } + } + + public void update(){ + deleteAnswersForNotExistingItems(); + updateAllOurAnswerItems(); + } + + public void load() { + String xml = WebEditorServiceClient.getInstance().getFileContent( + "answers.xml", "course"); + + try { + SAXReader reader = new SAXReader(); + answers = reader.read(new StringReader(xml)); + } catch (Exception e) { + e.printStackTrace(); + return; + } + } + + + + public void save() { + WebEditorServiceClient.getInstance().setFileContent("answers.xml", + answers.asXML()); + } + + public Manifest getManifest() { + return manifest; + } + + public void setManifest(Manifest manifest) { + this.manifest = manifest; + } +} Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -1,8 +1,6 @@ package edu.lnu.FireFly.WebEditor.ItemModels.Chapter; import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; -import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels; @@ -148,10 +146,7 @@ model.remove(item); } - TreeDataModel.getInstance().treeNodesDeleted(aChapter); - aChapter.getParent().removeChild(aChapter); - - SummaryPageManager.getInstance().updateSummaryPages(); + super.remove(aChapter); } public void setShowSummaryPage(TreeItem anItem, boolean state) { Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -6,22 +6,26 @@ import java.net.URL; import java.util.UUID; +import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.Organization; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; 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.Objectives; +import edu.lnu.FireFly.FFManifest.parser.TestDocException; import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.Rte.Cmi; import edu.lnu.FireFly.Rte.CmiManager; import edu.lnu.FireFly.WebEditor.WebEditor; import edu.lnu.FireFly.WebEditor.Data.AnswersStatusManager; import edu.lnu.FireFly.WebEditor.Data.ManifestFactory; +import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; import edu.lnu.FireFly.WebEditor.GUI.Dialogs.PropertyDlg; import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemConfigurationManager; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; @@ -164,8 +168,77 @@ public abstract boolean isRemovable(); - public abstract void remove(TreeItem anItem); + public void remove(TreeItem anItem){ + TreeDataModel.getInstance().treeNodesDeleted(anItem); + anItem.getParent().removeChild(anItem); + deleteResource(anItem); + + SummaryPageManager.getInstance().updateSummaryPages(); + } + + /** + * Determine that we can delete resource, that mapped to item, + * or not. + * + * It goes about all manifest tree, and if exists at least one + * another item that using the same resource - it return false; + * + * @param anItem Item which resource we want to know that we can + * remove it or not. + * + * @return <b>true</b> if resource not have any more links and we + * can delete it and <b>false</b> if it haven't more links and we can delete it. + */ + private boolean canDeleteResource(TreeItem anItem) { + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + + TreeItem root = null; + try { + root = manifest.getRoot(); + } catch (TestDocException e) { + e.printStackTrace(); + } + + return !isSubTreeUsingResource(root, getIdentifier(anItem), anItem); + } + + private boolean isSubTreeUsingResource(TreeItem root, String identifierref, + TreeItem exceptItem) { + if (root != exceptItem) { + if (getIdentifierRef(root).equals(identifierref)) { + return true; + } + } + + for (int i = 0; i < root.getChildCount(); i++) { + TreeItem newRoot = root.getChild(i); + + if (isSubTreeUsingResource(newRoot, identifierref, exceptItem)) { + return true; + } + } + + return false; + } + + private void deleteResource(TreeItem anItem) { + if (canDeleteResource(anItem)) { + Manifest manifest = SummaryPageManager.getInstance().getManifest(); + + String identifier = getIdentifierRef(anItem); + Resource resource = manifest.resources + .findResourceByIdentifier(identifier); + + WebEditorServiceClient.getInstance().deleteFile( + resource.getFullHref()); + + manifest.resources.deleteResource(identifier); + + SummaryPageManager.getInstance().updateSummaryPages(); + } + } + public void rename(TreeItem item, String newTitle) { ((Item) item).title = newTitle; TreeDataModel.getInstance().treeNodesChanged(item); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -2,14 +2,10 @@ import java.util.UUID; -import edu.lnu.FireFly.FFManifest.Manifest; import edu.lnu.FireFly.FFManifest.TreeItem; import edu.lnu.FireFly.FFManifest.item.Item; -import edu.lnu.FireFly.FFManifest.parser.TestDocException; -import edu.lnu.FireFly.FFManifest.resource.Resource; import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager; import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel; -import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemConfigurationManager; import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; @@ -52,65 +48,6 @@ } @Override - public void remove(TreeItem anItem) { - TreeDataModel.getInstance().treeNodesDeleted(anItem); - anItem.getParent().removeChild(anItem); - - deleteResource(anItem); - } - - private void deleteResource(TreeItem anItem) { - if (canDeleteResource(anItem)) { - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - - String identifier = getIdentifierRef(anItem); - Resource resource = manifest.resources - .findResourceByIdentifier(identifier); - - WebEditorServiceClient.getInstance().deleteFile( - resource.getFullHref()); - - manifest.resources.deleteResource(identifier); - - SummaryPageManager.getInstance().updateSummaryPages(); - } - } - - private boolean isSubTreeUsingResource(TreeItem root, String identifierref, - TreeItem exceptItem) { - if (root != exceptItem) { - if (getIdentifierRef(root).equals(identifierref)) { - return true; - } - } - - for (int i = 0; i < root.getChildCount(); i++) { - TreeItem newRoot = root.getChild(i); - - if (isSubTreeUsingResource(newRoot, identifierref, exceptItem)) { - return true; - } - } - - return false; - } - - private boolean canDeleteResource(TreeItem anItem) { - // TODO need check links to resource from other items in course tree. - - Manifest manifest = SummaryPageManager.getInstance().getManifest(); - - TreeItem root = null; - try { - root = manifest.getRoot(); - } catch (TestDocException e) { - e.printStackTrace(); - } - - return !isSubTreeUsingResource(root, getIdentifier(anItem), anItem); - } - - @Override protected final void initializeDataForItem(Item anItem) { ItemData itemData = createItemDataInstance(); Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -10,6 +10,7 @@ import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel; import edu.lnu.FireFly.WebEditor.ItemModels.Template; import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel; +import edu.lnu.FireFly.WebEditor.ItemModels.CompileQ.CompileQModel; import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel; import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel; import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; @@ -119,7 +120,9 @@ } if (model.getClass() == SimpleQuestionModel.class - || model.getClass() == LectureModel.class) { + || model.getClass() == LectureModel.class + || model.getClass() == CompileQModel.class + ) { return "add(\"" + anItem.getTitle() + "\", \"" + model.getModelName() + "\", \"" Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -1,107 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -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.UserAnswerStatus.UserAnswerStatus; -import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; - -public class UnknownItemModel extends ItemModel { - - @Override - public double getAnswerRawScore(TreeItem anItem, String[] userAnswers) { - return 0; - } - - @Override - public void showAnswerStatus(UserAnswerStatus answerStatus) { - } - - @Override - public UserAnswerStatus createUserAnswerInstance(TreeItem anItem) { - return new UnknownModelAnswerStatus(anItem); - } - - @Override - public void addItem(TreeItem parent) { - System.out - .println("Can't doing this operation with unknown item model"); - } - - @Override - public boolean canAddToItem(TreeItem parent) { - return false; - } - - @Override - public boolean canConvertItem(TreeItem parent) { - return false; - } - - @Override - protected ItemData createItemDataInstance() { - System.out - .println("Can't doing this operation with unknown item model"); - return null; - } - - @Override - protected String getDefaultTitle() { - return "Unknown"; - } - - @Override - public boolean getLimitConditionsMenuVisible(TreeItem anItem) { - return anItem.getChildCount() == 0; - } - - @Override - public boolean getShowOnSummaryPageMenuVisible() { - return false; - } - - @Override - public boolean getShowSummaryPageMenuVisible() { - return false; - } - - @Override - protected void initializeDataForItem(Item anItem) { - System.out - .println("Can't doing this operation with unknown item model"); - } - - @Override - public boolean isRemovable() { - return true; - } - - @Override - public void remove(TreeItem anItem) { - anItem.getParent().removeChild(anItem); - TreeDataModel.getInstance().treeNodesDeleted(anItem); - } - -// @Override -// public boolean synchronizeItemWithResource(TreeItem anItem, String location) { -// return false; -// } - - @Override - public boolean updateItemResource(TreeItem item, boolean updateSummaryPages) { - return false; - } - - @Override - public double getAnswerMaxScore(TreeItem item) { - // TODO Auto-generated method stub - return 0; - } - - @Override - public double getAnswerMinScore(TreeItem item) { - // TODO Auto-generated method stub - return 0; - } - -} Added: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownItemModel.java 2008-06-02 19:42:49 UTC (rev 200) @@ -0,0 +1,96 @@ +package edu.lnu.FireFly.WebEditor.ItemModels; + +import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.FFManifest.item.Item; +import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UnknownModelAnswerStatus; +import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; +import edu.lnu.FireFly.WebEditor.itemConfiguration.ItemData; + +public class UnknownItemModel extends ItemModel { + + @Override + public double getAnswerRawScore(TreeItem anItem, String[] userAnswers) { + return 0; + } + + @Override + public void showAnswerStatus(UserAnswerStatus answerStatus) { + } + + @Override + public UserAnswerStatus createUserAnswerInstance(TreeItem anItem) { + return new UnknownModelAnswerStatus(anItem); + } + + @Override + public void addItem(TreeItem parent) { + System.out + .println("Can't doing this operation with unknown item model"); + } + + @Override + public boolean canAddToItem(TreeItem parent) { + return false; + } + + @Override + public boolean canConvertItem(TreeItem parent) { + return false; + } + + @Override + protected ItemData createItemDataInstance() { + System.out + .println("Can't doing this operation with unknown item model"); + return null; + } + + @Override + protected String getDefaultTitle() { + return "Unknown"; + } + + @Override + public boolean getLimitConditionsMenuVisible(TreeItem anItem) { + return anItem.getChildCount() == 0; + } + + @Override + public boolean getShowOnSummaryPageMenuVisible() { + return false; + } + + @Override + public boolean getShowSummaryPageMenuVisible() { + return false; + } + + @Override + protected void initializeDataForItem(Item anItem) { + System.out + .println("Can't doing this operation with unknown item model"); + } + + @Override + public boolean isRemovable() { + return true; + } + + @Override + public boolean updateItemResource(TreeItem item, boolean updateSummaryPages) { + return false; + } + + @Override + public double getAnswerMaxScore(TreeItem item) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public double getAnswerMinScore(TreeItem item) { + // TODO Auto-generated method stub + return 0; + } + +} Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownModelAnswerStatus.java =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownModelAnswerStatus.java 2008-06-02 13:33:19 UTC (rev 199) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownModelAnswerStatus.java 2008-06-02 19:42:49 UTC (rev 200) @@ -1,28 +0,0 @@ -package edu.lnu.FireFly.WebEditor.ItemModels; - -import edu.lnu.FireFly.FFManifest.TreeItem; -import edu.lnu.FireFly.Rte.Cmi; -import edu.lnu.FireFly.Rte.ElementName; -import edu.lnu.FireFly.WebEditor.UserAnswerStatus.UserAnswerStatus; - -public class UnknownModelAnswerStatus extends UserAnswerStatus { - - public UnknownModelAnswerStatus(TreeItem anItem) { - super(anItem); - } - - @Override - public void updateRteFields(Cmi cmi) { - int interaction = 0; - String cmiElement = "interactions." + interaction + ".learner_response"; - - cmi.setValue(new ElementName(cmiElement), "{" - + Utils.getInstance().marge(getRawAnswer(), ",") + "}"); - } - - @Override - protected void updateValues() { - // TODO Auto-generated method stub - - } -} Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/UnknownModelAnswerStatus.java (from rev 177, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/UnknownModelAnswerStatus.java) =================================================================== --- WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/UnknownModelAnswerStatus.java (rev 0) +++ WebEditor/src/edu/lnu/FireFly/WebEditor/UserAnswerStatus/UnknownModelAnswerStatus.java 2008-06-02 19:42:49 UTC (rev 200) @@ -0,0 +1,28 @@ +package edu.lnu.FireFly.WebEditor.UserAnswerStatus; + +import edu.lnu.FireFly.FFManifest.TreeItem; +import edu.lnu.FireFly.Rte.Cmi; +import edu.lnu.FireFly.Rte.ElementName; +import edu.lnu.FireFly.WebEditor.ItemModels.Utils; + +public class UnknownModelAnswerStatus extends UserAnswerStatus { + + public UnknownModelAnswerStatus(TreeItem anItem) { + super(anItem); + } + + @Override + public void updateRteFields(Cmi cmi) { + int interaction = 0; + String cmiElement = "interactions." + interaction + ".learner_response"; + + cmi.setValue(new ElementName(cmiElement), "{" + + Utils.getInstance().marge(getRawAnswer(), ",") + "}"); + } + + @Override + protected void updateValues() { + // TODO Auto-generated method stub + + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |