diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/VereinfachtesResultSet.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/VereinfachtesResultSet.java index ff270f7b46d23457b3742b15596a296d9a99179e..972fffd8d5bb466aca534bc0e0682a2cdbbccf8b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/VereinfachtesResultSet.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/database/mysql/VereinfachtesResultSet.java @@ -11,6 +11,30 @@ public class VereinfachtesResultSet { private ResultSet resultSet; + /** + * creates a more verbose error message that actually tells you whats wrong + * @param columnLabel + * @return + */ + private String errorMessage(String columnLabel){ + return String.format( + "error in VereinfachtesResultSet: Spalte %s konnte nicht gefunden werden", + columnLabel + ); + } + + /** + * creates a more verbose error message that actually tells you whats wrong + * @param columnIndex + * @return + */ + private String errorMessage(int columnIndex){ + return String.format( + "error in VereinfachtesResultSet: Zeile %d konnte nicht gefunden werden", + columnIndex + ); + } + public VereinfachtesResultSet(ResultSet resultset) { if (resultset == null) { throw new Error("kein Resultset"); @@ -34,7 +58,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } public float getFloat(int columnIndex) { @@ -43,7 +67,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } public double getDouble(int columnIndex) { @@ -52,7 +76,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } @@ -62,7 +86,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } @@ -72,7 +96,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } public Timestamp getTimestamp(String columnLabel) { @@ -81,7 +105,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } @@ -91,7 +115,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public boolean getBoolean(String columnLabel) { @@ -100,7 +124,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public int getInt(String columnLabel) { @@ -109,7 +133,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public long getLong(String columnLabel) { @@ -118,7 +142,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public float getFloat(String columnLabel) { @@ -127,7 +151,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public double getDouble(String columnLabel) { @@ -136,7 +160,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public ResultSetMetaData getMetaData() { @@ -154,7 +178,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnIndex)); } public Object getObject(String columnLabel) { @@ -163,7 +187,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public int findColumn(String columnLabel) { @@ -172,7 +196,7 @@ public class VereinfachtesResultSet { } catch (SQLException ex) { System.err.println(ex.getMessage()); } - throw new Error("error in VereinfachtesResultSet"); + throw new Error(errorMessage(columnLabel)); } public boolean isBeforeFirst() { diff --git a/gemeinsamforschen/src/scripts/dbschema/setup_gamification.sql b/gemeinsamforschen/src/scripts/dbschema/setup_gamification.sql new file mode 100644 index 0000000000000000000000000000000000000000..334349f1461a71d36467eb5d032ede7b88c2bfb7 --- /dev/null +++ b/gemeinsamforschen/src/scripts/dbschema/setup_gamification.sql @@ -0,0 +1,58 @@ +-- This script initializes tables to be used for gamification + +CREATE DATABASE IF NOT EXISTS `fltrail` + DEFAULT CHARACTER SET utf8 + COLLATE utf8_general_ci; +USE `fltrail`; + +---- events +-- events can be +-- * writing a comment +-- * taking a quiz +-- * creating a quiz +-- * adding a part of the journal +-- * completing the journal +-- * doing peer assessment (actively and passively) +CREATE TABLE if not exists events +( + eventId varchar(400) NOT NULL, + eventType varchar(400) NOT NULL, + studentId varchar(400) NOT NULL, + projectId varchar(400) NOT NULL, + title varchar(400) NOT NULL, + description varchar(400) NOT NULL +) + ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +---- tasks +-- a task is something a student is obliged to do, such as +-- * uploading parts of the journal +-- * completing the journal +-- * giving at least one feedback to another student +-- * absolving peer assessment + +CREATE TABLE if not exists tasks +( + taskId varchar(400) NOT NULL, + taskType varchar(400) NOT NULL, + projectId varchar(400) NOT NULL, + title varchar(400) NOT NULL, + description varchar(400) NOT NULL, + state varchar(400) NOT NULL -- should be "open" or "closed" +) + ENGINE = InnoDB + DEFAULT CHARSET = utf8; + +--- achievements +CREATE TABLE if not exists achievements +( + author varchar(400) NOT NULL, + projectId varchar(400) NOT NULL, + question varchar(400) NOT NULL, + mcType varchar(400) NOT NULL, + answer varchar(400) NOT NULL, + correct tinyint(1) NOT NULL +) + ENGINE = InnoDB + DEFAULT CHARSET = utf8;