kotkabeans
Class Pistelasku

java.lang.Object
  |
  +--kotkabeans.Pistelasku

public class Pistelasku
extends java.lang.Object

Hakee skripti-tiedoston ja tallentaa sen. Tallentaa halutun funktion kantaan kurssille.


Field Summary
protected  java.lang.String deletedScriptPath
           
protected  java.lang.String exceptExt
           
protected  java.lang.String[] extensions
           
protected  java.lang.String finishDate
           
protected  FESI.jslib.JSGlobalObject global
           
protected  java.lang.String hetuExt
           
protected  java.lang.String iniExt
           
protected  java.util.ArrayList joreCourseData
           
protected  java.util.ArrayList joreExceptionStudents
           
protected  java.lang.String joreExt
           
protected  java.lang.String jorePath
           
protected  java.util.ArrayList joreStudentsData
           
protected  java.util.ArrayList joreStudentsWrongHetu
           
protected  java.lang.String kansliaExt
           
protected  java.lang.String kirjaajaEmail
           
protected  java.lang.Object o
           
protected  java.util.ArrayList opiskelijat
           
protected static java.lang.String postExt
           
protected static java.lang.String preExt
           
protected static java.lang.String scriptExt
           
protected static java.lang.String scriptPath
           
protected  PistelaskuTools tools
           
 
Constructor Summary
Pistelasku()
           
 
Method Summary
static void changeFunction(java.lang.String courseInsID, java.lang.String function)
          Updates to database course's evaluationfunction.
 void changeFunctionAttributes(java.lang.String courseID, java.lang.String functionFilename, java.lang.String functionName, java.lang.String functionDescription, int usergroupid)
           
 void changeFunctionUsergroup(java.lang.String courseID, java.lang.String function, int usergroupid)
          Changes function's usergroup
 java.lang.String changeTable(java.lang.String courseID, java.lang.String tableID)
          Updates to database course's evaluationtable.
protected  void checkEarlier(Student s, java.lang.String courseID)
          Checks if student s already has entry in earlier written jore-file for course courseID and removes earlier entry if it is found
protected  java.util.Hashtable createTable(java.util.Hashtable paramPoints, double round, int tableType, int langID)
          Creates new evaluation table.
 boolean deleteFile(int fileType, java.lang.String fileName)
          Moves script-files to deletedScriptPath.
 boolean editEvalTable(java.lang.String courseID, java.lang.String tableID, java.lang.String tableName, java.lang.String paramNames, javax.servlet.http.HttpServletRequest req, java.lang.String round, int tableType, int langID)
          Edits evaluation table.
 int eval(java.lang.String courseID, int teacherID)
          This method is used when one wants to evaluate course.
 long evaluateStudentRank(java.lang.String personID, java.lang.String courseInstanceID)
          This method is used when one wants to give a rank to a registering student.
 long evaluateStudentRank(java.lang.String personID, java.lang.String courseInstanceID, java.lang.String timeStamp)
           
 long evaluateStudentRank(java.lang.String personID, java.lang.String courseInstanceID, java.lang.String timeStamp, int eventGroupID)
           
protected  java.lang.String exceptFile()
          Muotoilee loput virheelliset tiedot luettavissa olevaan muotoon
 RS2 getAllFunctions()
          Retrieves all existing evaluation functions from DB and returns them in RS2 object.
 RS2 getAllTables()
          Retrieves all existing evaluation tables from DB and return them in RS2 object
 java.util.ArrayList getCourseFunctions(java.lang.String courseID)
          Hakee kannasta kaikki kurssin arvostelufunktiot ja palauttaa ne ArrayList:ssä.
 java.util.ArrayList getCourseFunctions(java.lang.String courseID, int personID)
          Deprecated. 25.9.2002 KK
static java.lang.String getFile(int fileType, java.lang.String fileName)
          Gets wanted data from scriptPath from file
 java.util.ArrayList getFunctions()
          Deprecated. 25.9.2002 KK
 java.lang.String getFunctionUsergroup(java.lang.String courseID, java.lang.String functionname)
          Gets function's usergroup
 java.util.ArrayList getJoreCourseData()
          Kurssitiedot JOREa varten
 java.util.ArrayList getJoreStudentsData()
          JOREen ilmoitettavien opiskelijoiden tiedot
protected  java.lang.String getKirjaajaEmail()
           
 java.util.ArrayList getTables()
          Deprecated. 25.9.2002 KK
 PistelaskuTools getTools()
           
protected  java.lang.String hetuFile()
          Muotoilee virheelliset hetu-tiedot luettavissa olevaan muotoon
 java.lang.String htmlJoreData(User user)
          Returns joreData in html table-format.
protected  java.lang.String iniFile(int teacherID)
           
protected  java.lang.String iniFile(int teacherID, int personID)
          Muotoilee JOREa varten tarvittavia asetuksia ini-tiedoston vaatimaan muotoon
 void initStudents(java.lang.String courseID)
           
 void initStudents(java.util.StringTokenizer students)
           
 boolean isEditable(java.lang.String courseID, java.lang.String tableID)
          Tarkistaa, voiko arvosteluasteikkoa editoida.
 boolean isEvaluatable(java.lang.String courseID)
          Tarkistaa, onko kurssille valittu arvostelufunktio
 boolean isEvaluer(java.lang.String courseID, int personID)
          Tarkistaa, onko henkilöllä oikeus arvostella kurssi.
 int jore(java.lang.String courseID, int teachID, java.lang.String finishDate)
          Kokoaa tiedot JOREa varten.
protected  java.lang.String joreFile(java.lang.String courseID)
          Muotoilee JOREen lähtevät tiedot JOREn vaatimaan muotoon 1 sotu c 10 * sotu ilman viivaa 2 jakso c 6 * jakson tunnus, esim MAT036, SMAL90 3 pvm c 8 * suor. pv, vvvvkkpp 19980610 4 tulos c 3 tulos,1, 1+, TT, HT, jne 5 opviikot float 4 * opintoviikkomäärä, 3.0 6 korv c 1 korvattu suoritus = K, muuten tyhjä 7 asema c 1 voi jättää blankoksi 8 tyyppi c 1 Y=yleis, A=aine, S=syventävät opinnot 9 opkok c 6 mahdollinen op.kokonaisuus, esim MATCUM 10 kaytetty c 1 11 vastalue c 4 * laitoksen yms. tunnus, jonka "piikkiin" 12 selite varchar 36 esim. tentaattorin nimi yms. selittävää 13 ktunnus c 8 * suorituksen kirjaajan tunnus, laitoksen vastaava 14 kpaiva c 8 * kirjauspvm vvvvkkpp
protected  java.lang.String kansliaFile()
          Muotoilee JOREen lähtevät tiedot luettavissa olevaan muotoon
protected  java.util.Hashtable linear(java.lang.Double p_pienin, java.lang.Double p_suurin, double round, double extrapoints, java.util.ArrayList grades)
           
 boolean newEvalTable(java.lang.String courseID, java.lang.String tableName, int tableType, java.lang.String paramNames, javax.servlet.http.HttpServletRequest req, java.lang.String round, int langID)
          Creates new evaluationtable
static boolean newScript(java.lang.String courseID, java.lang.String name, java.lang.String description, int usergroupid, java.lang.String copyFunction)
           
static boolean newScript(java.lang.String courseID, java.lang.String name, java.lang.String description, int usergroupid, java.lang.String copyFunction, java.lang.String pre, java.lang.String data)
           
 void pdfJoreData(User u, java.io.PrintStream out, int participantsNbr)
           
 void pdfJoreData(User u, java.io.PrintStream out, int participantsNbr, int langID)
           
 void removeEvalTable(java.lang.String courseID, java.lang.String tableID)
          Removes evaluate table from course
 java.lang.String removeScript(java.lang.String courseID, java.lang.String function_filename)
          Removes wanted evaluationscript from course.
static boolean saveFile(int fileType, java.lang.String fileName, java.lang.String data)
          Saves EcmaScript script to file file.
protected  int saveGrades(java.lang.String courseID, int teachID)
          Saves students' grades and credits to database.
 java.lang.String saveJore(java.lang.String courseID, int teacherID, User user)
          Tallennetaan JOREen vietävät tiedot tiedostoihin - varsinainen JOREen lähtevä tieto - kansliaan menevä tieto selväkielisenä - ini-tiedostoon opettajan ja kirjaajan email ja merkitään opiskelijoille suorituspäivämäärä (finishedDate).
protected  boolean setKirjaajaEmail(java.lang.String kirjaaja)
          Gets email address for "kirjaaja" (a Kotka user).
protected  java.lang.String updateFields(java.lang.String courseID, int teachID)
          Updates students' field to database if they are changed
 void updateFieldsScript(java.lang.String[] fields, java.lang.String courseID, int langID)
          Updates fields-script
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scriptPath

protected static final java.lang.String scriptPath

deletedScriptPath

protected final java.lang.String deletedScriptPath

jorePath

protected final java.lang.String jorePath

scriptExt

protected static final java.lang.String scriptExt

preExt

protected static final java.lang.String preExt

postExt

protected static final java.lang.String postExt

joreExt

protected final java.lang.String joreExt

kansliaExt

protected final java.lang.String kansliaExt

iniExt

protected final java.lang.String iniExt

hetuExt

protected final java.lang.String hetuExt

exceptExt

protected final java.lang.String exceptExt

joreCourseData

protected java.util.ArrayList joreCourseData

finishDate

protected java.lang.String finishDate

joreStudentsData

protected java.util.ArrayList joreStudentsData

joreStudentsWrongHetu

protected java.util.ArrayList joreStudentsWrongHetu

joreExceptionStudents

protected java.util.ArrayList joreExceptionStudents

kirjaajaEmail

protected java.lang.String kirjaajaEmail

tools

protected PistelaskuTools tools

opiskelijat

protected java.util.ArrayList opiskelijat

extensions

protected java.lang.String[] extensions

global

protected FESI.jslib.JSGlobalObject global

o

protected java.lang.Object o
Constructor Detail

Pistelasku

public Pistelasku()
Method Detail

getTools

public PistelaskuTools getTools()

getJoreCourseData

public java.util.ArrayList getJoreCourseData()
Kurssitiedot JOREa varten


getJoreStudentsData

public java.util.ArrayList getJoreStudentsData()
JOREen ilmoitettavien opiskelijoiden tiedot


setKirjaajaEmail

protected boolean setKirjaajaEmail(java.lang.String kirjaaja)
Gets email address for "kirjaaja" (a Kotka user). Maybe this should be done by organisationparameter technique, so that more addresses could be added to this: "kirjaajaemail = salonen@mit.jyu.fi, korppiadmin@it.jyu.fi" UPDATE: sets the kirjaaja email to the parameter string, the actual email address(es) are stored in organiationparameters.

Parameters:
kirjaaja - gets email address for this Kotka user

getKirjaajaEmail

protected java.lang.String getKirjaajaEmail()

initStudents

public void initStudents(java.util.StringTokenizer students)
Parameters:
students - in a String separated by comma all students' IDs who are being evaluated

initStudents

public void initStudents(java.lang.String courseID)

getFunctions

public java.util.ArrayList getFunctions()
Deprecated. 25.9.2002 KK

Hakee kannasta kaikki olemassa olevat arvostelufunktiot.

See Also:
getAllFunctions()

getAllFunctions

public RS2 getAllFunctions()
Retrieves all existing evaluation functions from DB and returns them in RS2 object.

Returns:
all existing evaluation functions in RS2 object
See Also:
cSQL.getAllFunctions()

getAllTables

public RS2 getAllTables()
Retrieves all existing evaluation tables from DB and return them in RS2 object

Returns:
all existing evaluation tables in RS2 object
See Also:
cSQL.getAllTables()

getTables

public java.util.ArrayList getTables()
Deprecated. 25.9.2002 KK

See Also:
getAllTables()

getCourseFunctions

public java.util.ArrayList getCourseFunctions(java.lang.String courseID)
Hakee kannasta kaikki kurssin arvostelufunktiot ja palauttaa ne ArrayList:ssä.


getCourseFunctions

public java.util.ArrayList getCourseFunctions(java.lang.String courseID,
                                              int personID)
Deprecated. 25.9.2002 KK

Hakee kannasta henkilölle tarkoitetut kurssin arvostelufunktiot ja palauttaa ne ArrayList:ssä.


getFile

public static java.lang.String getFile(int fileType,
                                       java.lang.String fileName)
Gets wanted data from scriptPath from file

Parameters:
fileType - <0 if getting pre-function, 0 if getting script, >0 if getting post-function
fileName - filename for EcmaScript-file
Returns:
contents of wanted file

saveFile

public static boolean saveFile(int fileType,
                               java.lang.String fileName,
                               java.lang.String data)
Saves EcmaScript script to file file.

Parameters:
fileType - <0 if saving pre-function, 0 if saving script, >0 if saving post-function
fileName -
data - file's contents
Returns:
true if saving is successful, else false

deleteFile

public boolean deleteFile(int fileType,
                          java.lang.String fileName)
Moves script-files to deletedScriptPath.

Parameters:
fileType - <0 if deleting pre-function, 0 if deleting script, >0 if deleting post-function
fileName -
Returns:
true if deleting is successful, else false

changeFunction

public static void changeFunction(java.lang.String courseInsID,
                                  java.lang.String function)
Updates to database course's evaluationfunction.

Parameters:
courseInsID - courseinstanceID
function - evaluationfunction's name

changeTable

public java.lang.String changeTable(java.lang.String courseID,
                                    java.lang.String tableID)
Updates to database course's evaluationtable.

Parameters:
courseID - courseinstanceID
tableID - evaluationtable's ID
Returns:
evaluationtable's name or null if no table is selected for course

updateFieldsScript

public void updateFieldsScript(java.lang.String[] fields,
                               java.lang.String courseID,
                               int langID)
Updates fields-script

Parameters:
fields - fields' IDs
courseID - courseinstanceid
langID - languageid

eval

public int eval(java.lang.String courseID,
                int teacherID)
         throws FESI.jslib.JSException
This method is used when one wants to evaluate course. Evaluation script is saved and evaluation table has been chosen.

Parameters:
courseID - courseinstanceid
teacherID - teacher's personID
Returns:
amount of grades saved in database
Throws:
FESI.jslib.JSException - if evaluation fails

saveGrades

protected int saveGrades(java.lang.String courseID,
                         int teachID)
Saves students' grades and credits to database.

Parameters:
courseID - courseinstanceid
teachID - teacher's personid
Returns:
amount of saved grades
Throws:
java.lang.Exception - if saving grades fails

updateFields

protected java.lang.String updateFields(java.lang.String courseID,
                                        int teachID)
Updates students' field to database if they are changed

Parameters:
courseID - courseinstanceid
teachID - teacher's personid

jore

public int jore(java.lang.String courseID,
                int teachID,
                java.lang.String finishDate)
Kokoaa tiedot JOREa varten.

Parameters:
courseID - courseinstanceid
teachID - teacher's personid
finishDate - course's finishing date
Returns:
0 if nothing fails, else -1

saveJore

public java.lang.String saveJore(java.lang.String courseID,
                                 int teacherID,
                                 User user)
Tallennetaan JOREen vietävät tiedot tiedostoihin - varsinainen JOREen lähtevä tieto - kansliaan menevä tieto selväkielisenä - ini-tiedostoon opettajan ja kirjaajan email ja merkitään opiskelijoille suorituspäivämäärä (finishedDate).

Parameters:
courseID - courseinstanceid
Returns:
tapahtuneen virheen tai null

joreFile

protected java.lang.String joreFile(java.lang.String courseID)
                             throws java.lang.Exception
Muotoilee JOREen lähtevät tiedot JOREn vaatimaan muotoon 1 sotu c 10 * sotu ilman viivaa 2 jakso c 6 * jakson tunnus, esim MAT036, SMAL90 3 pvm c 8 * suor. pv, vvvvkkpp 19980610 4 tulos c 3 tulos,1, 1+, TT, HT, jne 5 opviikot float 4 * opintoviikkomäärä, 3.0 6 korv c 1 korvattu suoritus = K, muuten tyhjä 7 asema c 1 voi jättää blankoksi 8 tyyppi c 1 Y=yleis, A=aine, S=syventävät opinnot 9 opkok c 6 mahdollinen op.kokonaisuus, esim MATCUM 10 kaytetty c 1 11 vastalue c 4 * laitoksen yms. tunnus, jonka "piikkiin" 12 selite varchar 36 esim. tentaattorin nimi yms. selittävää 13 ktunnus c 8 * suorituksen kirjaajan tunnus, laitoksen vastaava 14 kpaiva c 8 * kirjauspvm vvvvkkpp

Parameters:
courseID - for checking students earlier entries
Returns:
JORE data in JORE-format
Throws:
java.lang.Exception - jos tiedoston luominen epäonnistui

checkEarlier

protected void checkEarlier(Student s,
                            java.lang.String courseID)
Checks if student s already has entry in earlier written jore-file for course courseID and removes earlier entry if it is found

Parameters:
s - student to check
courseID - course to check

kansliaFile

protected java.lang.String kansliaFile()
                                throws java.lang.Exception
Muotoilee JOREen lähtevät tiedot luettavissa olevaan muotoon

Returns:
JORE data in readable format
Throws:
java.lang.Exception - jos tiedoston luominen epäonnistui

hetuFile

protected java.lang.String hetuFile()
                             throws java.lang.Exception
Muotoilee virheelliset hetu-tiedot luettavissa olevaan muotoon

Returns:
data in readable format
Throws:
java.lang.Exception - jos tiedoston luominen epäonnistui

exceptFile

protected java.lang.String exceptFile()
                               throws java.lang.Exception
Muotoilee loput virheelliset tiedot luettavissa olevaan muotoon

Returns:
data in readable format
Throws:
java.lang.Exception - jos tiedoston luominen epäonnistui

iniFile

protected java.lang.String iniFile(int teacherID,
                                   int personID)
                            throws java.lang.Exception
Muotoilee JOREa varten tarvittavia asetuksia ini-tiedoston vaatimaan muotoon

Returns:
Throws:
java.lang.Exception - jos tiedoston luominen epäonnistui

iniFile

protected java.lang.String iniFile(int teacherID)
                            throws java.lang.Exception
java.lang.Exception

htmlJoreData

public java.lang.String htmlJoreData(User user)
                              throws java.lang.Exception
Returns joreData in html table-format.

Parameters:
user -
Returns:
joreData in html table-format
Throws:
java.lang.Exception - when no course's or students' data is found

pdfJoreData

public void pdfJoreData(User u,
                        java.io.PrintStream out,
                        int participantsNbr)

pdfJoreData

public void pdfJoreData(User u,
                        java.io.PrintStream out,
                        int participantsNbr,
                        int langID)

isEvaluatable

public boolean isEvaluatable(java.lang.String courseID)
Tarkistaa, onko kurssille valittu arvostelufunktio

Parameters:
courseID - courseinstanceid
Returns:
true if course is evaluatable, false if not

newScript

public static boolean newScript(java.lang.String courseID,
                                java.lang.String name,
                                java.lang.String description,
                                int usergroupid,
                                java.lang.String copyFunction)
Parameters:
courseID -
name -
description -
copyFunction -
Returns:
true or false

newScript

public static boolean newScript(java.lang.String courseID,
                                java.lang.String name,
                                java.lang.String description,
                                int usergroupid,
                                java.lang.String copyFunction,
                                java.lang.String pre,
                                java.lang.String data)

removeScript

public java.lang.String removeScript(java.lang.String courseID,
                                     java.lang.String function_filename)
Removes wanted evaluationscript from course.

Parameters:
courseID -
Returns:

changeFunctionAttributes

public void changeFunctionAttributes(java.lang.String courseID,
                                     java.lang.String functionFilename,
                                     java.lang.String functionName,
                                     java.lang.String functionDescription,
                                     int usergroupid)
                              throws java.lang.Exception
java.lang.Exception

changeFunctionUsergroup

public void changeFunctionUsergroup(java.lang.String courseID,
                                    java.lang.String function,
                                    int usergroupid)
Changes function's usergroup

Parameters:
courseID -
function - selected function name

getFunctionUsergroup

public java.lang.String getFunctionUsergroup(java.lang.String courseID,
                                             java.lang.String functionname)
Gets function's usergroup

Parameters:
courseID -
functionname -
Returns:
string of usergroupid - 2 (tuntiopettaja) or 3 (opettaja), if none is found return ""

isEvaluer

public boolean isEvaluer(java.lang.String courseID,
                         int personID)
Tarkistaa, onko henkilöllä oikeus arvostella kurssi.

Parameters:
courseID - courseinstanceid
personID - personid
Returns:
true if person is evaluer, false if not

newEvalTable

public boolean newEvalTable(java.lang.String courseID,
                            java.lang.String tableName,
                            int tableType,
                            java.lang.String paramNames,
                            javax.servlet.http.HttpServletRequest req,
                            java.lang.String round,
                            int langID)
Creates new evaluationtable

Parameters:
courseID - courseinstanceid
tableName -
tableType - 1 = 1-3 2 = TT-ET 3 = Appro-Lavi 4 = Hyv
paramNames -
req -
round -
langID - languageid
Returns:
true if creating new evaluationtable is successful else false

removeEvalTable

public void removeEvalTable(java.lang.String courseID,
                            java.lang.String tableID)
                     throws java.lang.Exception
Removes evaluate table from course

Parameters:
courseID - courseinstanceid
tableID - calculatepointsid
java.lang.Exception

isEditable

public boolean isEditable(java.lang.String courseID,
                          java.lang.String tableID)
                   throws java.lang.Exception
Tarkistaa, voiko arvosteluasteikkoa editoida.

Parameters:
courseID - courseinstanceid
tableID - calculatepointsid
Returns:
true if table is editable, false if not
java.lang.Exception

editEvalTable

public boolean editEvalTable(java.lang.String courseID,
                             java.lang.String tableID,
                             java.lang.String tableName,
                             java.lang.String paramNames,
                             javax.servlet.http.HttpServletRequest req,
                             java.lang.String round,
                             int tableType,
                             int langID)
Edits evaluation table.

Parameters:
courseID - courseinstanceid
req - request from JPS-page

createTable

protected java.util.Hashtable createTable(java.util.Hashtable paramPoints,
                                          double round,
                                          int tableType,
                                          int langID)
                                   throws java.lang.Exception
Creates new evaluation table.

Parameters:
paramPoints - parameters that user gave in (points,gradeid)-hashtable
round -
tableType -
langID - languageid
Returns:
created table points as key-values
Throws:
java.lang.Exception - if something fails

linear

protected java.util.Hashtable linear(java.lang.Double p_pienin,
                                     java.lang.Double p_suurin,
                                     double round,
                                     double extrapoints,
                                     java.util.ArrayList grades)

evaluateStudentRank

public long evaluateStudentRank(java.lang.String personID,
                                java.lang.String courseInstanceID)
                         throws java.lang.Exception
This method is used when one wants to give a rank to a registering student. Queuing method (and thus a preprogrammed evaluation script) has been selected.

Parameters:
personID - person to be evaluated
courseInstanceID - course where the user is (part of script filename)
Returns:
the rank of this student
Throws:
java.lang.Exception - if evaluation fails

evaluateStudentRank

public long evaluateStudentRank(java.lang.String personID,
                                java.lang.String courseInstanceID,
                                java.lang.String timeStamp)
                         throws java.lang.Exception
java.lang.Exception

evaluateStudentRank

public long evaluateStudentRank(java.lang.String personID,
                                java.lang.String courseInstanceID,
                                java.lang.String timeStamp,
                                int eventGroupID)
                         throws java.lang.Exception
java.lang.Exception