You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(128) |
Jun
(97) |
Jul
(13) |
Aug
(40) |
Sep
(50) |
Oct
(27) |
Nov
(7) |
Dec
(15) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(18) |
Feb
(47) |
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
(32) |
Aug
|
Sep
(14) |
Oct
(22) |
Nov
|
Dec
|
|
From: <se...@us...> - 2008-05-12 20:24:00
|
Revision: 131
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=131&view=rev
Author: sem62
Date: 2008-05-12 13:23:44 -0700 (Mon, 12 May 2008)
Log Message:
-----------
Finished with logic of summary page
Modified Paths:
--------------
WebEditor/template/global/SummaryPage.js
Modified: WebEditor/template/global/SummaryPage.js
===================================================================
--- WebEditor/template/global/SummaryPage.js 2008-05-12 20:05:40 UTC (rev 130)
+++ WebEditor/template/global/SummaryPage.js 2008-05-12 20:23:44 UTC (rev 131)
@@ -102,24 +102,28 @@
rowNum++;
var percents = "0";
- if ((min != null) && (max != null) && (raw != null)){
- percents = 100 * (raw - min) / (max - min) + " %";
+ if ((parseInt(min) || min == 0) && (parseInt(max) || max == 0) && (parseInt(raw) || raw == 0)){
+ if (max == min){
+ percents = "? %";
+ } else {
+ percents = 100 * (raw - min) / (max - min) + " %";
+ }
}
if (modelName == "LectureModel"){
raw = (completionStatus == "completed") ? "read" : "unread";
- percents = "--";
+ percents = "";
}
- if (min == null){
+ if (!parseInt(min) && min != 0){
min = "--";
}
- if (max == null){
+ if (!parseInt(max) && max != 0){
max = "--";
}
- if (raw == null){
+ if (!parseInt(raw) && raw != 0){
raw = "--";
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-12 20:06:32
|
Revision: 130
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=130&view=rev
Author: sem62
Date: 2008-05-12 13:05:40 -0700 (Mon, 12 May 2008)
Log Message:
-----------
Some modifications in templates.
Summary page now can calculate informations for chapters.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java
WebEditor/template/LectureModel.html
WebEditor/template/SimpleQuestionModel.html
WebEditor/template/global/SummaryPage.js
WebEditor/template/global/simpleQ.js
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-12 18:23:49 UTC (rev 129)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithApiHandle.java 2008-05-12 20:05:40 UTC (rev 130)
@@ -32,7 +32,7 @@
return "incomplete";
}
- return "";
+ return "6";
}
static public boolean SetValue(String parameter, String value){
Modified: WebEditor/template/LectureModel.html
===================================================================
--- WebEditor/template/LectureModel.html 2008-05-12 18:23:49 UTC (rev 129)
+++ WebEditor/template/LectureModel.html 2008-05-12 20:05:40 UTC (rev 130)
@@ -11,7 +11,7 @@
</script>
</head>
-<body onload="Initialize();" onunload="finish();">
+<body onLoad="Initialize()" onunload="finish()">
<div id="lecture_caption">
<!--caption start-->New caption<!--caption end-->
</div>
Modified: WebEditor/template/SimpleQuestionModel.html
===================================================================
--- WebEditor/template/SimpleQuestionModel.html 2008-05-12 18:23:49 UTC (rev 129)
+++ WebEditor/template/SimpleQuestionModel.html 2008-05-12 20:05:40 UTC (rev 130)
@@ -6,7 +6,7 @@
<script type="text/javascript" src="global/simpleQ.js"></script>
</head>
-<body onload="Initialize();" onunload="Terminate();">
+<body onLoad="Initialize()" onunload="Terminate();">
<div id="simpleQ_caption">
<!--caption start-->New caption<!--caption end-->
</div>
Modified: WebEditor/template/global/SummaryPage.js
===================================================================
--- WebEditor/template/global/SummaryPage.js 2008-05-12 18:23:49 UTC (rev 129)
+++ WebEditor/template/global/SummaryPage.js 2008-05-12 20:05:40 UTC (rev 130)
@@ -23,16 +23,76 @@
}
function recalcChaptersScores(){
+ var record = new Array(7);
+ record[2] = 0;
+ record[3] = 0;
+ record[4] = 0;
+ record[6] = 1;
+
+ records[curr_record] = record;
+ curr_record++;
+
+ var stack = new Array(curr_record);
+ stack[0] = 0;
+ var stackPos = 0;
+
+ record = records[0];
+ record[2] = 0;
+ record[3] = 0;
+ record[4] = 0;
+
var i;
- for (i = 0; i < curr_record; i++){
- var record = records[i];
- write(record[0], record[1], record[2], record[3], record[4], record[5]);
+ for (i = 1; i < curr_record; i++){
+ record = records[i];
+ var prevRec = records[i-1];
+
+ var parentRec = records[stack[stackPos]];
+
+ while (record[6] < prevRec[6]){
+ stackPos--;
+ var parent_parent = records[stackPos];
+
+ if (parseInt(parentRec[2])){
+ parent_parent[2] += parseInt(parentRec[2]);
+ }
+ if (parseInt(parentRec[3])){
+ parent_parent[3] += parseInt(parentRec[3]);
+ }
+ if (parseInt(parentRec[4])){
+ parent_parent[4] += parseInt(parentRec[4]);
+ }
+
+ prevRec = parentRec;
+ }
+
+ if (record[5] == "ChapterModel"){
+ stackPos++;
+ stack[stackPos] = i;
+
+ record[2] = 0;
+ record[3] = 0;
+ record[4] = 0;
+
+ continue;
+ }
+
+ if (parseInt(record[2])){
+ parentRec[2] += parseInt(record[2]);
+ }
+ if (parseInt(record[3])){
+ parentRec[3] += parseInt(record[3]);
+ }
+ if (parseInt(record[4])){
+ parentRec[4] += parseInt(record[4]);
+ }
}
}
function writeAll(){
+ recalcChaptersScores();
+
var i;
- for (i = 0; i < curr_record; i++){
+ for (i = 0; i < curr_record - 1; i++){
var record = records[i];
write(record[0], record[1], record[2], record[3], record[4], record[5]);
}
Modified: WebEditor/template/global/simpleQ.js
===================================================================
--- WebEditor/template/global/simpleQ.js 2008-05-12 18:23:49 UTC (rev 129)
+++ WebEditor/template/global/simpleQ.js 2008-05-12 20:05:40 UTC (rev 130)
@@ -106,7 +106,7 @@
SetValue("cmi.objectives.0.score.raw", raw);
SetValue("cmi.objectives.0.score.scaled", scaled);
- var pref = "cmi.interactions." + (GetValue("cmi.interactions._count") - 1);
+ var pref = "cmi.interactions." + (GetValue("cmi.interactions._count"));
if (singleAnswer){
var i;
for (i=0; i < answers.length; i++){
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-12 18:25:17
|
Revision: 129
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=129&view=rev
Author: sem62
Date: 2008-05-12 11:23:49 -0700 (Mon, 12 May 2008)
Log Message:
-----------
Realized forcing termination of SCO.
Modified Paths:
--------------
webPlayer/src/1.jardesc
webPlayer/src/UI/SelectionListener.java
webPlayer/src/behaviour/Navigation.java
webPlayer/src/player/AppletWithApiHandle.java
webPlayer/src/player/AppletWithNavigationControlsHandler.java
Modified: webPlayer/src/1.jardesc
===================================================================
--- webPlayer/src/1.jardesc 2008-05-10 21:02:31 UTC (rev 128)
+++ webPlayer/src/1.jardesc 2008-05-12 18:23:49 UTC (rev 129)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="WINDOWS-1251" standalone="no"?>
<jardesc>
- <jar path="E:/ACMContester/out/web/WebPlayer/player.jar"/>
+ <jar path="s:/WebPlayer/player.jar"/>
<options buildIfNeeded="true" compress="true" descriptionLocation="/webPlayer/src/1.jardesc" exportErrors="true" exportWarnings="false" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
<storedRefactorings deprecationInfo="true" structuralOnly="false"/>
<selectedProjects/>
Modified: webPlayer/src/UI/SelectionListener.java
===================================================================
--- webPlayer/src/UI/SelectionListener.java 2008-05-10 21:02:31 UTC (rev 128)
+++ webPlayer/src/UI/SelectionListener.java 2008-05-12 18:23:49 UTC (rev 129)
@@ -45,6 +45,6 @@
DefaultMutableTreeNode item = (DefaultMutableTreeNode)e.getNewLeadSelectionPath().getLastPathComponent();
Activity activity = (Activity)item.getUserObject();
- Navigation.choose(activity);
+ Navigation.choose(activity, true);
}
}
Modified: webPlayer/src/behaviour/Navigation.java
===================================================================
--- webPlayer/src/behaviour/Navigation.java 2008-05-10 21:02:31 UTC (rev 128)
+++ webPlayer/src/behaviour/Navigation.java 2008-05-12 18:23:49 UTC (rev 129)
@@ -6,7 +6,6 @@
import UI.SelectionListener;
import javax.swing.*;
-import javax.swing.Timer;
import java.awt.event.ActionEvent;
import data.DataModel;
@@ -25,6 +24,8 @@
public static CmiElement request = new CmiElement("");
+ private static final long TERMINATING_WAIT_INTERVAL = 10000;
+
public static String getValue(String element) {
return request.value;
}
@@ -56,7 +57,7 @@
}
public static void Start() {
- choose(Activity.getRoot());
+ choose(Activity.getRoot(), false);
}
public static Activity getChoice(Activity choice,
@@ -73,7 +74,7 @@
if (recursive_selected_child) {
if (choice.parent.sequencing.controlMode.forwardOnly) {
return choice.parent.items.get(0); // if you can't choose
- // anything and
+ // anything and
}
}
@@ -147,21 +148,21 @@
return previousActivivty;
}
- public static void Next() {
+ public static void Next(boolean needWaitingForTrminating) {
System.out.print("Next requested\n");
Activity current = GlobalStateInformation.getCurrentActivity();
Activity next = Navigation.getNext(current);
- ShowItem(next);
+ ShowItem(next, needWaitingForTrminating);
}
- public static void Previous() {
+ public static void Previous(boolean needWaitingForTrminating) {
System.out.print("Previous requested\n");
Activity current = GlobalStateInformation.getCurrentActivity();
Activity previous = Navigation.getPrevious(current);
- ShowItem(previous);
+ ShowItem(previous, needWaitingForTrminating);
}
public static void Exit(boolean need_close_window) {
@@ -177,19 +178,21 @@
return getPrevious(GlobalStateInformation.getCurrentActivity()) != null;
}
- public static void choose(Activity activity) {
+ public static void choose(Activity activity,
+ boolean needWaitingForTrminating) {
Activity choice = Navigation.getChoice(activity, false);
if (choice != null) {
- Navigation.ShowItem(choice);
+ Navigation.ShowItem(choice, needWaitingForTrminating);
} else {
SelectionListener.SetTreeSelection(Player.itemToTreeNode
.get(choice));
}
}
- public static void ShowItem(Activity activity) {
- stopCurrentActivity();
+ public static void ShowItem(Activity activity,
+ boolean needWaitingForTrminating) {
+ stopCurrentActivity(needWaitingForTrminating);
if (activity == null) {
Browser.Locate("chooseMsg.html");
@@ -264,15 +267,15 @@
activity.identifier).activityProgressInformation.EndAttemp();
}
- public static void activityTerminated() {
+ public static void activityTerminated(boolean needWaitingForTrminating) {
timeLimitTimer.stop();
Activity current = GlobalStateInformation.getCurrentActivity();
Activity target = Navigation.getTarget(current);
- Navigation.ShowItem(target);
+ Navigation.ShowItem(target, needWaitingForTrminating);
}
- public static void stopCurrentActivity() {
+ public static void stopCurrentActivity(boolean needWaitingForTrminating) {
timeLimitTimer.stop();
Browser.setTimeToLeftText("");
@@ -285,7 +288,31 @@
}
}
- Player.Terminate("internal");
+ if (needWaitingForTrminating) {
+ if (AppletWithApiHandle.initialized) {
+ Thread thread = new Thread(new Runnable() {
+ public void run() {
+ Browser.Locate("chooseMsg.html");
+ }
+ });
+
+ thread.start();
+
+ try {
+ System.out.println("Waiting for terminating SCO");
+ synchronized (AppletWithApiHandle.terminateWaitingObject) {
+ AppletWithApiHandle.terminateWaitingObject
+ .wait(TERMINATING_WAIT_INTERVAL);
+ }
+ } catch (InterruptedException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ } else {
+ // TODO need something
+ }
+
}
public static void checkTimeLimit() {
Modified: webPlayer/src/player/AppletWithApiHandle.java
===================================================================
--- webPlayer/src/player/AppletWithApiHandle.java 2008-05-10 21:02:31 UTC (rev 128)
+++ webPlayer/src/player/AppletWithApiHandle.java 2008-05-12 18:23:49 UTC (rev 129)
@@ -18,6 +18,8 @@
private static final long serialVersionUID = 1L;
public static boolean initialized = false;
public static boolean terminated = false;
+
+ public static Object terminateWaitingObject = new Object();
static public String Initialize(String parameter){
if (GlobalStateInformation.getCurrentActivity() == null){
@@ -87,12 +89,15 @@
if (!terminated){
DataModel.getInstance().getTrackingModelManager().getModelForActivity(current.identifier).activityProgressInformation.EndAttemp();
- if (!parameter.equals("internal")){
- Navigation.activityTerminated();
- }
+ Navigation.activityTerminated(false);
initialized = false;
terminated = true;
+
+ synchronized (terminateWaitingObject) {
+ terminateWaitingObject.notifyAll();
+ }
+
Communicator.getInstance().sendApiLogMessage(current.identifier, Communicator.API_TERMINATE, "", parameter, "true");
return "true";
}
Modified: webPlayer/src/player/AppletWithNavigationControlsHandler.java
===================================================================
--- webPlayer/src/player/AppletWithNavigationControlsHandler.java 2008-05-10 21:02:31 UTC (rev 128)
+++ webPlayer/src/player/AppletWithNavigationControlsHandler.java 2008-05-12 18:23:49 UTC (rev 129)
@@ -12,11 +12,11 @@
private static final long serialVersionUID = 1L;
public static void Previous(){
- Navigation.Previous();
+ Navigation.Previous(true);
}
public static void Next(){
- Navigation.Next();
+ Navigation.Next(true);
}
public static void suspend(){
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 21:02:27
|
Revision: 128
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=128&view=rev
Author: sem62
Date: 2008-05-10 14:02:31 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Title of Simple question property form was empty.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 21:00:12 UTC (rev 127)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 21:02:31 UTC (rev 128)
@@ -109,6 +109,8 @@
}
private void initComponents() {
+ setTitle("Propertiests...");
+
generalPanel = new javax.swing.JPanel();
titleLabel = new javax.swing.JLabel();
titleTextField = new javax.swing.JTextField();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 21:00:24
|
Revision: 127
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=127&view=rev
Author: sem62
Date: 2008-05-10 14:00:12 -0700 (Sat, 10 May 2008)
Log Message:
-----------
fixed bug with "same as title" at SimpleQuestion property dialog.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
WebEditor/template/SimpleQuestionModel.conf
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 20:48:29 UTC (rev 126)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 21:00:12 UTC (rev 127)
@@ -9,6 +9,7 @@
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;
/**
@@ -445,12 +446,17 @@
manifestItem.setTitle(titleTextField.getText());
- itemModel.getData(manifestItem).setCaption(captionTextField.getText());
+ SimpleQuestionData data = itemModel.getData(manifestItem);
- itemModel.getData(manifestItem)
- .setQuestion(questionTextField.getText());
+ if (sameAsTitleCheckBox.isSelected()){
+ data.setCaption(titleTextField.getText());
+ } else {
+ data.setCaption(captionTextField.getText());
+ }
- itemModel.getData(manifestItem).setAnswers(
+ data.setQuestion(questionTextField.getText());
+
+ data.setAnswers(
simpleQuestionAnswersDataModel);
itemModel.updateItemResource(manifestItem, true);
Modified: WebEditor/template/SimpleQuestionModel.conf
===================================================================
--- WebEditor/template/SimpleQuestionModel.conf 2008-05-10 20:48:29 UTC (rev 126)
+++ WebEditor/template/SimpleQuestionModel.conf 2008-05-10 21:00:12 UTC (rev 127)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<SimpleQuestion>
-<caption>New caption</caption>
+<caption>New simple question</caption>
<question>Answer "Yes" to question, please.</question>
<ShowOnSummaryPage>true</ShowOnSummaryPage>
<answers singleVariant="false">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 20:48:33
|
Revision: 126
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=126&view=rev
Author: sem62
Date: 2008-05-10 13:48:29 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* configured spaw2 to using resource directory in course.
* fixed templates
* added code for updating summary pages after removing items
Modified Paths:
--------------
WebEditor/resources/HTMLedit.php
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
WebEditor/template/LectureModel.conf
WebEditor/template/SimpleQuestionModel.conf
Added Paths:
-----------
WebEditor/template/resources/
Modified: WebEditor/resources/HTMLedit.php
===================================================================
--- WebEditor/resources/HTMLedit.php 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/resources/HTMLedit.php 2008-05-10 20:48:29 UTC (rev 126)
@@ -10,7 +10,7 @@
close();
return false;
}
-
+
function closing(){
if (!saved){
if (confirm('Course not saved. Do you want to save it now?') == true){
@@ -27,10 +27,11 @@
<body onUnload="closing();">
<form name='editFrm' onSubmit='javascript:save();'>
<?
-include("spaw2/spaw.inc.php");
+include("spaw2/spaw.inc.php");
-$spaw = new SpawEditor('spaw_edit_field', "123");
-$spaw->show();
+$spaw = new SpawEditor('spaw_edit_field', "");
+
+$spaw->show();
?>
<input type='submit' value='save' onClick='javascript:save();'>
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 20:48:29 UTC (rev 126)
@@ -2,6 +2,7 @@
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
+import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
@@ -124,6 +125,7 @@
aChapter.getParent().removeChild(aChapter);
WebEditorServiceClient.getInstance().deleteFile(getConfFileName(aChapter));
+ SummaryPageManager.getInstance().updateSummaryPages();
}
/**
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 20:48:29 UTC (rev 126)
@@ -97,6 +97,8 @@
WebEditorServiceClient.getInstance().deleteFile(getConfFileName(anItem));
manifest.resources.deleteResource(identifier);
+
+ SummaryPageManager.getInstance().updateSummaryPages();
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 20:48:29 UTC (rev 126)
@@ -78,12 +78,6 @@
}
@Override
- public void remove(TreeItem item) {
- TreeDataModel.getInstance().treeNodesDeleted(item);
- item.getParent().removeChild(item);
- }
-
- @Override
public void rename(TreeItem item, String newTitle) {
((Item) item).title = newTitle;
TreeDataModel.getInstance().treeNodesChanged(item);
Modified: WebEditor/template/LectureModel.conf
===================================================================
--- WebEditor/template/LectureModel.conf 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/template/LectureModel.conf 2008-05-10 20:48:29 UTC (rev 126)
@@ -1,5 +1,2 @@
-<?xml version = "1.0" ?>
-<LectureModel>
- <caption>New lecture</caption>
- <content>New content.</content>
-</LectureModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<LectureData><caption>New lecture</caption><content>New content.</content><ShowOnSummaryPage>false</ShowOnSummaryPage></LectureData>
\ No newline at end of file
Modified: WebEditor/template/SimpleQuestionModel.conf
===================================================================
--- WebEditor/template/SimpleQuestionModel.conf 2008-05-10 17:33:34 UTC (rev 125)
+++ WebEditor/template/SimpleQuestionModel.conf 2008-05-10 20:48:29 UTC (rev 126)
@@ -1,9 +1,10 @@
-<?xml version = "1.0" ?>
-<SimpleQuestionModel>
- <caption>New caption</caption>
- <question>Answer "Yes" to question, please.</question>
- <answers singleVariant="false">
- <answer point="0">Yes</answer>
- <answer point="1">No</answer>
- </answers>
-</SimpleQuestionModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<SimpleQuestion>
+<caption>New caption</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
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 17:33:47
|
Revision: 125
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=125&view=rev
Author: sem62
Date: 2008-05-10 10:33:34 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* Designed Simple question property dialog
* Implement WYSIWYG editor to this dialog
* add slashes to parameters of add method when generating html resource
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-10 14:31:01 UTC (rev 124)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-10 17:33:34 UTC (rev 125)
@@ -15,16 +15,12 @@
Object[] params = new String[1];
params[0] = captionTextField2.getText();
-// dlg.setModal(false);
-
htmlEditing = true;
textField = captionTextField2;
editingDlg = dlg;
lockPropertyDlg();
win.call("showEditor", params);
-
-// dlg.setModal(true);
}
public String getEditedHTML(){
@@ -50,6 +46,7 @@
return;
}
textField.setText(newHTML);
+ editingDlg.editedHtmlTextWasSet();
htmlEditing = false;
unlockPropertyDlg();
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-10 14:31:01 UTC (rev 124)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-10 17:33:34 UTC (rev 125)
@@ -14,7 +14,7 @@
*
*/
private static final long serialVersionUID = -6002603750731392120L;
-
+
protected void editTextFieldInHtmlEditor(JTextComponent textComponent) {
WebEditor.instance.htmlEdit(textComponent, this);
}
@@ -50,4 +50,7 @@
obj.setModal(true);
obj.setVisible(true);
}
+
+ public void editedHtmlTextWasSet() {
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 14:31:01 UTC (rev 124)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 17:33:34 UTC (rev 125)
@@ -6,6 +6,7 @@
import javax.swing.JButton;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
+import javax.swing.table.DefaultTableColumnModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionAnswersDataModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel;
@@ -33,8 +34,11 @@
private javax.swing.JTextField questionTextField;
private javax.swing.JButton editCaptionInHtmlBtn;
private javax.swing.JButton editQuestionInHtmlBtn;
+ private javax.swing.JButton editAnswerVariantInHtmlEditor;
private SimpleQuestionAnswersDataModel simpleQuestionAnswersDataModel;
+ private javax.swing.JTextField currentAnswerVariant;
+
public SimpleQuestionPropertiestsDlg() {
obj = this;
@@ -52,6 +56,20 @@
if (arg0.getSource() == editCaptionInHtmlBtn) {
editTextFieldInHtmlEditor(captionTextField);
}
+
+ if (arg0.getSource() == editAnswerVariantInHtmlEditor) {
+ int selectedRow = answersTable.getSelectedRow();
+
+ if (selectedRow < 0){
+ return;
+ }
+
+ String text = answersTable.getModel().getValueAt(selectedRow, 1).toString();
+
+ currentAnswerVariant.setText(text);
+
+ editTextFieldInHtmlEditor(currentAnswerVariant);
+ }
}
@Override
@@ -72,9 +90,23 @@
.getAnswers();
dlg.answersTable.setModel(dlg.simpleQuestionAnswersDataModel);
+ DefaultTableColumnModel columnModel = (DefaultTableColumnModel)dlg.answersTable.getColumnModel();
+ columnModel.getColumn(0).setPreferredWidth(1);
+ columnModel.getColumn(1).setPreferredWidth(300);
+ columnModel.getColumn(2).setPreferredWidth(1);
+
dlg.titleTextField.selectAll();
}
+ @Override
+ public void editedHtmlTextWasSet() {
+ super.editedHtmlTextWasSet();
+
+ String text = currentAnswerVariant.getText();
+ int selectedRow = answersTable.getSelectedRow();
+ answersTable.getModel().setValueAt(text, selectedRow, 1);
+ }
+
private void initComponents() {
generalPanel = new javax.swing.JPanel();
titleLabel = new javax.swing.JLabel();
@@ -87,18 +119,24 @@
oneAnswerCheckBox = new javax.swing.JCheckBox();
answersPanel = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
- answersTable = new javax.swing.JTable();
cancelButton = new javax.swing.JButton("Cancel");
okButton = new javax.swing.JButton("Ok");
editCaptionInHtmlBtn = new JButton("...");
editQuestionInHtmlBtn = new JButton("...");
+ editAnswerVariantInHtmlEditor = new JButton("HTML Editor");
+ currentAnswerVariant = new javax.swing.JTextField();
+ captionTextField.addActionListener(this);
+
cancelButton.addActionListener(this);
okButton.addActionListener(this);
sameAsTitleCheckBox.addChangeListener(this);
oneAnswerCheckBox.addChangeListener(this);
editCaptionInHtmlBtn.addActionListener(this);
editQuestionInHtmlBtn.addActionListener(this);
+ editAnswerVariantInHtmlEditor.addActionListener(this);
+
+ answersTable = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
@@ -277,18 +315,31 @@
answersPanel);
answersPanel.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel4Layout.createSequentialGroup().addContainerGap()
+ javax.swing.GroupLayout.Alignment.TRAILING)
+ .addGroup(
+ jPanel4Layout.createSequentialGroup()
+ .addComponent(editAnswerVariantInHtmlEditor)
+ .addContainerGap()
+ )
+ .addGroup(
+ jPanel4Layout.createSequentialGroup()
+ .addContainerGap()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE).addContainerGap()));
+ Short.MAX_VALUE)
+ .addContainerGap()
+ ));
jPanel4Layout.setVerticalGroup(jPanel4Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
jPanel4Layout.createSequentialGroup().addContainerGap()
.addComponent(jScrollPane1,
javax.swing.GroupLayout.DEFAULT_SIZE, 111,
- Short.MAX_VALUE).addContainerGap()));
+ Short.MAX_VALUE)
+ .addContainerGap(10, 10)
+ .addComponent(editAnswerVariantInHtmlEditor, 20, 20, 20)
+ .addContainerGap()
+ ));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java 2008-05-10 14:31:01 UTC (rev 124)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionAnswersDataModel.java 2008-05-10 17:33:34 UTC (rev 125)
@@ -2,6 +2,7 @@
import java.util.ArrayList;
+import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
@@ -10,11 +11,11 @@
private boolean singleVariant = false;
public ArrayList<SimpleQuestionAnswer> answers = new ArrayList<SimpleQuestionAnswer>();
+ private ArrayList<TableModelListener> listeners = new ArrayList<TableModelListener>();
@Override
public void addTableModelListener(TableModelListener arg0) {
- // TODO Auto-generated method stub
-
+ listeners.add(arg0);
}
@Override
@@ -45,18 +46,18 @@
}
@Override
- public Object getValueAt(int arg0, int arg1) {
- if (arg0 == answers.size()) {
+ public Object getValueAt(int row, int col) {
+ if (row == answers.size()) {
return "";
}
- switch (arg1) {
+ switch (col) {
case 0:
- return arg0 + 1;
+ return row + 1;
case 1:
- return answers.get(arg0).getAnswerText();
+ return answers.get(row).getAnswerText();
case 2:
- return answers.get(arg0).getAnswerPoint();
+ return answers.get(row).getAnswerPoint();
default:
return "";
}
@@ -73,6 +74,7 @@
@Override
public void removeTableModelListener(TableModelListener arg0) {
+ listeners.remove(arg0);
}
public void setSingleVariant(boolean singleVariant) {
@@ -105,5 +107,10 @@
}
break;
}
+
+ for (int i=0; i < listeners.size(); i++){
+ TableModelEvent event = new TableModelEvent(this, arg1, arg1, arg2);
+ listeners.get(i).tableChanged(event);
+ }
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 14:31:01 UTC (rev 124)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 17:33:34 UTC (rev 125)
@@ -112,7 +112,7 @@
while (iter.hasNext()) {
SimpleQuestionAnswer answer = iter.next();
- answers += "addAnswer(\"" + answer.getAnswerText() + "\", "
+ answers += "addAnswer(\"" + answer.getAnswerText().replace("\"", "\\\"") + "\", "
+ answer.getAnswerPoint() + ");" + "\r\n";
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 14:30:57
|
Revision: 124
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=124&view=rev
Author: sem62
Date: 2008-05-10 07:31:01 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Some design Simple questin model property dlg
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 14:03:25 UTC (rev 123)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 14:31:01 UTC (rev 124)
@@ -111,10 +111,12 @@
generalPanel.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel1Layout.createSequentialGroup().addComponent(titleLabel)
- .addContainerGap(330, Short.MAX_VALUE)).addComponent(
- titleTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE));
+ jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addComponent(titleLabel)).addGroup(
+ jPanel1Layout.createSequentialGroup().addContainerGap()
+ .addComponent(titleTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 364,
+ Short.MAX_VALUE).addContainerGap()));
jPanel1Layout
.setVerticalGroup(jPanel1Layout
.createParallelGroup(
@@ -131,7 +133,8 @@
titleTextField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)));
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
captionPanel.setBorder(javax.swing.BorderFactory
.createTitledBorder("Caption"));
@@ -140,21 +143,38 @@
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
captionPanel);
captionPanel.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel2Layout.createSequentialGroup().addGroup(
- jPanel2Layout.createParallelGroup(
+ jPanel2Layout
+ .setHorizontalGroup(jPanel2Layout
+ .createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(sameAsTitleCheckBox))
- .addContainerGap(283, Short.MAX_VALUE)).addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel2Layout.createSequentialGroup().addComponent(
- captionTextField, javax.swing.GroupLayout.DEFAULT_SIZE,
- 370, Short.MAX_VALUE).addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editCaptionInHtmlBtn,
- javax.swing.GroupLayout.PREFERRED_SIZE, 30,
- javax.swing.GroupLayout.PREFERRED_SIZE)));
+ .addGroup(
+ jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addGroup(
+ jPanel2Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(
+ sameAsTitleCheckBox))
+ .addContainerGap(283, Short.MAX_VALUE))
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(
+ captionTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 370, Short.MAX_VALUE)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ editCaptionInHtmlBtn,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ 30,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
jPanel2Layout
.setVerticalGroup(jPanel2Layout
.createParallelGroup(
@@ -188,22 +208,38 @@
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(
questionPanel);
questionPanel.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel3Layout.createSequentialGroup().addGroup(
- jPanel3Layout.createParallelGroup(
+ jPanel3Layout
+ .setHorizontalGroup(jPanel3Layout
+ .createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(oneAnswerCheckBox))
- .addContainerGap(283, Short.MAX_VALUE)).addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel3Layout.createSequentialGroup().addComponent(
- questionTextField,
- javax.swing.GroupLayout.DEFAULT_SIZE, 370,
- Short.MAX_VALUE).addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editQuestionInHtmlBtn,
- javax.swing.GroupLayout.PREFERRED_SIZE, 30,
- javax.swing.GroupLayout.PREFERRED_SIZE)));
+ .addGroup(
+ jPanel3Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addGroup(
+ jPanel3Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(
+ oneAnswerCheckBox))
+ .addContainerGap(283, Short.MAX_VALUE))
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel3Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(
+ questionTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 370, Short.MAX_VALUE)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ editQuestionInHtmlBtn,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ 30,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
jPanel3Layout
.setVerticalGroup(jPanel3Layout
.createParallelGroup(
@@ -229,7 +265,8 @@
questionTextField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE))));
+ javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addContainerGap()));
answersPanel.setBorder(javax.swing.BorderFactory
.createTitledBorder("Variants of answer"));
@@ -240,13 +277,18 @@
answersPanel);
answersPanel.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(jPanel4Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addComponent(
- jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 364,
- Short.MAX_VALUE));
+ javax.swing.GroupLayout.Alignment.LEADING).addGroup(
+ jPanel4Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 364,
+ Short.MAX_VALUE).addContainerGap()));
+
jPanel4Layout.setVerticalGroup(jPanel4Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addComponent(
- jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 111,
- Short.MAX_VALUE));
+ javax.swing.GroupLayout.Alignment.LEADING).addGroup(
+ jPanel4Layout.createSequentialGroup().addContainerGap()
+ .addComponent(jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE, 111,
+ Short.MAX_VALUE).addContainerGap()));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
@@ -342,7 +384,7 @@
Short.MAX_VALUE)));
this.getRootPane().setDefaultButton(okButton);
-
+
pack();
}
@@ -353,10 +395,10 @@
manifestItem.setTitle(titleTextField.getText());
itemModel.getData(manifestItem).setCaption(captionTextField.getText());
-
+
itemModel.getData(manifestItem)
.setQuestion(questionTextField.getText());
-
+
itemModel.getData(manifestItem).setAnswers(
simpleQuestionAnswersDataModel);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 14:03:30
|
Revision: 123
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=123&view=rev
Author: sem62
Date: 2008-05-10 07:03:25 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Some design Chapter and Lecture models
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-10 13:18:47 UTC (rev 122)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-10 14:03:25 UTC (rev 123)
@@ -113,7 +113,9 @@
titleLabel)
.addContainerGap(
568,
- Short.MAX_VALUE)))));
+ Short.MAX_VALUE)
+ ))
+ .addContainerGap()));
jPanel1Layout
.setVerticalGroup(jPanel1Layout
.createParallelGroup(
@@ -293,8 +295,8 @@
.addComponent(forwarOnlyCheckBox)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabel5).addContainerGap(
- 20, Short.MAX_VALUE)));
+ .addComponent(jLabel5)
+ ));
configurationComboBox.setModel(new javax.swing.DefaultComboBoxModel(
new String[] { "User defined", "Lecture materials",
@@ -306,7 +308,8 @@
controlModesPanel.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel2Layout.createSequentialGroup().addGroup(
+ jPanel2Layout.createSequentialGroup()
+ .addContainerGap().addGroup(
jPanel2Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel6,
@@ -370,7 +373,9 @@
jPanel6,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)));
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(10, Short.MAX_VALUE)
+ ));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-10 13:18:47 UTC (rev 122)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-10 14:03:25 UTC (rev 123)
@@ -3,6 +3,7 @@
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import javax.swing.JLabel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
@@ -46,6 +47,8 @@
private javax.swing.JTextField titleTextField;
private javax.swing.JTextField captionTextField;
+ private JLabel titleLabel;
+
/** Creates new form NewJFrame */
public LecturePropertiestsDlg() {
obj = this;
@@ -69,6 +72,7 @@
private void initComponents() {
setTitle("Propertiests...");
titlePanel = new javax.swing.JPanel();
+ titleLabel = new JLabel("Title");
titleTextField = new javax.swing.JTextField();
captionPanel = new javax.swing.JPanel();
captionTextField = new javax.swing.JTextField();
@@ -93,24 +97,55 @@
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
titlePanel.setBorder(javax.swing.BorderFactory
- .createTitledBorder("Title"));
+ .createTitledBorder("General"));
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(
titlePanel);
titlePanel.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addComponent(
- titleTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 412,
- Short.MAX_VALUE));
- jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- jPanel1Layout.createSequentialGroup().addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(titleTextField,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE)));
+ jPanel1Layout
+ .setHorizontalGroup(jPanel1Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel1Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addGroup(
+ jPanel1Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(
+ titleTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 588,
+ Short.MAX_VALUE)
+ .addGroup(
+ jPanel1Layout
+ .createSequentialGroup()
+ .addComponent(
+ titleLabel)
+ .addContainerGap(
+ 568,
+ Short.MAX_VALUE)))
+ .addContainerGap()));
+ jPanel1Layout
+ .setVerticalGroup(jPanel1Layout
+ .createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ jPanel1Layout
+ .createSequentialGroup()
+ .addComponent(titleLabel)
+ .addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(
+ titleTextField,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap()));
+
captionPanel.setBorder(javax.swing.BorderFactory
.createTitledBorder("Caption"));
@@ -121,17 +156,27 @@
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(
captionPanel);
captionPanel.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(jPanel2Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addComponent(
- sameAsTitleCheckbox, javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel2Layout.createSequentialGroup().addComponent(
- captionTextField, javax.swing.GroupLayout.DEFAULT_SIZE,
- 361, Short.MAX_VALUE).addPreferredGap(
- javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editCaptionInHtmlBtn, 30, 30, 30)));
+ jPanel2Layout.setHorizontalGroup(jPanel2Layout
+ .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(sameAsTitleCheckbox,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ )
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(captionTextField,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 361,
+ Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(editCaptionInHtmlBtn, 30, 30, 30)
+ .addContainerGap()
+ ));
jPanel2Layout
.setVerticalGroup(jPanel2Layout
.createParallelGroup(
@@ -147,16 +192,18 @@
.addGap(8, 8, 8)
.addGroup(
jPanel2Layout
- .createParallelGroup(
- javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(
- editCaptionInHtmlBtn,
- 20, 20, 20)
- .addComponent(
- captionTextField,
- javax.swing.GroupLayout.PREFERRED_SIZE,
- javax.swing.GroupLayout.DEFAULT_SIZE,
- javax.swing.GroupLayout.PREFERRED_SIZE))));
+ .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(
+ editCaptionInHtmlBtn,
+ 20, 20, 20)
+ .addComponent(
+ captionTextField,
+ javax.swing.GroupLayout.PREFERRED_SIZE,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ javax.swing.GroupLayout.PREFERRED_SIZE)
+ )
+ .addContainerGap()
+ ));
contentPanel.setBorder(javax.swing.BorderFactory
.createTitledBorder("Content"));
@@ -167,20 +214,36 @@
contentPanel);
contentPanel.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
- javax.swing.GroupLayout.Alignment.LEADING).addGroup(
- javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel3Layout.createSequentialGroup().addContainerGap()
- .addComponent(editContentInHtmlBtn)).addComponent(
- jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 486,
- Short.MAX_VALUE));
+ javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel3Layout
+ .createSequentialGroup()
+ .addComponent(editContentInHtmlBtn)
+ .addContainerGap()
+ )
+ .addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel3Layout
+ .createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jScrollPane1,
+ javax.swing.GroupLayout.DEFAULT_SIZE,
+ 486,Short.MAX_VALUE)
+ .addContainerGap()
+ )
+ );
jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addGroup(
javax.swing.GroupLayout.Alignment.TRAILING,
- jPanel3Layout.createSequentialGroup().addComponent(
+ jPanel3Layout.createSequentialGroup()
+ .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE,
145, Short.MAX_VALUE).addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editContentInHtmlBtn, 20, 20, 20)));
+ .addComponent(editContentInHtmlBtn, 20, 20, 20)
+ .addContainerGap()
+ ));
// jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
// javax.swing.GroupLayout.Alignment.LEADING).addComponent(
// jScrollPane1));
@@ -306,8 +369,9 @@
}
LectureModel model = new LectureModel();
- LectureData lectureData = ((LectureData) model.getItemData(manifestItem));
-
+ LectureData lectureData = ((LectureData) model
+ .getItemData(manifestItem));
+
lectureData.setCaption(caption);
lectureData.setContent(content);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 13:18:45
|
Revision: 122
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=122&view=rev
Author: sem62
Date: 2008-05-10 06:18:47 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* Added publish method to service.
* Set defaults buttons at property dialogs.
Modified Paths:
--------------
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/WSClients/WebEditorServiceClient.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Added Paths:
-----------
WebEditor/service/publishCourse.php
Added: WebEditor/service/publishCourse.php
===================================================================
--- WebEditor/service/publishCourse.php (rev 0)
+++ WebEditor/service/publishCourse.php 2008-05-10 13:18:47 UTC (rev 122)
@@ -0,0 +1,8 @@
+<?
+ require_once("config.inc.php");
+
+ if (isset($_POST['publish']) && $_POST['publish'] == "1"){
+ echo "start publishing...";
+ }
+
+?>
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-10 13:03:46 UTC (rev 121)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-10 13:18:47 UTC (rev 122)
@@ -289,6 +289,7 @@
20, 20, 20))
.addContainerGap()));
+ this.getRootPane().setDefaultButton(okButton);
pack();
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 13:03:46 UTC (rev 121)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/SimpleQuestionPropertiestsDlg.java 2008-05-10 13:18:47 UTC (rev 122)
@@ -341,6 +341,8 @@
javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)));
+ this.getRootPane().setDefaultButton(okButton);
+
pack();
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 13:03:46 UTC (rev 121)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 13:18:47 UTC (rev 122)
@@ -110,13 +110,6 @@
return result;
}
- /**
- * @param fName
- * File name
- * @param location
- * Location name = template | course
- * @return
- */
public boolean deleteFile(String fName) {
System.out.println("Deleting file (fName=" + fName + ")...");
@@ -139,6 +132,28 @@
return true;
}
+ public boolean publish() {
+ System.out.println("Publishing course ...");
+
+ // Construct data
+ String data;
+ try {
+ data = URLEncoder.encode("publish", "UTF-8") + "="
+ + URLEncoder.encode("1", "UTF-8");
+
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ String result = getResponse(data, "publishCourse.php");
+
+ System.out.println("deleting result: " + result);
+
+ lastCommunicationTime = System.currentTimeMillis();
+ return true;
+ }
+
private String getResponse(String data, String action) {
String result = "";
try {
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 13:03:46 UTC (rev 121)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 13:18:47 UTC (rev 122)
@@ -53,6 +53,8 @@
private AutoSaveThread autoSaveThread;
+ private JMenuItem publishMenuItem;
+
@Override
public void actionPerformed(ActionEvent arg0) {
try {
@@ -60,6 +62,10 @@
openManifest();
}
+ if (arg0.getSource() == publishMenuItem) {
+ WebEditorServiceClient.getInstance().publish();
+ }
+
if (arg0.getSource() == saveMenuItem) {
saveManifest();
}
@@ -182,6 +188,11 @@
saveMenuItem.addActionListener(this);
menu.add(saveMenuItem);
+ // Create a menu item
+ publishMenuItem = new JMenuItem("Publish");
+ publishMenuItem.addActionListener(this);
+ menu.add(publishMenuItem);
+
// Install the menu bar in the frame
this.setJMenuBar(menuBar);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 13:03:54
|
Revision: 121
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=121&view=rev
Author: sem62
Date: 2008-05-10 06:03:46 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Added remove resource method to class Resources.
Modified Paths:
--------------
FFManifest/src/edu/lnu/FireFly/FFManifest/resource/Resources.java
Modified: FFManifest/src/edu/lnu/FireFly/FFManifest/resource/Resources.java
===================================================================
--- FFManifest/src/edu/lnu/FireFly/FFManifest/resource/Resources.java 2008-05-10 13:02:31 UTC (rev 120)
+++ FFManifest/src/edu/lnu/FireFly/FFManifest/resource/Resources.java 2008-05-10 13:03:46 UTC (rev 121)
@@ -58,6 +58,24 @@
}
return null;
}
+
+ /**
+ * It search the resource with a given identifier and remove it from collection.
+ *
+ * @param identifier that identificate a needed resource to deleting
+ * @return true if resource was founded and deleting, and false in other case.
+ */
+ public boolean deleteResource(String identifier){
+ for (int i = 0; i < resources.size(); i++) {
+ if ((resources.get(i)).identifier.equals(identifier)) {
+ resources.remove(i);
+
+ return true;
+ }
+ }
+
+ return false;
+ }
@Override
protected void parseAttribute(Attribute attr) throws TestDocException {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 13:02:27
|
Revision: 120
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=120&view=rev
Author: sem62
Date: 2008-05-10 06:02:31 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* Realized deleting resources files from server when deleting item from course tree.
* Added method "canDeleteChapter" that determine if you can delete some chapter.
* refactoring WSClient's code.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
Added Paths:
-----------
WebEditor/service/deleteFile.php
Added: WebEditor/service/deleteFile.php
===================================================================
--- WebEditor/service/deleteFile.php (rev 0)
+++ WebEditor/service/deleteFile.php 2008-05-10 13:02:31 UTC (rev 120)
@@ -0,0 +1,7 @@
+<?
+ require_once("config.inc.php");
+
+ if (isset($_POST['fName'])){
+ delete ($course_location . $_POST['fName']);
+ }
+?>
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 10:09:14 UTC (rev 119)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 13:02:31 UTC (rev 120)
@@ -5,9 +5,14 @@
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.WSClients.WebEditorServiceClient;
public class ChapterModel extends ResourcedItemModel {
+
public ChapterModel() {
super();
modelName = "ChapterModel";
@@ -101,17 +106,50 @@
}
@Override
- public void remove(TreeItem item) {
- if (item.getChildCount() > 0) {
+ public void remove(TreeItem aChapter) {
+ if (!canDeleteChapter(aChapter)) {
System.out
.print("This chapter contain items. Please, remove all childs and try again.\n");
return;
}
+
+ for (int i=0; i < aChapter.getChildCount(); i++){
+ TreeItem item = aChapter.getChild(i);
+ ItemModel model = ItemModels.getModelFromItem(item);
+
+ model.remove(item);
+ }
- TreeDataModel.getInstance().treeNodesDeleted(item);
- item.getParent().removeChild(item);
+ TreeDataModel.getInstance().treeNodesDeleted(aChapter);
+ aChapter.getParent().removeChild(aChapter);
+
+ WebEditorServiceClient.getInstance().deleteFile(getConfFileName(aChapter));
}
+ /**
+ * Determine if this chapter can deleted.<br>
+ * Chapter can be deleted, if it have no childs or it containe only summary page.
+ *
+ * @param aChapter
+ * @return true, if this chapter can be deleted.
+ */
+ private boolean canDeleteChapter(TreeItem aChapter) {
+ boolean result = aChapter.getChildCount() == 0;
+
+ if (!result){
+ if (aChapter.getChildCount() == 1){
+ TreeItem child = aChapter.getChild(0);
+ ItemModel model = ItemModels.getModelFromItem(child);
+
+ if (model.getClass() == SummaryPageModel.class){
+ return true;
+ }
+ }
+ }
+
+ return result;
+ }
+
@Override
public void rename(TreeItem item, String newTitle) {
((Item) item).title = newTitle;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 10:09:14 UTC (rev 119)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 13:02:31 UTC (rev 120)
@@ -3,6 +3,7 @@
import java.io.StringReader;
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.resource.Resource;
@@ -44,11 +45,11 @@
ConfigureItem(item);
}
- protected final String loadResource(String location, String identifier) {
+ protected final String loadResource(String location, TreeItem anItem) {
String res = "";
if (location.equalsIgnoreCase("course")) {
- res = WebEditorServiceClient.getInstance().getFileContent(identifier + ".conf",
+ res = WebEditorServiceClient.getInstance().getFileContent(getConfFileName(anItem),
location);
} else {
res = WebEditorServiceClient.getInstance().getFileContent(modelName + ".conf",
@@ -78,11 +79,33 @@
}
@Override
- public void remove(TreeItem item) {
- TreeDataModel.getInstance().treeNodesDeleted(item);
- item.getParent().removeChild(item);
+ 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());
+ WebEditorServiceClient.getInstance().deleteFile(getConfFileName(anItem));
+
+ manifest.resources.deleteResource(identifier);
+ }
+ }
+
+ private boolean canDeleteResource(TreeItem anItem) {
+ // TODO need check links to resource from other items in course tree.
+
+ return true;
+ }
+
@Override
public void rename(TreeItem item, String newTitle) {
((Item) item).title = newTitle;
@@ -91,7 +114,7 @@
public final boolean synchronizeItemWithResource(TreeItem anItem, String location)
{
- String res = loadResource(location, getConfFileName(anItem));
+ String res = loadResource(location, anItem);
if (res == null || res.trim().equals("")) {
return false;
@@ -113,13 +136,13 @@
Resource resource = WebEditor.instance.getManifest().resources
.findResourceByIdentifier(getIdentifierRef(anItem));
- return resource.identifier;
+ return resource.identifier + ".conf";
}
protected final void initializeDataForItem(Item anItem){
ItemData itemData = createItemDataInstance();
- String res = loadResource("template", getIdentifier(anItem));
+ String res = loadResource("template", anItem);
itemData.unmarshal(new StringReader(res), anItem);
@@ -135,7 +158,7 @@
ItemData itemData = getItemData(anItem);
WebEditorServiceClient.getInstance().setFileContent(
- getConfFileName(anItem) + ".conf", itemData.marshal(anItem));
+ getConfFileName(anItem), itemData.marshal(anItem));
if (updateSummaryPages) {
SummaryPageManager.getInstance().updateSummaryPages();
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 10:09:14 UTC (rev 119)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 13:02:31 UTC (rev 120)
@@ -3,6 +3,7 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
@@ -33,8 +34,9 @@
long lastCommunication = WebEditorServiceClient
.getInstance().getLastCommunicationTime();
-
- if (System.currentTimeMillis() - lastCommunication > Settings.getInstance().getNopInterval()){
+
+ if (System.currentTimeMillis() - lastCommunication > Settings
+ .getInstance().getNopInterval()) {
WebEditorServiceClient.getInstance().nop();
}
}
@@ -59,35 +61,89 @@
* @return
*/
public String getFileContent(String fName, String location) {
+ return getFileContent(fName, location, true);
+ }
+
+ public String getFileContent(String fName, String location, boolean useHash) {
System.out.println("Getting file's content (fName=" + fName
+ "; location=" + location + ")...");
- if (location.equalsIgnoreCase("template")) {
- String template = templates.get(fName);
- if (template != null) {
- System.out.println("Founded in templates hash.");
- return template;
+ if (useHash) {
+ if (location.equalsIgnoreCase("template")) {
+ String template = templates.get(fName);
+ if (template != null) {
+ System.out.println("Founded in templates hash.");
+ return template;
+ }
+ } else {
+ String content = contents.get(fName);
+ if (content != null) {
+ System.out.println("Founded in contents hash.");
+ return content;
+ }
}
- } else {
- String content = contents.get(fName);
- if (content != null) {
- System.out.println("Founded in contents hash.");
- return content;
- }
}
- String result = "";
+ String data;
try {
// Construct data
- String data = URLEncoder.encode("fName", "UTF-8") + "="
+ data = URLEncoder.encode("fName", "UTF-8") + "="
+ URLEncoder.encode(fName, "UTF-8");
data += "&" + URLEncoder.encode("location", "UTF-8") + "="
+ URLEncoder.encode(location, "UTF-8");
- // Send data
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ String result = getResponse(data, "getFileContent.php");
+
+ if (location.equalsIgnoreCase("template")) {
+ templates.put(fName, result);
+ } else {
+ contents.put(fName, result);
+ }
+
+ lastCommunicationTime = System.currentTimeMillis();
+ return result;
+ }
+
+ /**
+ * @param fName
+ * File name
+ * @param location
+ * Location name = template | course
+ * @return
+ */
+ public boolean deleteFile(String fName) {
+ System.out.println("Deleting file (fName=" + fName + ")...");
+
+ // Construct data
+ String data;
+ try {
+ data = URLEncoder.encode("fName", "UTF-8") + "="
+ + URLEncoder.encode(fName, "UTF-8");
+
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ String result = getResponse(data, "deleteFile.php");
+
+ System.out.println("deleting result: " + result);
+
+ lastCommunicationTime = System.currentTimeMillis();
+ return true;
+ }
+
+ private String getResponse(String data, String action) {
+ String result = "";
+ try {
URL url = new URL(Settings.getInstance().getServiceLocation()
- + "getFileContent.php");
+ + action);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
@@ -109,15 +165,9 @@
rd.close();
} catch (Exception e) {
e.printStackTrace();
+ return null;
}
- if (location.equalsIgnoreCase("template")) {
- templates.put(fName, result);
- } else {
- contents.put(fName, result);
- }
-
- lastCommunicationTime = System.currentTimeMillis();
return result;
}
@@ -132,48 +182,27 @@
contents.put(fName, content);
- String result = "";
+ String data = "";
try {
// Construct data
- String data = URLEncoder.encode("fName", "UTF-8") + "="
+ data = URLEncoder.encode("fName", "UTF-8") + "="
+ URLEncoder.encode(fName, "UTF-8");
data += "&" + URLEncoder.encode("content", "UTF-8") + "="
+ URLEncoder.encode(content, "UTF-8");
-
- // Send data
- URL url = new URL(Settings.getInstance().getServiceLocation()
- + "setFileContent.php");
-
- URLConnection conn = url.openConnection();
- conn.setDoOutput(true);
-
- OutputStreamWriter wr = new OutputStreamWriter(conn
- .getOutputStream());
-
- wr.write(data);
- wr.flush();
-
- // Get the response
- BufferedReader rd = new BufferedReader(new InputStreamReader(conn
- .getInputStream()));
- String line;
- while ((line = rd.readLine()) != null) {
- result += line + "\n";
- }
- wr.close();
- rd.close();
} catch (Exception e) {
e.printStackTrace();
}
+ getResponse(data, "setFileContent.php");
+
lastCommunicationTime = System.currentTimeMillis();
}
protected void nop() {
lastCommunicationTime = System.currentTimeMillis();
System.out.println("Nop");
-
- getFileContent("LectureModel.conf", "template");
+
+ getFileContent("ChapterModel.conf", "template", false);
}
protected Thread nopThread;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 10:09:07
|
Revision: 119
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=119&view=rev
Author: sem62
Date: 2008-05-10 03:09:14 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* Autosave process modification: AvtoSave called after last saving or opening with some interval, but not every interval milliseconds.
* Not calling process. Simply getting LectureModel.conf from template with some interval after last communicating.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java
WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 09:32:21 UTC (rev 118)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 10:09:14 UTC (rev 119)
@@ -6,15 +6,18 @@
public class AutoSaveThread implements Runnable {
+ private long nextSaveAt = 0;
+
@Override
public void run() {
+ reset();
+
try {
while (true) {
- Thread.sleep(Settings.getInstance().getAutoSaveInterval());
- try {
- WebEditor.instance.saveManifest();
- } catch (TestDocException e) {
- System.out.println("WARNING: Can't save manifest.");
+ Thread.sleep(5000);
+ if (System.currentTimeMillis() > nextSaveAt){
+ processSave();
+ reset();
}
}
} catch (InterruptedException e) {
@@ -23,4 +26,16 @@
}
}
+ public void reset() {
+ nextSaveAt = System.currentTimeMillis() + Settings.getInstance().getAutoSaveInterval();
+ }
+
+ private void processSave() {
+ try {
+ WebEditor.instance.saveManifest();
+ } catch (TestDocException e) {
+ System.out.println("WARNING: Can't save manifest.");
+ }
+ }
+
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 09:32:21 UTC (rev 118)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 10:09:14 UTC (rev 119)
@@ -7,6 +7,7 @@
private String resourceLocation = "http://127.0.0.1/sem/WebEditor/";
private long autoSaveInterval = 5 * 60 * 1000;
+ private long nopInterval = 60 * 1000;
public static Settings obj = null;
@@ -58,4 +59,12 @@
public void setAutoSaveInterval(long autoSaveInterval) {
this.autoSaveInterval = autoSaveInterval;
}
+
+ public long getNopInterval() {
+ return nopInterval;
+ }
+
+ public void setNopInterval(long nopInterval) {
+ this.nopInterval = nopInterval;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 09:32:21 UTC (rev 118)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 10:09:14 UTC (rev 119)
@@ -14,43 +14,68 @@
private HashMap<String, String> templates;
private HashMap<String, String> contents;
-
+ private long lastCommunicationTime = 0;
+
private static WebEditorServiceClient obj = null;
-
- private WebEditorServiceClient(){
- templates = new HashMap<String, String>();
- contents = new HashMap<String, String>();
+
+ private WebEditorServiceClient() {
+ templates = new HashMap<String, String>();
+ contents = new HashMap<String, String>();
+
+ nopThread = new Thread(new Runnable() {
+ public void run() {
+ while (true) {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ // do nothing.
+ }
+
+ long lastCommunication = WebEditorServiceClient
+ .getInstance().getLastCommunicationTime();
+
+ if (System.currentTimeMillis() - lastCommunication > Settings.getInstance().getNopInterval()){
+ WebEditorServiceClient.getInstance().nop();
+ }
+ }
+ }
+ });
+ nopThread.start();
}
-
- public static WebEditorServiceClient getInstance(){
- if (obj == null){
+
+ public static WebEditorServiceClient getInstance() {
+ if (obj == null) {
obj = new WebEditorServiceClient();
}
-
+
return obj;
}
+
/**
- * @param fName File name
- * @param location Location name = template | course
+ * @param fName
+ * File name
+ * @param location
+ * Location name = template | course
* @return
*/
public String getFileContent(String fName, String location) {
- System.out.println("Getting file's content (fName=" + fName + "; location=" + location + ")...");
-
- if (location.equalsIgnoreCase("template")){
+ System.out.println("Getting file's content (fName=" + fName
+ + "; location=" + location + ")...");
+
+ if (location.equalsIgnoreCase("template")) {
String template = templates.get(fName);
- if (template != null){
+ if (template != null) {
System.out.println("Founded in templates hash.");
return template;
}
} else {
String content = contents.get(fName);
- if (content != null){
+ if (content != null) {
System.out.println("Founded in contents hash.");
return content;
}
}
-
+
String result = "";
try {
// Construct data
@@ -58,18 +83,18 @@
+ URLEncoder.encode(fName, "UTF-8");
data += "&" + URLEncoder.encode("location", "UTF-8") + "="
- + URLEncoder.encode(location, "UTF-8");
+ + URLEncoder.encode(location, "UTF-8");
// Send data
URL url = new URL(Settings.getInstance().getServiceLocation()
+ "getFileContent.php");
-
+
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
-
+
OutputStreamWriter wr = new OutputStreamWriter(conn
.getOutputStream());
-
+
wr.write(data);
wr.flush();
@@ -85,23 +110,24 @@
} catch (Exception e) {
e.printStackTrace();
}
-
- if (location.equalsIgnoreCase("template")){
+
+ if (location.equalsIgnoreCase("template")) {
templates.put(fName, result);
} else {
contents.put(fName, result);
}
-
+
+ lastCommunicationTime = System.currentTimeMillis();
return result;
}
public void setFileContent(String fName, String content) {
System.out.println("Setting file's content (fName=" + fName + ")...");
-
+
String hashedContent = contents.get(fName);
- if (content.equals(hashedContent)){
+ if (content.equals(hashedContent)) {
System.out.println("Not modified.");
- return ;
+ return;
}
contents.put(fName, content);
@@ -112,18 +138,18 @@
String data = URLEncoder.encode("fName", "UTF-8") + "="
+ URLEncoder.encode(fName, "UTF-8");
data += "&" + URLEncoder.encode("content", "UTF-8") + "="
- + URLEncoder.encode(content, "UTF-8");
+ + URLEncoder.encode(content, "UTF-8");
// Send data
URL url = new URL(Settings.getInstance().getServiceLocation()
+ "setFileContent.php");
-
+
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
-
+
OutputStreamWriter wr = new OutputStreamWriter(conn
.getOutputStream());
-
+
wr.write(data);
wr.flush();
@@ -139,5 +165,24 @@
} catch (Exception e) {
e.printStackTrace();
}
+
+ lastCommunicationTime = System.currentTimeMillis();
}
+
+ protected void nop() {
+ lastCommunicationTime = System.currentTimeMillis();
+ System.out.println("Nop");
+
+ getFileContent("LectureModel.conf", "template");
+ }
+
+ protected Thread nopThread;
+
+ public long getLastCommunicationTime() {
+ return lastCommunicationTime;
+ }
+
+ public void setLastCommunicationTime(long lastCommunicationTime) {
+ this.lastCommunicationTime = lastCommunicationTime;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:32:21 UTC (rev 118)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 10:09:14 UTC (rev 119)
@@ -49,6 +49,10 @@
protected JMenuItem saveMenuItem = null;
+ private Thread threadForAautoSave;
+
+ private AutoSaveThread autoSaveThread;
+
@Override
public void actionPerformed(ActionEvent arg0) {
try {
@@ -66,12 +70,18 @@
public void saveManifest() throws TestDocException {
Parser parser = new Parser();
+
+ autoSaveThread.reset();
+
WebEditorServiceClient.getInstance().setFileContent("imsmanifest.xml",
parser.toXML(manifest));
}
public void openManifest() throws TestDocException {
Parser parser = new Parser();
+
+ autoSaveThread.reset();
+
manifest = parser.fromXML(WebEditorServiceClient.getInstance()
.getFileContent("imsmanifest.xml", "course"));
TreeDataModel.initInstance(manifest);
@@ -86,26 +96,14 @@
@Override
public void init() {
- String paramCourseLocation = getParameter("courseLocation");
- String paramServiceLocation = getParameter("serviceLocation");
- String paramTemplateLocation = getParameter("templateLocation");
- String paramResourceLocation = getParameter("resourceLocation");
+ parseParameter();
- if (paramCourseLocation != null){
- Settings.getInstance().setCourseLocation(paramCourseLocation);
- }
- if (paramServiceLocation != null){
- Settings.getInstance().setServiceLocation(paramServiceLocation);
- }
- if (paramTemplateLocation != null){
- Settings.getInstance().setTemplateLocation(paramTemplateLocation);
- }
- if (paramResourceLocation != null){
- Settings.getInstance().setResourceLocation(paramResourceLocation);
- }
-
instance = this;
+ autoSaveThread = new AutoSaveThread();
+ threadForAautoSave = new Thread(autoSaveThread);
+ threadForAautoSave.start();
+
initMenu();
ItemModels.clear();
ItemModels.registerModel(new LectureModel());
@@ -121,10 +119,6 @@
CreateNewCourse();
}
- Thread autoSaveThread = new Thread(new AutoSaveThread());
-
- autoSaveThread.start();
-
tree = new JTree(TreeDataModel.getInstance());
this.add(new JScrollPane(tree));
@@ -133,6 +127,26 @@
tree.addMouseListener(new CourseTreePopupMenu());
}
+ private void parseParameter() {
+ String paramCourseLocation = getParameter("courseLocation");
+ String paramServiceLocation = getParameter("serviceLocation");
+ String paramTemplateLocation = getParameter("templateLocation");
+ String paramResourceLocation = getParameter("resourceLocation");
+
+ if (paramCourseLocation != null){
+ Settings.getInstance().setCourseLocation(paramCourseLocation);
+ }
+ if (paramServiceLocation != null){
+ Settings.getInstance().setServiceLocation(paramServiceLocation);
+ }
+ if (paramTemplateLocation != null){
+ Settings.getInstance().setTemplateLocation(paramTemplateLocation);
+ }
+ if (paramResourceLocation != null){
+ Settings.getInstance().setResourceLocation(paramResourceLocation);
+ }
+ }
+
private void CreateNewCourse() {
try {
manifest = ManifestFactory.createManifest();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 09:32:21
|
Revision: 118
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=118&view=rev
Author: sem62
Date: 2008-05-10 02:32:21 -0700 (Sat, 10 May 2008)
Log Message:
-----------
removed creating resource from chapter model
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 09:19:03 UTC (rev 117)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 09:32:21 UTC (rev 118)
@@ -139,4 +139,9 @@
// do nothing.
// Chapter currently haven't resource file
}
+
+ @Override
+ public boolean modelHasResource() {
+ return false;
+ }
}
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:19:03 UTC (rev 117)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:32:21 UTC (rev 118)
@@ -74,6 +74,8 @@
public abstract void ConfigureItem(TreeItem item);
protected String createNewResource() {
+ if (modelHasResource()){
+
Resource resource = new Resource();
resource.identifier = this.getClass().getSimpleName() + "_res_"
+ UUID.randomUUID().toString();
@@ -86,8 +88,15 @@
WebEditor.instance.getManifest().resources.resources.add(resource);
return resource.identifier;
+ }
+
+ return null;
}
+ public boolean modelHasResource() {
+ return true;
+ }
+
public ItemData getItemData(TreeItem anItem) {
if (questionsData.containsKey(anItem)) {
return questionsData.get(anItem);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 09:19:01
|
Revision: 117
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=117&view=rev
Author: sem62
Date: 2008-05-10 02:19:03 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Fixed bug:
Sometimes, PrimaryObjective in Summary page was null.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 09:16:37 UTC (rev 116)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 09:19:03 UTC (rev 117)
@@ -3,11 +3,8 @@
import java.util.ArrayList;
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.Objective;
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives;
import edu.lnu.FireFly.FFManifest.parser.TestDocException;
@@ -75,7 +72,8 @@
ArrayList<String> objectiveIds = getShowingItemsIds(root);
- Objectives objectives = getObjectivesInstance(summaryPage);
+ ItemModel model = ItemModels.getModelFromItem(summaryPage);
+ Objectives objectives = model.getObjectivesInstance(summaryPage);
objectives.objective = new ArrayList<Objective>();
for (int i = 0; i < objectiveIds.size(); i++) {
@@ -89,16 +87,6 @@
}
}
- private Objectives getObjectivesInstance(Item summaryPage) {
- Sequencing sequencing = getSequencingInstance(summaryPage);
-
- if (sequencing.objectives == null) {
- sequencing.objectives = ManifestFactory.createObjectives();
- }
-
- return sequencing.objectives;
- }
-
private ArrayList<String> getShowingItemsIds(TreeItem root) {
ArrayList<String> result = new ArrayList<String>();
@@ -106,7 +94,7 @@
TreeItem item = root.getChild(i);
ItemModel model = ItemModels.getModelFromItem(item);
if (model.getShowOnSummaryPage(item)) {
- result.add(getItemId(item));
+ result.add(model.getIdentifier(item));
}
for (int j = 0; j < item.getChildCount(); j++) {
@@ -114,7 +102,7 @@
ItemModel childModel = ItemModels.getModelFromItem(child);
if (childModel.getShowOnSummaryPage(child)) {
- result.add(getItemId(child));
+ result.add(model.getIdentifier(child));
result.addAll(getShowingItemsIds(child));
}
}
@@ -124,7 +112,9 @@
}
private void recursivlyUpdateObjectives(TreeItem root) {
- updateItemObjectives(root);
+
+ ItemModel model = ItemModels.getModelFromItem(root);
+ model.updateItemObjectives(root);
for (int i = 0; i < root.getChildCount(); i++) {
recursivlyUpdateObjectives(root.getChild(i));
@@ -227,59 +217,4 @@
}
}
- private Sequencing getSequencingInstance(TreeItem anItem) {
- Sequencing sequencing = null;
-
- if (anItem.getClass() == Organization.class) {
- if (((Organization) anItem).sequencing == null) {
- ((Organization) anItem).sequencing = ManifestFactory
- .createSequencing();
- }
-
- sequencing = ((Organization) anItem).sequencing;
- }
-
- if (anItem.getClass() == Item.class) {
- if (((Item) anItem).sequencing == null) {
- ((Item) anItem).sequencing = ManifestFactory.createSequencing();
- }
-
- sequencing = ((Item) anItem).sequencing;
- }
- return sequencing;
- }
-
- private void updateItemObjectives(TreeItem anItem) {
- Sequencing sequencing = getSequencingInstance(anItem);
-
- if (sequencing.objectives == null) {
- sequencing.objectives = ManifestFactory.createObjectives();
- }
-
- sequencing.objectives.primaryObjective = ManifestFactory
- .createObjective();
- sequencing.objectives.primaryObjective.objectiveID = getItemId(anItem);
- sequencing.objectives.primaryObjective.satisfiedByMeasure = true;
-
- MapInfo mapInfo = ManifestFactory.createMapInfo();
- mapInfo.writeNormalizedMeasure = true;
- mapInfo.writeSatisfiedStatus = true;
- mapInfo.targetObjectiveID = sequencing.objectives.primaryObjective.objectiveID;
-
- sequencing.objectives.primaryObjective.mapInfo = ManifestFactory
- .createMapInfos();
- sequencing.objectives.primaryObjective.mapInfo.add(mapInfo);
- }
-
- private String getItemId(TreeItem anItem) {
- if (anItem.getClass() == Item.class) {
- return ((Item) anItem).identifier;
- }
-
- if (anItem.getClass() == Organization.class) {
- return ((Organization) anItem).identifier;
- }
-
- return null;
- }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:16:37 UTC (rev 116)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 09:19:03 UTC (rev 117)
@@ -10,8 +10,12 @@
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.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
+import edu.lnu.FireFly.WebEditor.Data.ManifestFactory;
import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel;
public abstract class ItemModel {
@@ -161,5 +165,60 @@
return null;
}
+ public Objectives getObjectivesInstance(Item summaryPage) {
+ ItemModel model = ItemModels.getModelFromItem(summaryPage);
+ Sequencing sequencing = model.getSequencingInstance(summaryPage);
+
+ if (sequencing.objectives == null) {
+ sequencing.objectives = ManifestFactory.createObjectives();
+ }
+
+ return sequencing.objectives;
+ }
+
+ public void updateItemObjectives(TreeItem anItem) {
+ Sequencing sequencing = getSequencingInstance(anItem);
+
+ if (sequencing.objectives == null) {
+ sequencing.objectives = ManifestFactory.createObjectives();
+ }
+
+ sequencing.objectives.primaryObjective = ManifestFactory
+ .createObjective();
+ sequencing.objectives.primaryObjective.objectiveID = getIdentifier(anItem);
+ sequencing.objectives.primaryObjective.satisfiedByMeasure = true;
+
+ MapInfo mapInfo = ManifestFactory.createMapInfo();
+ mapInfo.writeNormalizedMeasure = true;
+ mapInfo.writeSatisfiedStatus = true;
+ mapInfo.targetObjectiveID = sequencing.objectives.primaryObjective.objectiveID;
+
+ sequencing.objectives.primaryObjective.mapInfo = ManifestFactory
+ .createMapInfos();
+ sequencing.objectives.primaryObjective.mapInfo.add(mapInfo);
+ }
+
+ private Sequencing getSequencingInstance(TreeItem anItem) {
+ Sequencing sequencing = null;
+
+ if (anItem.getClass() == Organization.class) {
+ if (((Organization) anItem).sequencing == null) {
+ ((Organization) anItem).sequencing = ManifestFactory
+ .createSequencing();
+ }
+
+ sequencing = ((Organization) anItem).sequencing;
+ }
+
+ if (anItem.getClass() == Item.class) {
+ if (((Item) anItem).sequencing == null) {
+ ((Item) anItem).sequencing = ManifestFactory.createSequencing();
+ }
+
+ sequencing = ((Item) anItem).sequencing;
+ }
+ return sequencing;
+ }
+
protected abstract ItemData createItemDataInstance();
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-10 09:16:37 UTC (rev 116)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-10 09:19:03 UTC (rev 117)
@@ -2,8 +2,8 @@
import java.util.ArrayList;
+import edu.lnu.FireFly.FFManifest.Organization;
import edu.lnu.FireFly.FFManifest.TreeItem;
-import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
public class ItemModels {
@@ -38,21 +38,27 @@
return null;
}
- public static void initializeAllItemDatas(TreeItem root) {
+ public static void synchronizeAllItemDatas(TreeItem root) {
int childsCount = root.getChildCount();
+ if (root.getClass() == Organization.class) {
+ // this is a root of tree.
+ synchronizeItemDatas(root, false);
+ }
+
for (int i = 0; i < childsCount; i++) {
- TreeItem item = root.getChild(i);
- ItemModel model = ItemModels.getModelFromItem(item);
+ synchronizeItemDatas(root.getChild(i), true);
+ }
+ }
- if (item.getClass() == Item.class) {
- model.synchronizeItemWithResource((Item)item, "course");
- }
+ private static void synchronizeItemDatas(TreeItem item, boolean recursivly) {
+ ItemModel model = ItemModels.getModelFromItem(item);
- if (model.getClass() == ChapterModel.class
- || model.getClass() == OrganizationModel.class) {
- initializeAllItemDatas(item);
- }
+ model.synchronizeItemWithResource(item, "course");
+
+ if ((model.getClass() == ChapterModel.class || model.getClass() == OrganizationModel.class)
+ && recursivly) {
+ synchronizeAllItemDatas(item);
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:16:37 UTC (rev 116)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 09:19:03 UTC (rev 117)
@@ -76,7 +76,7 @@
.getFileContent("imsmanifest.xml", "course"));
TreeDataModel.initInstance(manifest);
- ItemModels.initializeAllItemDatas(manifest.getRoot());
+ ItemModels.synchronizeAllItemDatas(manifest.getRoot());
SummaryPageManager.getInstance().setManifest(manifest);
}
@@ -137,7 +137,7 @@
try {
manifest = ManifestFactory.createManifest();
SummaryPageManager.getInstance().setManifest(manifest);
- ItemModels.initializeAllItemDatas(manifest.getRoot());
+ ItemModels.synchronizeAllItemDatas(manifest.getRoot());
TreeDataModel.initInstance(manifest);
TreeItem root = manifest.getRoot();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 09:16:31
|
Revision: 116
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=116&view=rev
Author: sem62
Date: 2008-05-10 02:16:37 -0700 (Sat, 10 May 2008)
Log Message:
-----------
Added throwing exception at generating xml when globalObjectives is null in Objectives instance.
Modified Paths:
--------------
FFManifest/src/FFManifest.jardesc
FFManifest/src/edu/lnu/FireFly/FFManifest/item/sequencing/objectives/Objectives.java
Modified: FFManifest/src/FFManifest.jardesc
===================================================================
--- FFManifest/src/FFManifest.jardesc 2008-05-10 08:20:21 UTC (rev 115)
+++ FFManifest/src/FFManifest.jardesc 2008-05-10 09:16:37 UTC (rev 116)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="WINDOWS-1251" standalone="no"?>
<jardesc>
- <jar path="E:/ACMContester/out/web/WebEditor/FFManifest.jar"/>
+ <jar path="s:/WebEditor/FFManifest.jar"/>
<options buildIfNeeded="true" compress="true" descriptionLocation="/FFManifest/src/FFManifest.jardesc" exportErrors="false" exportWarnings="true" includeDirectoryEntries="false" overwrite="true" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
<storedRefactorings deprecationInfo="true" structuralOnly="false"/>
<selectedProjects/>
Modified: FFManifest/src/edu/lnu/FireFly/FFManifest/item/sequencing/objectives/Objectives.java
===================================================================
--- FFManifest/src/edu/lnu/FireFly/FFManifest/item/sequencing/objectives/Objectives.java 2008-05-10 08:20:21 UTC (rev 115)
+++ FFManifest/src/edu/lnu/FireFly/FFManifest/item/sequencing/objectives/Objectives.java 2008-05-10 09:16:37 UTC (rev 116)
@@ -39,10 +39,14 @@
public Element asXmlElement() throws TestDocException {
Element result = DocumentHelper.createElement("imsss:objectives");
- Element primaryObjectiveElement = primaryObjective.asXmlElement();
- primaryObjectiveElement.setName("primaryObjective");
- result.add(primaryObjectiveElement);
-
+ if (primaryObjective != null) {
+ Element primaryObjectiveElement = primaryObjective.asXmlElement();
+ primaryObjectiveElement.setName("primaryObjective");
+ result.add(primaryObjectiveElement);
+ } else {
+ throw new TestDocException("PrimaryObjective is mandatory element in objective, but it is absent.");
+ }
+
for (int i = 0; i < objective.size(); i++) {
result.add(objective.get(i).asXmlElement());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-10 08:20:20
|
Revision: 115
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=115&view=rev
Author: sem62
Date: 2008-05-10 01:20:21 -0700 (Sat, 10 May 2008)
Log Message:
-----------
* Added auto save every Settings.autoSaveInterval milliseconds.
* now updateItemResource is one for all models
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.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/SimpleQuestionData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Added Paths:
-----------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java
Added: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/AutoSaveThread.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -0,0 +1,26 @@
+package edu.lnu.FireFly.WebEditor.Data;
+
+import edu.lnu.FireFly.FFManifest.parser.TestDocException;
+import edu.lnu.FireFly.WebEditor.Settings;
+import edu.lnu.FireFly.WebEditor.WebEditor;
+
+public class AutoSaveThread implements Runnable {
+
+ @Override
+ public void run() {
+ try {
+ while (true) {
+ Thread.sleep(Settings.getInstance().getAutoSaveInterval());
+ try {
+ WebEditor.instance.saveManifest();
+ } catch (TestDocException e) {
+ System.out.println("WARNING: Can't save manifest.");
+ }
+ }
+ } catch (InterruptedException e) {
+ // If interrupt sleepping.
+ // Do nothing
+ }
+ }
+
+}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -64,7 +64,7 @@
insertAllNeededObjectivesIntoSummaryPage(root);
- ((SummaryPageModel) model).updateItemResource(summaryPage, true);
+ ((SummaryPageModel) model).updateItemResource(summaryPage, false);
} else {
deleteSummaryPageIfExists(root);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -3,6 +3,7 @@
import java.io.Reader;
import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
@@ -11,6 +12,22 @@
public class ChapterItemData extends ItemData {
private boolean showSummaryPage = true;
+ @Override
+ public String marshal(TreeItem anItem) {
+ Document doc = DocumentHelper.createDocument();
+ Element root = doc.addElement("ChapterItemData");
+ root.addElement("ShowSummaryPage").setText(
+ String.valueOf(isShowSummaryPage()));
+
+ root.addElement("ShowOnSummaryPage").setText(
+ String.valueOf(getShowOnSummaryPage()));
+
+ root.addElement("Configuration").setText(
+ String.valueOf(getConfiguration()));
+
+ return doc.asXML();
+ }
+
private boolean flow;
private boolean choice;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -1,40 +1,13 @@
package edu.lnu.FireFly.WebEditor.ItemModels.Chapter;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
-import edu.lnu.FireFly.FFManifest.Organization;
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
-import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
-import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class ChapterModel extends ResourcedItemModel {
- @Override
- protected String getDefaultTitle() {
- return "New chapter";
- }
-
- @Override
- public boolean getLimitConditionsMenuVisible() {
- return false;
- }
-
- @Override
- public boolean getShowOnSummaryPageMenuVisible() {
- return true;
- }
-
- @Override
- public boolean getShowSummaryPageMenuVisible() {
- return true;
- }
-
public ChapterModel() {
super();
modelName = "ChapterModel";
@@ -60,6 +33,35 @@
TreeDataModel.getInstance().treeNodesChanged(item);
}
+ @Override
+ protected ItemData createItemDataInstance() {
+ return new ChapterItemData();
+ }
+
+ @Override
+ protected String getConfFileName(TreeItem anItem) {
+ return getIdentifier(anItem);
+ }
+
+ private ChapterItemData getData(TreeItem anItem) {
+ return (ChapterItemData) getItemData(anItem);
+ }
+
+ @Override
+ protected String getDefaultTitle() {
+ return "New chapter";
+ }
+
+ @Override
+ public boolean getLimitConditionsMenuVisible() {
+ return false;
+ }
+
+ @Override
+ public boolean getShowOnSummaryPageMenuVisible() {
+ return true;
+ }
+
public boolean getShowSummaryPage(TreeItem anItem) {
ChapterItemData itemData = getData(anItem);
@@ -74,6 +76,11 @@
}
@Override
+ public boolean getShowSummaryPageMenuVisible() {
+ return true;
+ }
+
+ @Override
public boolean isApplaingForItem(TreeItem treeItem) {
if (treeItem.getClass() != Item.class) {
return false;
@@ -127,45 +134,9 @@
}
}
- private ChapterItemData getData(TreeItem anItem) {
- return (ChapterItemData) getItemData(anItem);
- }
-
@Override
- public boolean updateItemResource(TreeItem anItem,
- boolean updateSummaryPages) {
- ChapterItemData itemData = getData(anItem);
-
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement(modelName);
- root.addElement("ShowSummaryPage").setText(
- String.valueOf(itemData.isShowSummaryPage()));
-
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(itemData.getShowOnSummaryPage()));
-
- root.addElement("Configuration").setText(
- String.valueOf(itemData.getConfiguration()));
-
- String identifier = "unknown";
- if (anItem.getClass() == Organization.class) {
- identifier = ((Organization) anItem).identifier;
- } else {
- identifier = ((Item) anItem).identifier;
- }
-
- WebEditorServiceClient.getInstance().setFileContent(
- identifier + ".conf", doc.asXML());
-
- if (updateSummaryPages) {
- SummaryPageManager.getInstance().updateSummaryPages();
- }
-
- return true;
+ protected void updateResourceFile(TreeItem anItem) {
+ // do nothing.
+ // Chapter currently haven't resource file
}
-
- @Override
- protected ItemData createItemDataInstance() {
- return new ChapterItemData();
- }
}
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemData.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -16,4 +16,5 @@
}
public abstract boolean unmarshal(Reader res, TreeItem anItem);
+ public abstract String marshal(TreeItem anItem);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -84,9 +84,9 @@
return resource.identifier;
}
- public ItemData getItemData(TreeItem item) {
- if (questionsData.containsKey(item)) {
- return questionsData.get(item);
+ public ItemData getItemData(TreeItem anItem) {
+ if (questionsData.containsKey(anItem)) {
+ return questionsData.get(anItem);
}
return null;
@@ -141,6 +141,14 @@
public abstract boolean getShowSummaryPageMenuVisible();
+ public final String getIdentifierRef(TreeItem anItem) {
+ if (anItem.getClass() == Item.class){
+ return ((Item)anItem).identifierref;
+ }
+
+ return null;
+ }
+
public final String getIdentifier(TreeItem anItem) {
if (anItem.getClass() == Item.class){
return ((Item)anItem).identifier;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureData.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -3,6 +3,7 @@
import java.io.Reader;
import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
@@ -52,4 +53,17 @@
return true;
}
+
+ @Override
+ public String marshal(TreeItem anItem) {
+ Document doc = DocumentHelper.createDocument();
+ Element root = doc.addElement("LectureData");
+ root.addElement("caption").setText(getCaption());
+ root.addElement("content").setText(getContent());
+
+ root.addElement("ShowOnSummaryPage").setText(
+ String.valueOf(getShowOnSummaryPage()));
+
+ return doc.asXML();
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -1,20 +1,14 @@
package edu.lnu.FireFly.WebEditor.ItemModels.Lecture;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.FFManifest.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
-import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.LecturePropertiestsDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Template;
-import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class LectureModel extends ResourcedItemModel {
@Override
@@ -69,8 +63,7 @@
}
@Override
- public boolean updateItemResource(TreeItem anItem,
- boolean updateSummaryPages) {
+ protected void updateResourceFile(TreeItem anItem) {
Resource resource = WebEditor.instance.getManifest().resources
.findResourceByIdentifier(((Item) anItem).identifierref);
@@ -82,21 +75,6 @@
template.setProperty("content", itemData.getContent());
template.updateResource();
-
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement(modelName);
- root.addElement("caption").setText(itemData.getCaption());
- root.addElement("content").setText(itemData.getContent());
-
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(itemData.getShowOnSummaryPage()));
-
- WebEditorServiceClient.getInstance().setFileContent(
- resource.identifier + ".conf", doc.asXML());
-
- SummaryPageManager.getInstance().updateSummaryPages();
-
- return true;
}
@Override
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -5,6 +5,9 @@
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
+import edu.lnu.FireFly.FFManifest.resource.Resource;
+import edu.lnu.FireFly.WebEditor.WebEditor;
+import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
@@ -88,7 +91,7 @@
public final boolean synchronizeItemWithResource(TreeItem anItem, String location)
{
- String res = loadResource(location, getIdentifier(anItem));
+ String res = loadResource(location, getConfFileName(anItem));
if (res == null || res.trim().equals("")) {
return false;
@@ -106,6 +109,13 @@
return true;
}
+ protected String getConfFileName(TreeItem anItem) {
+ Resource resource = WebEditor.instance.getManifest().resources
+ .findResourceByIdentifier(getIdentifierRef(anItem));
+
+ return resource.identifier;
+ }
+
protected final void initializeDataForItem(Item anItem){
ItemData itemData = createItemDataInstance();
@@ -115,4 +125,22 @@
setItemData(anItem, itemData);
}
+
+ protected abstract void updateResourceFile(TreeItem anItem);
+
+ public boolean updateItemResource(TreeItem anItem,
+ boolean updateSummaryPages) {
+
+ updateResourceFile(anItem);
+ ItemData itemData = getItemData(anItem);
+
+ WebEditorServiceClient.getInstance().setFileContent(
+ getConfFileName(anItem) + ".conf", itemData.marshal(anItem));
+
+ if (updateSummaryPages) {
+ SummaryPageManager.getInstance().updateSummaryPages();
+ }
+
+ return true;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionData.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -4,6 +4,7 @@
import java.util.Iterator;
import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
@@ -11,6 +12,36 @@
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class SimpleQuestionData extends ItemData {
+ @Override
+ public String marshal(TreeItem anItem) {
+ 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<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 doc.asXML();
+ }
+
private SimpleQuestionAnswersDataModel answers = new SimpleQuestionAnswersDataModel();
private String caption = "";
private String question = "";
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -2,21 +2,15 @@
import java.util.Iterator;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.FFManifest.resource.Resource;
import edu.lnu.FireFly.WebEditor.WebEditor;
-import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.SimpleQuestionPropertiestsDlg;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Template;
-import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class SimpleQuestionModel extends ResourcedItemModel {
@Override
@@ -100,8 +94,7 @@
}
@Override
- public boolean updateItemResource(TreeItem anItem,
- boolean updateSummaryPages) {
+ protected void updateResourceFile(TreeItem anItem) {
Resource resource = WebEditor.instance.getManifest().resources
.findResourceByIdentifier(((Item) anItem).identifierref);
@@ -125,38 +118,6 @@
template.setProperty("answers", answers);
template.updateResource();
-
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement(modelName);
- root.addElement("caption").setText(itemData.getCaption());
- root.addElement("question").setText(itemData.getQuestion());
-
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(itemData.getShowOnSummaryPage()));
-
- Element ans = root.addElement("answers");
-
- ans.addAttribute("singleVariant", String.valueOf(itemData.getAnswers()
- .getSingleVariant()));
-
- iter = itemData.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());
- }
-
- WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf",
- doc.asXML());
-
- SummaryPageManager.getInstance().updateSummaryPages();
-
- return true;
}
@Override
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageData.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -2,12 +2,23 @@
import java.io.Reader;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
public class SummaryPageData extends ItemData {
@Override
+ public String marshal(TreeItem anItem) {
+ Document doc = DocumentHelper.createDocument();
+ doc.addElement(this.getClass().getSimpleName());
+
+ return doc.asXML();
+ }
+
+ @Override
public boolean unmarshal(Reader res, TreeItem anItem) {
// TODO Auto-generated method stub
return true;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -1,8 +1,5 @@
package edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel;
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.FFManifest.resource.Resource;
@@ -16,7 +13,6 @@
import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel;
-import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
public class SummaryPageModel extends ResourcedItemModel {
@Override
@@ -38,40 +34,13 @@
modelName = "SummaryPageModel";
}
- @Override
- public boolean updateItemResource(TreeItem anItem,
- boolean updateSummaryPages) {
- Resource resource = WebEditor.instance.getManifest().resources
- .findResourceByIdentifier(((Item) anItem).identifierref);
-
- Template template = new Template(resource.getFullHref(), this);
-
- String content = "<script type=\"text/javascript\">"
- + getSummaryPageContent(anItem.getParent()) + "</script>";
-
- template.setProperty("content", content);
- template.setProperty("title", anItem.getTitle());
-
- template.updateResource();
-
- Document doc = DocumentHelper.createDocument();
-
- /* Element root = */doc.addElement(this.getClass().getSimpleName());
- // root.addElement("content").setText(getData(item).getContent());
-
- WebEditorServiceClient.getInstance().setFileContent(resource.identifier + ".conf",
- doc.asXML());
-
- return true;
- }
-
private String getSummaryPageContent(TreeItem parent) {
int childsCount = parent.getChildCount();
ItemModel model = ItemModels.getModelFromItem(parent);
String res = "openBlock(\"" + parent.getTitle() + "\", \""
- + model.getModelName() + "\", \""
- + model.getIdentifier(parent) + "\");\n";
+ + model.getModelName() + "\", \"" + model.getIdentifier(parent)
+ + "\");\n";
for (int i = 0; i < childsCount; i++) {
TreeItem item = parent.getChild(i);
@@ -141,4 +110,20 @@
return new SummaryPageData();
}
+ @Override
+ protected void updateResourceFile(TreeItem anItem) {
+ Resource resource = WebEditor.instance.getManifest().resources
+ .findResourceByIdentifier(((Item) anItem).identifierref);
+
+ Template template = new Template(resource.getFullHref(), this);
+
+ String content = "<script type=\"text/javascript\">"
+ + getSummaryPageContent(anItem.getParent()) + "</script>";
+
+ template.setProperty("content", content);
+ template.setProperty("title", anItem.getTitle());
+
+ template.updateResource();
+ }
+
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Settings.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -1,11 +1,13 @@
package edu.lnu.FireFly.WebEditor;
public class Settings {
- private String courseLocation = "";
- private String templateLocation = "";
- private String serviceLocation = "";
- private String resourceLocation = "";
+ private String courseLocation = "http://127.0.0.1/sem/course/";
+ private String templateLocation = "http://127.0.0.1/sem/WebEditor/template/";
+ private String serviceLocation = "http://127.0.0.1/sem/WebEditor/service/";
+ private String resourceLocation = "http://127.0.0.1/sem/WebEditor/";
+ private long autoSaveInterval = 5 * 60 * 1000;
+
public static Settings obj = null;
public static Settings getInstance(){
@@ -48,4 +50,12 @@
public void setResourceLocation(String resourceLocation) {
this.resourceLocation = resourceLocation;
}
+
+ public long getAutoSaveInterval() {
+ return autoSaveInterval;
+ }
+
+ public void setAutoSaveInterval(long autoSaveInterval) {
+ this.autoSaveInterval = autoSaveInterval;
+ }
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -92,7 +92,6 @@
contents.put(fName, result);
}
- System.out.print("result: " + result);
return result;
}
@@ -140,8 +139,5 @@
} catch (Exception e) {
e.printStackTrace();
}
-
- System.out.println("setFileContent(). result is:");
- System.out.println(result);
}
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 19:42:16 UTC (rev 114)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-10 08:20:21 UTC (rev 115)
@@ -18,6 +18,7 @@
import edu.lnu.FireFly.FFManifest.parser.Parser;
import edu.lnu.FireFly.FFManifest.parser.TestDocException;
import edu.lnu.FireFly.FFManifest.resource.Resource;
+import edu.lnu.FireFly.WebEditor.Data.AutoSaveThread;
import edu.lnu.FireFly.WebEditor.Data.ManifestFactory;
import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.CourseTreePopupMenu;
@@ -30,8 +31,8 @@
import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
-public class WebEditor extends AppletWithWYSIWYGEditor implements ActionListener,
- TreeSelectionListener {
+public class WebEditor extends AppletWithWYSIWYGEditor implements
+ ActionListener, TreeSelectionListener {
/**
*
@@ -63,13 +64,13 @@
}
}
- private void saveManifest() throws TestDocException {
+ public void saveManifest() throws TestDocException {
Parser parser = new Parser();
WebEditorServiceClient.getInstance().setFileContent("imsmanifest.xml",
parser.toXML(manifest));
}
- private void openManifest() throws TestDocException {
+ public void openManifest() throws TestDocException {
Parser parser = new Parser();
manifest = parser.fromXML(WebEditorServiceClient.getInstance()
.getFileContent("imsmanifest.xml", "course"));
@@ -85,15 +86,24 @@
@Override
public void init() {
- Settings.getInstance()
- .setCourseLocation(getParameter("courseLocation"));
- Settings.getInstance().setServiceLocation(
- getParameter("serviceLocation"));
- Settings.getInstance().setTemplateLocation(
- getParameter("templateLocation"));
- Settings.getInstance().setResourceLocation(
- getParameter("resourceLocation"));
+ String paramCourseLocation = getParameter("courseLocation");
+ String paramServiceLocation = getParameter("serviceLocation");
+ String paramTemplateLocation = getParameter("templateLocation");
+ String paramResourceLocation = getParameter("resourceLocation");
+ if (paramCourseLocation != null){
+ Settings.getInstance().setCourseLocation(paramCourseLocation);
+ }
+ if (paramServiceLocation != null){
+ Settings.getInstance().setServiceLocation(paramServiceLocation);
+ }
+ if (paramTemplateLocation != null){
+ Settings.getInstance().setTemplateLocation(paramTemplateLocation);
+ }
+ if (paramResourceLocation != null){
+ Settings.getInstance().setResourceLocation(paramResourceLocation);
+ }
+
instance = this;
initMenu();
@@ -104,15 +114,23 @@
ItemModels.registerModel(new OrganizationModel());
ItemModels.registerModel(new SummaryPageModel());
- CreateNewCourse();
+ try {
+ openManifest();
+ } catch (TestDocException e) {
+ System.out.println("Can't load course. Creating new...");
+ CreateNewCourse();
+ }
+ Thread autoSaveThread = new Thread(new AutoSaveThread());
+
+ autoSaveThread.start();
+
tree = new JTree(TreeDataModel.getInstance());
this.add(new JScrollPane(tree));
tree.addTreeSelectionListener(this);
tree.addMouseListener(new CourseTreePopupMenu());
-
}
private void CreateNewCourse() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 19:53:34
|
Revision: 114
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=114&view=rev
Author: sem62
Date: 2008-05-09 12:42:16 -0700 (Fri, 09 May 2008)
Log Message:
-----------
Fized bug with "Same as title" checkbox
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-09 19:36:00 UTC (rev 113)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-09 19:42:16 UTC (rev 114)
@@ -86,11 +86,11 @@
okButton.addActionListener(this);
cancelButton.addActionListener(this);
sameAsTitleCheckbox.addChangeListener(this);
-
+
editContentInHtmlBtn.setText("HTML Editor");
setResizable(false);
-
+
setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
titlePanel.setBorder(javax.swing.BorderFactory
.createTitledBorder("Title"));
@@ -166,27 +166,28 @@
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(
contentPanel);
contentPanel.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(editContentInHtmlBtn))
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 486, Short.MAX_VALUE)
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editContentInHtmlBtn, 20, 20, 20))
- );
-// jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
-// javax.swing.GroupLayout.Alignment.LEADING).addComponent(
-// jScrollPane1));
-// jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(
-// javax.swing.GroupLayout.Alignment.LEADING).addComponent(
-// jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174,
-// javax.swing.GroupLayout.PREFERRED_SIZE));
+ jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING).addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel3Layout.createSequentialGroup().addContainerGap()
+ .addComponent(editContentInHtmlBtn)).addComponent(
+ jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 486,
+ Short.MAX_VALUE));
+ jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(
+ javax.swing.GroupLayout.Alignment.LEADING).addGroup(
+ javax.swing.GroupLayout.Alignment.TRAILING,
+ jPanel3Layout.createSequentialGroup().addComponent(
+ jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE,
+ 145, Short.MAX_VALUE).addPreferredGap(
+ javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(editContentInHtmlBtn, 20, 20, 20)));
+ // jPanel3Layout.setHorizontalGroup(jPanel3Layout.createParallelGroup(
+ // javax.swing.GroupLayout.Alignment.LEADING).addComponent(
+ // jScrollPane1));
+ // jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(
+ // javax.swing.GroupLayout.Alignment.LEADING).addComponent(
+ // jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 174,
+ // javax.swing.GroupLayout.PREFERRED_SIZE));
okButton.setText("Ok");
@@ -233,11 +234,18 @@
javax.swing.GroupLayout.Alignment.TRAILING,
layout
.createSequentialGroup()
- .addComponent(cancelButton, 80, 80, 80)
+ .addComponent(
+ cancelButton,
+ 80,
+ 80,
+ 80)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(
- okButton, 80, 80, 80)
+ okButton,
+ 80,
+ 80,
+ 80)
.addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addContainerGap()))));
@@ -274,8 +282,11 @@
layout
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(cancelButton, 20, 20, 20)
- .addComponent(okButton, 20, 20, 20))
+ .addComponent(
+ cancelButton,
+ 20, 20, 20)
+ .addComponent(okButton,
+ 20, 20, 20))
.addContainerGap()));
pack();
@@ -285,11 +296,19 @@
protected void saveChanges() {
manifestItem.setTitle(titleTextField.getText());
+ String caption = captionTextField.getText();
+ String content = contentEditorPane.getText();
+ String title = manifestItem.getTitle();
+
+ if (sameAsTitleCheckbox.isSelected()) {
+ caption = title;
+ }
+
LectureModel model = new LectureModel();
- ((LectureData) model.getItemData(manifestItem))
- .setCaption(captionTextField.getText());
- ((LectureData) model.getItemData(manifestItem))
- .setContent(contentEditorPane.getText());
+ LectureData lectureData = ((LectureData) model.getItemData(manifestItem));
+
+ lectureData.setCaption(caption);
+ lectureData.setContent(content);
model.updateItemResource(manifestItem, true);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 19:36:03
|
Revision: 113
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=113&view=rev
Author: sem62
Date: 2008-05-09 12:36:00 -0700 (Fri, 09 May 2008)
Log Message:
-----------
fixed bug with confirm dialog in WYSIWYG editor
Modified Paths:
--------------
WebEditor/resources/HTMLedit.php
WebEditor/template/LectureModel.conf
Modified: WebEditor/resources/HTMLedit.php
===================================================================
--- WebEditor/resources/HTMLedit.php 2008-05-09 18:43:59 UTC (rev 112)
+++ WebEditor/resources/HTMLedit.php 2008-05-09 19:36:00 UTC (rev 113)
@@ -2,18 +2,22 @@
<head>
<script type="text/javascript">
+ var saved = false;
function save(){
var s=document.getElementById("spaw_edit_field").value;
opener.document.webeditor.setEditedHTML(s);
+ saved=true;
close();
return false;
}
function closing(){
- if (confirm('Course not saved. Do you want to save it now?') == true){
- save();
- } else {
- opener.document.webeditor.cancelHtmlEditing();
+ if (!saved){
+ if (confirm('Course not saved. Do you want to save it now?') == true){
+ save();
+ } else {
+ opener.document.webeditor.cancelHtmlEditing();
+ }
}
}
Modified: WebEditor/template/LectureModel.conf
===================================================================
--- WebEditor/template/LectureModel.conf 2008-05-09 18:43:59 UTC (rev 112)
+++ WebEditor/template/LectureModel.conf 2008-05-09 19:36:00 UTC (rev 113)
@@ -1,5 +1,5 @@
<?xml version = "1.0" ?>
<LectureModel>
- <caption>New caption</caption>
+ <caption>New lecture</caption>
<content>New content.</content>
</LectureModel>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 18:45:00
|
Revision: 112
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=112&view=rev
Author: sem62
Date: 2008-05-09 11:43:59 -0700 (Fri, 09 May 2008)
Log Message:
-----------
Transfer data optimization.
* If you download the same file againe - use content in hashMap.
* If you set content the same as previous one - it's ignore.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-09 16:45:53 UTC (rev 111)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WSClients/WebEditorServiceClient.java 2008-05-09 18:43:59 UTC (rev 112)
@@ -13,11 +13,13 @@
public class WebEditorServiceClient {
private HashMap<String, String> templates;
+ private HashMap<String, String> contents;
private static WebEditorServiceClient obj = null;
private WebEditorServiceClient(){
templates = new HashMap<String, String>();
+ contents = new HashMap<String, String>();
}
public static WebEditorServiceClient getInstance(){
@@ -38,11 +40,15 @@
if (location.equalsIgnoreCase("template")){
String template = templates.get(fName);
if (template != null){
-
- System.out.println("Founded in hash.");
-
+ System.out.println("Founded in templates hash.");
return template;
}
+ } else {
+ String content = contents.get(fName);
+ if (content != null){
+ System.out.println("Founded in contents hash.");
+ return content;
+ }
}
String result = "";
@@ -82,7 +88,9 @@
if (location.equalsIgnoreCase("template")){
templates.put(fName, result);
- }
+ } else {
+ contents.put(fName, result);
+ }
System.out.print("result: " + result);
return result;
@@ -91,6 +99,14 @@
public void setFileContent(String fName, String content) {
System.out.println("Setting file's content (fName=" + fName + ")...");
+ String hashedContent = contents.get(fName);
+ if (content.equals(hashedContent)){
+ System.out.println("Not modified.");
+ return ;
+ }
+
+ contents.put(fName, content);
+
String result = "";
try {
// Construct data
@@ -128,46 +144,4 @@
System.out.println("setFileContent(). result is:");
System.out.println(result);
}
-
-// public static boolean copyFromTemplate(String fNameInTemplate,
-// String fNameInCourse) {
-// String result = "";
-// try {
-// // Construct data
-// String data = URLEncoder.encode("fNameInTemplate", "UTF-8") + "="
-// + URLEncoder.encode(fNameInTemplate, "UTF-8");
-// data += "&" + URLEncoder.encode("fNameInCourse", "UTF-8") + "="
-// + URLEncoder.encode(fNameInCourse, "UTF-8");
-//
-// // Send data
-// URL url = new URL(Settings.getInstance().getServiceLocation()
-// + "copyFromTemplate.php");
-//
-// URLConnection conn = url.openConnection();
-// conn.setDoOutput(true);
-//
-// OutputStreamWriter wr = new OutputStreamWriter(conn
-// .getOutputStream());
-//
-// wr.write(data);
-// wr.flush();
-//
-// // Get the response
-// BufferedReader rd = new BufferedReader(new InputStreamReader(conn
-// .getInputStream()));
-// String line;
-// while ((line = rd.readLine()) != null) {
-// result += line + "\n";
-// }
-// wr.close();
-// rd.close();
-// } catch (Exception e) {
-// e.printStackTrace();
-// }
-//
-// System.out.println("copyFromTemplate(). result is:");
-// System.out.println(result);
-//
-// return true;
-// }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 16:45:59
|
Revision: 111
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=111&view=rev
Author: sem62
Date: 2008-05-09 09:45:53 -0700 (Fri, 09 May 2008)
Log Message:
-----------
* Added call Initialize() if not initialized but calling set or getValue() method.
* Added title to ChapterPropertyDlg.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java
WebEditor/template/SummaryPageModel.html
WebEditor/template/global/APIWrapper.js
WebEditor/template/global/SummaryPage.js
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-09 13:36:27 UTC (rev 110)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/ChapterPropertiestsDlg.java 2008-05-09 16:45:53 UTC (rev 111)
@@ -49,6 +49,7 @@
private void initComponents() {
setDefaultCloseOperation(HIDE_ON_CLOSE);
+ setTitle("Propertiests...");
generalPanel = new javax.swing.JPanel();
titleLabel = new javax.swing.JLabel();
Modified: WebEditor/template/SummaryPageModel.html
===================================================================
--- WebEditor/template/SummaryPageModel.html 2008-05-09 13:36:27 UTC (rev 110)
+++ WebEditor/template/SummaryPageModel.html 2008-05-09 16:45:53 UTC (rev 111)
@@ -33,7 +33,7 @@
</style>
</head>
-<body onload="Initialize();" onunload="Terminate();">
+<body onLoad="Initialize()" onunload="Terminate()">
<div id="page_content">
<Center><h1><!--title start-->
<!--title end--></Center></h1>
@@ -50,6 +50,13 @@
<!--content start-->
<!--content end-->
+
+ <script type="text/javascript" >
+
+ writeAll();
+
+ </script>
+
</table>
</div>
</body>
Modified: WebEditor/template/global/APIWrapper.js
===================================================================
--- WebEditor/template/global/APIWrapper.js 2008-05-09 13:36:27 UTC (rev 110)
+++ WebEditor/template/global/APIWrapper.js 2008-05-09 16:45:53 UTC (rev 111)
@@ -45,6 +45,7 @@
// local variable used to keep from calling Terminate() more than once
var terminated = "false";
+var initialized = "false";
// local variable used by the content developer to debug
// This should be set to true during development to find errors. However,
@@ -441,18 +442,25 @@
function Terminate()
{
- terminateCommunication();
+ if (terminated == "false"){
+ terminateCommunication();
+ }
}
function Initialize()
{
- initializeCommunication();
+ if (initialized == "false"){
+ initializeCommunication();
+ initialized = "true";
+ }
}
function SetValue(p1, p2){
+ Initialize();
storeDataValue(p1, p2);
}
function GetValue(p1){
+ Initialize();
return retrieveDataValue(p1);
}
Modified: WebEditor/template/global/SummaryPage.js
===================================================================
--- WebEditor/template/global/SummaryPage.js 2008-05-09 13:36:27 UTC (rev 110)
+++ WebEditor/template/global/SummaryPage.js 2008-05-09 16:45:53 UTC (rev 111)
@@ -5,14 +5,68 @@
document.write(s);
}
-function ins(title, min, max, raw, completionStatus){
- var percents = 100*(raw-min)/(max-min) + " %";
+var records = new Array(1000);
+var curr_record = 0;
+
+function ins(title, min, max, raw, completionStatus, model){
+ var record = new Array(7);
+ record[0] = completionStatus;
+ record[1] = title;
+ record[2] = min;
+ record[3] = max;
+ record[4] = raw;
+ record[5] = model;
+ record[6] = deep;
+
+ records[curr_record] = record;
+ curr_record++;
+}
+
+function recalcChaptersScores(){
+ var i;
+ for (i = 0; i < curr_record; i++){
+ var record = records[i];
+ write(record[0], record[1], record[2], record[3], record[4], record[5]);
+ }
+}
+
+function writeAll(){
+ var i;
+ for (i = 0; i < curr_record; i++){
+ var record = records[i];
+ write(record[0], record[1], record[2], record[3], record[4], record[5]);
+ }
+}
+
+function write(completionStatus, title, min, max, raw, modelName){
rowNum++;
+ var percents = "0";
+ if ((min != null) && (max != null) && (raw != null)){
+ percents = 100 * (raw - min) / (max - min) + " %";
+ }
+
+ if (modelName == "LectureModel"){
+ raw = (completionStatus == "completed") ? "read" : "unread";
+ percents = "--";
+ }
+
+ if (min == null){
+ min = "--";
+ }
+
+ if (max == null){
+ max = "--";
+ }
+
+ if (raw == null){
+ raw = "--";
+ }
+
var td = "<td class='tbl";
td += 1 - (rowNum % 2) + 1;
- td += "'>";
-
+ td += "'>";
+
document.write("<TR>" + td + rowNum + "<img src='global/images/" + completionStatus + ".gif'>");
document.write(td + title);
document.write(td + min);
@@ -37,7 +91,7 @@
title = " " + title;
}
- ins(title, getScore(id, "min"), getScore(id, "max"), getScore(id, "raw"), getCompletionStatus(id));
+ ins(title, getScore(id, "min"), getScore(id, "max"), getScore(id, "raw"), getCompletionStatus(id), modelName);
}
function getObjectiveIndex(id){
@@ -52,14 +106,20 @@
}
function getCompletionStatus(objectiveID){
- var index = getObjectiveIndex(objectiveID);
- var res = GetValue("cmi.objectives." + index + ".completionStatus");
+ var index = getObjectiveIndex(objectiveID);
+ if (index == -1) return "incomplete";
+
+ var res = GetValue("cmi.objectives." + index + ".completion_status");
+
return res != null ? res : "undefined";
}
function getScore(objectiveID, field){
- var index = getObjectiveIndex(objectiveID);
+ var index = getObjectiveIndex(objectiveID);
+
+ if (index == -1) return null;
+
var res = GetValue("cmi.objectives." + index + ".score." + field);
return res != null ? res : 0;
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 13:36:41
|
Revision: 110
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=110&view=rev
Author: sem62
Date: 2008-05-09 06:36:27 -0700 (Fri, 09 May 2008)
Log Message:
-----------
Moved chapter model codes to it's own package
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
Added Paths:
-----------
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java
Removed Paths:
-------------
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/ManifestFactory.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -13,8 +13,8 @@
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objective;
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives;
import edu.lnu.FireFly.FFManifest.resource.Resources;
-import edu.lnu.FireFly.WebEditor.ItemModels.ChapterItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterItemData;
public class ManifestFactory {
static public Manifest createManifest(){
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/Data/SummaryPageManager.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -12,10 +12,10 @@
import edu.lnu.FireFly.FFManifest.item.sequencing.objectives.Objectives;
import edu.lnu.FireFly.FFManifest.parser.TestDocException;
import edu.lnu.FireFly.WebEditor.GUI.Reorganizer;
-import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel;
public class SummaryPageManager {
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/CourseTreePopupMenu.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -25,10 +25,10 @@
import edu.lnu.FireFly.WebEditor.WebEditor;
import edu.lnu.FireFly.WebEditor.Data.ManifestFactory;
import edu.lnu.FireFly.WebEditor.GUI.Dialogs.RenameDlg;
-import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel;
public class CourseTreePopupMenu extends MouseAdapter implements
Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java (from rev 103, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java)
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterItemData.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -0,0 +1,109 @@
+package edu.lnu.FireFly.WebEditor.ItemModels.Chapter;
+
+import java.io.Reader;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import edu.lnu.FireFly.FFManifest.TreeItem;
+import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
+
+public class ChapterItemData extends ItemData {
+ private boolean showSummaryPage = true;
+ 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;
+ }
+
+ public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){
+ SAXReader reader = new SAXReader();
+
+ Document doc = null;
+ Element root = null;
+ try {
+ doc = reader.read(aXmlInputStream);
+
+ root = doc.getRootElement();
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+ try {
+ boolean showSP = Boolean.valueOf(root
+ .elementTextTrim("ShowSummaryPage"));
+ setShowSummaryPage(showSP);
+
+ boolean showOnSP = Boolean.valueOf(root
+ .elementTextTrim("ShowOnSummaryPage"));
+ setShowOnSummaryPage(showOnSP);
+
+ int configuration = Integer.valueOf(root
+ .elementTextTrim("Configuration"));
+ setConfiguration(configuration);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+
+
+ return true;
+ }
+
+ public static final int CONFIGURATION_USER_DEFINED = 0;
+ public static final int CONFIGURATION_LECTURE = 1;
+ public static final int CONFIGURATION_EXAMINATION = 2;
+}
Copied: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java (from rev 106, WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java)
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java (rev 0)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Chapter/ChapterModel.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -0,0 +1,171 @@
+package edu.lnu.FireFly.WebEditor.ItemModels.Chapter;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+import edu.lnu.FireFly.FFManifest.Organization;
+import edu.lnu.FireFly.FFManifest.TreeItem;
+import edu.lnu.FireFly.FFManifest.item.Item;
+import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
+import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
+import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg;
+import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
+import edu.lnu.FireFly.WebEditor.ItemModels.ResourcedItemModel;
+import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
+
+public class ChapterModel extends ResourcedItemModel {
+ @Override
+ protected String getDefaultTitle() {
+ return "New chapter";
+ }
+
+ @Override
+ public boolean getLimitConditionsMenuVisible() {
+ return false;
+ }
+
+ @Override
+ public boolean getShowOnSummaryPageMenuVisible() {
+ return true;
+ }
+
+ @Override
+ public boolean getShowSummaryPageMenuVisible() {
+ return true;
+ }
+
+ public ChapterModel() {
+ super();
+ modelName = "ChapterModel";
+ isContainerItem = true;
+ }
+
+ @Override
+ public boolean canAddToItem(TreeItem parent) {
+ // TODO Auto-generated method stub
+ return true;
+ }
+
+ @Override
+ public boolean canConvertItem(TreeItem parent) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void ConfigureItem(TreeItem item) {
+ new ChapterPropertiestsDlg().showDialog(item);
+
+ TreeDataModel.getInstance().treeNodesChanged(item);
+ }
+
+ public boolean getShowSummaryPage(TreeItem anItem) {
+ ChapterItemData itemData = getData(anItem);
+
+ if (itemData == null) {
+ System.out
+ .println("Warning: ItemData is null at ItemModel.getShowOnSummaryPage()");
+
+ return false;
+ }
+
+ return itemData.isShowSummaryPage();
+ }
+
+ @Override
+ public boolean isApplaingForItem(TreeItem treeItem) {
+ if (treeItem.getClass() != Item.class) {
+ return false;
+ }
+
+ Item item = (Item) treeItem;
+ if (item.parameters != null
+ && item.parameters.contains("pageType=Chapter")) {
+ return true;
+ }
+
+ return false;
+ }
+
+ @Override
+ public boolean isRemovable() {
+ return true;
+ }
+
+ @Override
+ public void remove(TreeItem item) {
+ if (item.getChildCount() > 0) {
+ System.out
+ .print("This chapter contain items. Please, remove all childs and try again.\n");
+ return;
+ }
+
+ TreeDataModel.getInstance().treeNodesDeleted(item);
+ item.getParent().removeChild(item);
+ }
+
+ @Override
+ public void rename(TreeItem item, String newTitle) {
+ ((Item) item).title = newTitle;
+
+ TreeDataModel.getInstance().treeNodesChanged(item);
+ }
+
+ public void setShowSummaryPage(TreeItem anItem, boolean state) {
+ ChapterItemData itemData = getData(anItem);
+
+ if (itemData == null) {
+ ItemData data = new ChapterItemData();
+ setItemData(anItem, data);
+ itemData = (ChapterItemData) getItemData(anItem);
+ }
+
+ if (itemData.isShowSummaryPage() != state) {
+ itemData.setShowSummaryPage(state);
+ updateItemResource(anItem, true);
+ }
+ }
+
+ private ChapterItemData getData(TreeItem anItem) {
+ return (ChapterItemData) getItemData(anItem);
+ }
+
+ @Override
+ public boolean updateItemResource(TreeItem anItem,
+ boolean updateSummaryPages) {
+ ChapterItemData itemData = getData(anItem);
+
+ Document doc = DocumentHelper.createDocument();
+ Element root = doc.addElement(modelName);
+ root.addElement("ShowSummaryPage").setText(
+ String.valueOf(itemData.isShowSummaryPage()));
+
+ root.addElement("ShowOnSummaryPage").setText(
+ String.valueOf(itemData.getShowOnSummaryPage()));
+
+ root.addElement("Configuration").setText(
+ String.valueOf(itemData.getConfiguration()));
+
+ String identifier = "unknown";
+ if (anItem.getClass() == Organization.class) {
+ identifier = ((Organization) anItem).identifier;
+ } else {
+ identifier = ((Item) anItem).identifier;
+ }
+
+ WebEditorServiceClient.getInstance().setFileContent(
+ identifier + ".conf", doc.asXML());
+
+ if (updateSummaryPages) {
+ SummaryPageManager.getInstance().updateSummaryPages();
+ }
+
+ return true;
+ }
+
+ @Override
+ protected ItemData createItemDataInstance() {
+ return new ChapterItemData();
+ }
+}
\ No newline at end of file
Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterItemData.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -1,108 +0,0 @@
-package edu.lnu.FireFly.WebEditor.ItemModels;
-
-import java.io.Reader;
-
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.dom4j.io.SAXReader;
-
-import edu.lnu.FireFly.FFManifest.TreeItem;
-
-public class ChapterItemData extends ItemData {
- private boolean showSummaryPage = true;
- private boolean flow;
-
- 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;
- }
-
- public boolean unmarshal (Reader aXmlInputStream, TreeItem anItem){
- SAXReader reader = new SAXReader();
-
- Document doc = null;
- Element root = null;
- try {
- doc = reader.read(aXmlInputStream);
-
- root = doc.getRootElement();
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
- try {
- boolean showSP = Boolean.valueOf(root
- .elementTextTrim("ShowSummaryPage"));
- setShowSummaryPage(showSP);
-
- boolean showOnSP = Boolean.valueOf(root
- .elementTextTrim("ShowOnSummaryPage"));
- setShowOnSummaryPage(showOnSP);
-
- int configuration = Integer.valueOf(root
- .elementTextTrim("Configuration"));
- setConfiguration(configuration);
-
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
-
-
- return true;
- }
-
- public static final int CONFIGURATION_USER_DEFINED = 0;
- public static final int CONFIGURATION_LECTURE = 1;
- public static final int CONFIGURATION_EXAMINATION = 2;
-}
Deleted: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -1,169 +0,0 @@
-package edu.lnu.FireFly.WebEditor.ItemModels;
-
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
-import edu.lnu.FireFly.FFManifest.Organization;
-import edu.lnu.FireFly.FFManifest.TreeItem;
-import edu.lnu.FireFly.FFManifest.item.Item;
-import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
-import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
-import edu.lnu.FireFly.WebEditor.GUI.Dialogs.ChapterPropertiestsDlg;
-import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
-
-public class ChapterModel extends ResourcedItemModel {
- @Override
- protected String getDefaultTitle() {
- return "New chapter";
- }
-
- @Override
- public boolean getLimitConditionsMenuVisible() {
- return false;
- }
-
- @Override
- public boolean getShowOnSummaryPageMenuVisible() {
- return true;
- }
-
- @Override
- public boolean getShowSummaryPageMenuVisible() {
- return true;
- }
-
- public ChapterModel() {
- super();
- modelName = "ChapterModel";
- isContainerItem = true;
- }
-
- @Override
- public boolean canAddToItem(TreeItem parent) {
- // TODO Auto-generated method stub
- return true;
- }
-
- @Override
- public boolean canConvertItem(TreeItem parent) {
- // TODO Auto-generated method stub
- return false;
- }
-
- @Override
- public void ConfigureItem(TreeItem item) {
- new ChapterPropertiestsDlg().showDialog(item);
-
- TreeDataModel.getInstance().treeNodesChanged(item);
- }
-
- public boolean getShowSummaryPage(TreeItem anItem) {
- ChapterItemData itemData = getData(anItem);
-
- if (itemData == null) {
- System.out
- .println("Warning: ItemData is null at ItemModel.getShowOnSummaryPage()");
-
- return false;
- }
-
- return itemData.isShowSummaryPage();
- }
-
- @Override
- public boolean isApplaingForItem(TreeItem treeItem) {
- if (treeItem.getClass() != Item.class) {
- return false;
- }
-
- Item item = (Item) treeItem;
- if (item.parameters != null
- && item.parameters.contains("pageType=Chapter")) {
- return true;
- }
-
- return false;
- }
-
- @Override
- public boolean isRemovable() {
- return true;
- }
-
- @Override
- public void remove(TreeItem item) {
- if (item.getChildCount() > 0) {
- System.out
- .print("This chapter contain items. Please, remove all childs and try again.\n");
- return;
- }
-
- TreeDataModel.getInstance().treeNodesDeleted(item);
- item.getParent().removeChild(item);
- }
-
- @Override
- public void rename(TreeItem item, String newTitle) {
- ((Item) item).title = newTitle;
-
- TreeDataModel.getInstance().treeNodesChanged(item);
- }
-
- public void setShowSummaryPage(TreeItem anItem, boolean state) {
- ChapterItemData itemData = getData(anItem);
-
- if (itemData == null) {
- ItemData data = new ChapterItemData();
- setItemData(anItem, data);
- itemData = (ChapterItemData) getItemData(anItem);
- }
-
- if (itemData.isShowSummaryPage() != state) {
- itemData.setShowSummaryPage(state);
- updateItemResource(anItem, true);
- }
- }
-
- private ChapterItemData getData(TreeItem anItem) {
- return (ChapterItemData) getItemData(anItem);
- }
-
- @Override
- public boolean updateItemResource(TreeItem anItem,
- boolean updateSummaryPages) {
- ChapterItemData itemData = getData(anItem);
-
- Document doc = DocumentHelper.createDocument();
- Element root = doc.addElement(modelName);
- root.addElement("ShowSummaryPage").setText(
- String.valueOf(itemData.isShowSummaryPage()));
-
- root.addElement("ShowOnSummaryPage").setText(
- String.valueOf(itemData.getShowOnSummaryPage()));
-
- root.addElement("Configuration").setText(
- String.valueOf(itemData.getConfiguration()));
-
- String identifier = "unknown";
- if (anItem.getClass() == Organization.class) {
- identifier = ((Organization) anItem).identifier;
- } else {
- identifier = ((Item) anItem).identifier;
- }
-
- WebEditorServiceClient.getInstance().setFileContent(
- identifier + ".conf", doc.asXML());
-
- if (updateSummaryPages) {
- SummaryPageManager.getInstance().updateSummaryPages();
- }
-
- return true;
- }
-
- @Override
- protected ItemData createItemDataInstance() {
- return new ChapterItemData();
- }
-}
\ No newline at end of file
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModels.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -4,6 +4,7 @@
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.FFManifest.item.Item;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
public class ItemModels {
protected static ArrayList<ItemModel> registeredModels = new ArrayList<ItemModel>();
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/OrganizationModel.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -3,6 +3,7 @@
import edu.lnu.FireFly.FFManifest.Organization;
import edu.lnu.FireFly.FFManifest.TreeItem;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
public class OrganizationModel extends ChapterModel{
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -7,13 +7,13 @@
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.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemData;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
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.Lecture.LectureModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel;
import edu.lnu.FireFly.WebEditor.WSClients.WebEditorServiceClient;
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 13:20:21 UTC (rev 109)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/WebEditor.java 2008-05-09 13:36:27 UTC (rev 110)
@@ -22,9 +22,9 @@
import edu.lnu.FireFly.WebEditor.Data.SummaryPageManager;
import edu.lnu.FireFly.WebEditor.GUI.CourseTreePopupMenu;
import edu.lnu.FireFly.WebEditor.GUI.TreeDataModel;
-import edu.lnu.FireFly.WebEditor.ItemModels.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.ItemModels;
import edu.lnu.FireFly.WebEditor.ItemModels.OrganizationModel;
+import edu.lnu.FireFly.WebEditor.ItemModels.Chapter.ChapterModel;
import edu.lnu.FireFly.WebEditor.ItemModels.Lecture.LectureModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SimpleQuestion.SimpleQuestionModel;
import edu.lnu.FireFly.WebEditor.ItemModels.SummaryPageModel.SummaryPageModel;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-09 13:20:38
|
Revision: 109
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=109&view=rev
Author: sem62
Date: 2008-05-09 06:20:21 -0700 (Fri, 09 May 2008)
Log Message:
-----------
added confirm dialog to body onUnload event.
Modified Paths:
--------------
WebEditor/resources/HTMLedit.php
WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java
Modified: WebEditor/resources/HTMLedit.php
===================================================================
--- WebEditor/resources/HTMLedit.php 2008-05-08 21:09:50 UTC (rev 108)
+++ WebEditor/resources/HTMLedit.php 2008-05-09 13:20:21 UTC (rev 109)
@@ -8,10 +8,19 @@
close();
return false;
}
+
+ function closing(){
+ if (confirm('Course not saved. Do you want to save it now?') == true){
+ save();
+ } else {
+ opener.document.webeditor.cancelHtmlEditing();
+ }
+ }
</script>
</head>
-<body>
+
+<body onUnload="closing();">
<form name='editFrm' onSubmit='javascript:save();'>
<?
include("spaw2/spaw.inc.php");
@@ -26,7 +35,6 @@
var s = opener.document.webeditor.getEditedHTML();
document.getElementById("spaw_edit_field").value = s;
- alert(s, false);
</script>
</body>
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-08 21:09:50 UTC (rev 108)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/AppletWithWYSIWYGEditor.java 2008-05-09 13:20:21 UTC (rev 109)
@@ -15,20 +15,36 @@
Object[] params = new String[1];
params[0] = captionTextField2.getText();
- dlg.setModal(false);
+// dlg.setModal(false);
htmlEditing = true;
textField = captionTextField2;
editingDlg = dlg;
- editingDlg.setEnabled(false);
+ lockPropertyDlg();
win.call("showEditor", params);
+
+// dlg.setModal(true);
}
public String getEditedHTML(){
return textField.getText();
}
+ public void cancelHtmlEditing(){
+ unlockPropertyDlg();
+
+ textField = null;
+ editingDlg = null;
+ htmlEditing = false;
+
+ System.out.println("Canceled html editing");
+ }
+
+ private void unlockPropertyDlg() {
+ editingDlg.setEnabled(true);
+ }
+
public void setEditedHTML(String newHTML){
if (!htmlEditing){
return;
@@ -36,9 +52,13 @@
textField.setText(newHTML);
htmlEditing = false;
- editingDlg.setEnabled(true);
+ unlockPropertyDlg();
}
+ private void lockPropertyDlg() {
+ editingDlg.setEnabled(false);
+ }
+
/**
*
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-08 21:31:36
|
Revision: 106
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=106&view=rev
Author: sem62
Date: 2008-05-08 13:11:53 -0700 (Thu, 08 May 2008)
Log Message:
-----------
Fixed bugs at LecturePropertyDlg.
Modified Paths:
--------------
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/LecturePropertiestsDlg.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -24,6 +24,7 @@
captionTextField.setText(titleTextField.getText());
}
captionTextField.setEnabled(!sameAsTitleCheckbox.isSelected());
+ editContentInHtmlBtn.setEnabled(captionTextField.isEnabled());
}
}
@@ -48,7 +49,7 @@
/** Creates new form NewJFrame */
public LecturePropertiestsDlg() {
obj = this;
-
+
initComponents();
}
@@ -62,6 +63,7 @@
}
private void initComponents() {
+ setTitle("Propertiests...");
titlePanel = new javax.swing.JPanel();
titleLabel = new javax.swing.JLabel();
titleTextField = new javax.swing.JTextField();
@@ -130,7 +132,7 @@
captionTextField, javax.swing.GroupLayout.DEFAULT_SIZE,
361, Short.MAX_VALUE).addPreferredGap(
javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(editContentInHtmlBtn)));
+ .addComponent(editContentInHtmlBtn, 30, 30, 30)));
jPanel2Layout
.setVerticalGroup(jPanel2Layout
.createParallelGroup(
@@ -149,7 +151,8 @@
.createParallelGroup(
javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(
- editContentInHtmlBtn)
+ editContentInHtmlBtn,
+ 20, 20, 20)
.addComponent(
captionTextField,
javax.swing.GroupLayout.PREFERRED_SIZE,
@@ -285,11 +288,17 @@
LecturePropertiestsDlg dlg = (LecturePropertiestsDlg) obj;
LectureModel model = new LectureModel();
- dlg.titleTextField.setText(manifestItem.getTitle());
+ String title = manifestItem.getTitle();
+ String caption = ((LectureData) model
+ .getItemData(manifestItem)).getCaption();
+
+ dlg.sameAsTitleCheckbox.setSelected(title.equals(caption));
+
+ dlg.titleTextField.setText(title);
dlg.titleTextField.selectAll();
- dlg.captionTextField.setText(((LectureData) model
- .getItemData(manifestItem)).getCaption());
+ dlg.captionTextField.setText(caption);
+
dlg.contentEditorPane.setText(((LectureData) model
.getItemData(manifestItem)).getContent());
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/GUI/Dialogs/PropertyDlg.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -7,7 +7,6 @@
import javax.swing.JTextField;
import edu.lnu.FireFly.FFManifest.TreeItem;
-import edu.lnu.FireFly.FFManifest.item.Item;
import edu.lnu.FireFly.WebEditor.WebEditor;
public abstract class PropertyDlg extends JDialog implements ActionListener{
@@ -44,7 +43,7 @@
protected javax.swing.JButton okButton;
public void showDialog(TreeItem item) {
- manifestItem = (Item) item;
+ manifestItem = item;
obj.fillFields();
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ChapterModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -14,6 +14,11 @@
public class ChapterModel extends ResourcedItemModel {
@Override
+ protected String getDefaultTitle() {
+ return "New chapter";
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return false;
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ItemModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -19,6 +19,8 @@
protected String modelName = "Abstract model";
+ protected abstract String getDefaultTitle();
+
public void setItemData(TreeItem anItem, ItemData data) {
questionsData.put(anItem, data);
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/Lecture/LectureModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -18,6 +18,11 @@
public class LectureModel extends ResourcedItemModel {
@Override
+ protected String getDefaultTitle() {
+ return "New lecture";
+ }
+
+ @Override
public boolean getShowSummaryPageMenuVisible() {
return false;
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/ResourcedItemModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -23,7 +23,7 @@
item.identifier = this.getClass().getSimpleName() + "_Item_"
+ UUID.randomUUID().toString();
- item.title = "New " + modelName;
+ item.title = getDefaultTitle();
item.parameters = "pageType=" + modelName;
item.identifierref = createNewResource();
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SimpleQuestion/SimpleQuestionModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -20,6 +20,11 @@
public class SimpleQuestionModel extends ResourcedItemModel {
@Override
+ protected String getDefaultTitle() {
+ return "New simple question";
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return true;
}
Modified: WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java
===================================================================
--- WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-08 19:14:26 UTC (rev 105)
+++ WebEditor/src/edu/lnu/FireFly/WebEditor/ItemModels/SummaryPageModel/SummaryPageModel.java 2008-05-08 20:11:53 UTC (rev 106)
@@ -20,6 +20,11 @@
public class SummaryPageModel extends ResourcedItemModel {
@Override
+ protected String getDefaultTitle() {
+ return "New summary page";
+ }
+
+ @Override
public boolean getLimitConditionsMenuVisible() {
return false;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <se...@us...> - 2008-05-08 21:10:15
|
Revision: 108
http://acmcontester.svn.sourceforge.net/acmcontester/?rev=108&view=rev
Author: sem62
Date: 2008-05-08 14:09:50 -0700 (Thu, 08 May 2008)
Log Message:
-----------
deleted unused files
Removed Paths:
-------------
WebEditor/resources/attemptCountLimit.html
WebEditor/resources/chooseMsg.html
WebEditor/resources/terminateSCO.html
Deleted: WebEditor/resources/attemptCountLimit.html
===================================================================
--- WebEditor/resources/attemptCountLimit.html 2008-05-08 20:56:59 UTC (rev 107)
+++ WebEditor/resources/attemptCountLimit.html 2008-05-08 21:09:50 UTC (rev 108)
@@ -1,9 +0,0 @@
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <link rel='stylesheet' href='main.css' type='text/css'>
-</head>
-<body>
-Кількість спроб обмежена і Ви уже їх використали.
-</body>
-</html>
Deleted: WebEditor/resources/chooseMsg.html
===================================================================
--- WebEditor/resources/chooseMsg.html 2008-05-08 20:56:59 UTC (rev 107)
+++ WebEditor/resources/chooseMsg.html 2008-05-08 21:09:50 UTC (rev 108)
@@ -1,9 +0,0 @@
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <link rel='stylesheet' href='main.css' type='text/css'>
-</head>
-<body>
-Виберіть один із підпунктів в дереві ліворуч.
-</body>
-</html>
\ No newline at end of file
Deleted: WebEditor/resources/terminateSCO.html
===================================================================
--- WebEditor/resources/terminateSCO.html 2008-05-08 20:56:59 UTC (rev 107)
+++ WebEditor/resources/terminateSCO.html 2008-05-08 21:09:50 UTC (rev 108)
@@ -1,14 +0,0 @@
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <link rel='stylesheet' href='main.css' type='text/css'>
-</head>
-<body onload="javascript:run();">
-<script language="JScript">
- function run(){
- window.parent.document.player.showCurrentItem();
- }
-</script>
-
-</body>
-</html>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|