diff --git a/.gitignore b/.gitignore index 911d5dd75b3fc1986018daca30848f14f80c2ed0..752b62227757a94748b9aa58ebf0b27a0b4187b1 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,4 @@ **/.classpath /.idea/vcs.xml /.idea/workspace.xml -**/.idea \ No newline at end of file +/.idea/workspace.xml \ No newline at end of file diff --git a/.gitignore.orig b/.gitignore.orig new file mode 100644 index 0000000000000000000000000000000000000000..6edc488f16834fb336f66f6e7d6739d059a799fa --- /dev/null +++ b/.gitignore.orig @@ -0,0 +1,26 @@ +/.idea/.name +/.idea/compiler.xml +/.idea/copyright/profiles_settings.xml +/.idea/dataSources.ids +/.idea/dataSources.local.xml +/.idea/dataSources.xml +/.idea/deployment.xml +/.idea/encodings.xml +/.idea/misc.xml +/.idea/modules.xml +/.idea/sqldialects.xml +**/*.iml +**/workspace.xml +/gemeinsamforschen/**/.idea/* +/gemeinsamforschen/**/out +/gemeinsamforschen/**/target +/gemeinsamforschen/**/.settings +**/.project +**/.classpath +/.idea/vcs.xml +/.idea/workspace.xml +<<<<<<< HEAD +**/.idea +======= +/.idea/workspace.xml +>>>>>>> PeerAssessmentAxel diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 03d62d167dc479a2cbe39237d40f9d6e78e67321..05d70227a277e0f89311784fbf3f7f8a0bfd9240 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,6 +4,12 @@ <list default="true" id="b207c042-3fc9-4102-bf50-ee6c9b45c20d" name="Default" comment=""> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/webapp/assets/css/styles.css" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/webapp/assets/css/styles.css" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/gemeinsamforschen/src/main/webapp/pages/project-student.html" afterPath="$PROJECT_DIR$/gemeinsamforschen/src/main/webapp/pages/project-student.html" /> </list> <ignored path="fltrail.iws" /> <ignored path=".idea/workspace.xml" /> @@ -44,11 +50,23 @@ </provider> </entry> </file> - <file leaf-file-name="projects.php" pinned="false" current-in-tab="true"> + <file leaf-file-name="projects.php" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/studentview/pages/projects.php"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="2331"> + <caret line="111" column="34" lean-forward="false" selection-start-line="111" selection-start-column="34" selection-end-line="111" selection-end-column="34" /> + <folding> + <marker date="1528377403200" expanded="true" signature="10969:10996" ph="..." /> + </folding> + </state> + </provider> + </entry> + </file> + <file leaf-file-name="newProject.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/studentview/assets/js/newProject.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="21"> - <caret line="125" column="34" lean-forward="false" selection-start-line="125" selection-start-column="34" selection-end-line="125" selection-end-column="34" /> + <caret line="20" column="7" lean-forward="false" selection-start-line="20" selection-start-column="7" selection-end-line="20" selection-end-column="7" /> <folding /> </state> </provider> @@ -64,11 +82,11 @@ </provider> </entry> </file> - <file leaf-file-name="overview.js" pinned="false" current-in-tab="false"> + <file leaf-file-name="overview.js" pinned="false" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/studentview/assets/js/overview.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1806"> - <caret line="86" column="0" lean-forward="false" selection-start-line="86" selection-start-column="0" selection-end-line="86" selection-end-column="0" /> + <state relative-caret-position="357"> + <caret line="103" column="33" lean-forward="true" selection-start-line="103" selection-start-column="33" selection-end-line="103" selection-end-column="33" /> <folding /> </state> </provider> @@ -124,13 +142,13 @@ <option value="$PROJECT_DIR$/studentview/pages/deleteProject.php" /> <option value="$PROJECT_DIR$/studentview/pages/enrollment.php" /> <option value="$PROJECT_DIR$/studentview/pages/newproject.php" /> - <option value="$PROJECT_DIR$/studentview/pages/projects.php" /> <option value="$PROJECT_DIR$/studentview/register.php" /> <option value="$PROJECT_DIR$/studentview/pages/preferences.php" /> <option value="$PROJECT_DIR$/studentview/assets/js/config.js" /> <option value="$PROJECT_DIR$/studentview/database/config.php" /> <option value="$PROJECT_DIR$/studentview/assets/js/overview.js" /> <option value="$PROJECT_DIR$/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/ResearchReport.java" /> + <option value="$PROJECT_DIR$/studentview/pages/projects.php" /> </list> </option> </component> @@ -159,10 +177,10 @@ <component name="PhpWebServerValidation" path_to_validation_script="C:\dev\amp\htdocs\" selected_validation_type="LOCAL" web_path_to_validation_script="http://127.0.0.1/" /> <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" interpreter_name="PHP" /> <component name="ProjectFrameBounds"> - <option name="x" value="-9" /> - <option name="y" value="-9" /> - <option name="width" value="1938" /> - <option name="height" value="1050" /> + <option name="x" value="1" /> + <option name="y" value="1" /> + <option name="width" value="1918" /> + <option name="height" value="1030" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="true" /> <component name="ProjectView"> @@ -180,6 +198,7 @@ <foldersAlwaysOnTop value="true" /> </navigator> <panes> + <pane id="Scratches" /> <pane id="ProjectPane"> <subPane> <PATH> @@ -266,7 +285,6 @@ </PATH> </subPane> </pane> - <pane id="Scratches" /> <pane id="Scope" /> <pane id="PackagesPane" /> <pane id="AndroidView" /> @@ -365,20 +383,22 @@ <workItem from="1524585513713" duration="57000" /> <workItem from="1528200793936" duration="888000" /> <workItem from="1528354427057" duration="403000" /> + <workItem from="1528809757337" duration="698000" /> + <workItem from="1529393931294" duration="714000" /> </task> <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="75305000" /> + <option name="totallyTimeSpent" value="76717000" /> </component> <component name="ToolWindowManager"> - <frame x="-9" y="-9" width="1938" height="1050" extended-state="6" /> + <frame x="1" y="1" width="1918" height="1030" extended-state="6" /> <layout> <window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" /> - <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2125" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" x="9" y="79" width="408" height="943" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21473685" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" x="9" y="79" width="408" height="943" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.23455825" sideWeight="0.47734374" order="8" side_tool="true" content_ui="tabs" /> - <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15729167" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> + <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15894736" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.35496482" sideWeight="0.71510416" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> @@ -582,13 +602,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/studentview/assets/js/newProject.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="92" column="40" lean-forward="false" selection-start-line="92" selection-start-column="40" selection-end-line="92" selection-end-column="40" /> - </state> - </provider> - </entry> <entry file="dbDummy://dbtable:/fc3764cf/14340c2c-ac4b-492f-ac4f-18c0853598a8/fltrail.projects" /> <entry file="file://$PROJECT_DIR$/studentview/assets/js/createPreferences.js"> <provider selected="true" editor-type-id="text-editor"> @@ -701,26 +714,36 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/studentview/assets/js/showProjects.js"> + <entry file="file://$PROJECT_DIR$/studentview/pages/projects.php"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="651"> - <caret line="31" column="38" lean-forward="false" selection-start-line="31" selection-start-column="38" selection-end-line="31" selection-end-column="38" /> + <state relative-caret-position="2331"> + <caret line="111" column="34" lean-forward="false" selection-start-line="111" selection-start-column="34" selection-end-line="111" selection-end-column="34" /> + <folding> + <marker date="1528377403200" expanded="true" signature="10969:10996" ph="..." /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/studentview/assets/js/newProject.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="21"> + <caret line="20" column="7" lean-forward="false" selection-start-line="20" selection-start-column="7" selection-end-line="20" selection-end-column="7" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/studentview/assets/js/overview.js"> + <entry file="file://$PROJECT_DIR$/studentview/assets/js/showProjects.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="1806"> - <caret line="86" column="0" lean-forward="false" selection-start-line="86" selection-start-column="0" selection-end-line="86" selection-end-column="0" /> + <state relative-caret-position="651"> + <caret line="31" column="38" lean-forward="false" selection-start-line="31" selection-start-column="38" selection-end-line="31" selection-end-column="38" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/studentview/pages/projects.php"> + <entry file="file://$PROJECT_DIR$/studentview/assets/js/overview.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="21"> - <caret line="125" column="34" lean-forward="false" selection-start-line="125" selection-start-column="34" selection-end-line="125" selection-end-column="34" /> + <state relative-caret-position="357"> + <caret line="103" column="33" lean-forward="true" selection-start-line="103" selection-start-column="33" selection-end-line="103" selection-end-column="33" /> <folding /> </state> </provider> diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java index dd4ebf438976d96cfe61b1bf4402569834e57ae7..1b00ee2a5441dd19c674ca7f851a8ec84c67938b 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/Management.java @@ -4,7 +4,7 @@ import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.modules.assessment.controller.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; /** * Created by dehne on 31.05.2018. diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java index dfffd4df1fdf0dee228ae9e1d499876342e4219c..edb82a05fa7f3ba6ea6665712efc2d70d45f910d 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/ManagementImpl.java @@ -6,7 +6,7 @@ import unipotsdam.gf.core.management.project.Project; import unipotsdam.gf.core.management.user.User; import unipotsdam.gf.core.management.user.UserInterests; import unipotsdam.gf.core.management.user.UserProfile; -import unipotsdam.gf.modules.assessment.controller.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; import java.util.ArrayList; import java.util.List; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java new file mode 100644 index 0000000000000000000000000000000000000000..1ded761071f6686132b340d010ba6fc10018af74 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/user/Menu.java @@ -0,0 +1,26 @@ +package unipotsdam.gf.core.management.user; + +import unipotsdam.gf.core.management.ManagementImpl; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.SimpleTagSupport; +import java.io.IOException; + +public class Menu extends SimpleTagSupport { + public void doTag() throws JspException, IOException { + JspWriter out = getJspContext().getOut(); + out.println("<div id=\"sidebar-wrapper\">\n" + + " <ul class=\"sidebar-nav\">\n" + + " <li class=\"sidebar-brand\"><a href=\"project-student.jspjsp\">overview</a></li>\n" + + " <li><a href=\"takeQuiz.jsp\">Quizfrage</a></li>\n" + + " <li><a href=\"#\">ePortfolio</a></li>\n" + + " <li><a href=\"#\">Beitrag</a></li>\n" + + " <li><a href=\"finalAssessments.jsp\">Bewertung</a></li>\n" + + " <li><a href=\"../index.jsp\">Logout</a></li>\n" + + " </ul>\n" + + " </div>"); + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java index b08418626291d61ab01198c43848c3ce6bc450cd..9a23d8f4d3036c6bd9f728e7d6cc213beaa42fa1 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/interfaces/IPeerAssessment.java @@ -1,9 +1,9 @@ package unipotsdam.gf.interfaces; -import unipotsdam.gf.modules.assessment.controller.Assessment; -import unipotsdam.gf.modules.assessment.controller.Performance; -import unipotsdam.gf.modules.assessment.controller.Quiz; -import unipotsdam.gf.modules.assessment.controller.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.model.*; + +import java.util.ArrayList; +import java.util.List; /** * Created by dehne on 18.05.2018. @@ -17,6 +17,7 @@ public interface IPeerAssessment { */ void addAssessmentDataToDB(Assessment assessment); + Quiz getQuiz(String projectId, String groupId); /** * will return a saved assessment from the DB * @@ -28,19 +29,26 @@ public interface IPeerAssessment { /** * writes a quiz-question into the DB so other students can benefit from another's insights. * - * @param student - * @param quiz + * @param studentAndQuiz */ - void createQuiz(StudentIdentifier student, Quiz quiz); + void createQuiz(StudentAndQuiz studentAndQuiz); /** * calculate grades for everyone in a list. * either it will be overwritten by choice of co- or peer-assessment or it gets a parameter which specifies it. * - * @param performanceOfAllStudents + * + * @param totalPerformance @return + */ + List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance); // calculates marks for every performance and writes it to an array + + + /** + * + * @param studentIdentifier * @return */ - int[] calculateAssessment(Performance[] performanceOfAllStudents); // calculates marks for every performance and writes it to an array + ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier); /** * calculates the mean value of all assessments in a project. @@ -49,4 +57,21 @@ public interface IPeerAssessment { * @return */ int meanOfAssessement(String ProjectId); + + /** + * returns all quizzes in a project + * + * @param projectId + * @return all quizzes in projectId + */ + ArrayList<Quiz> getQuiz(String projectId); + + /** + * writes the peerRatings into db + * + * @param projectId + * @param groupId + * @param peerRatings + */ + void postPeerRating(String projectId, String groupId, ArrayList<PeerRating> peerRatings); } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/FBAssessement.java deleted file mode 100644 index 0890abdcf4ddf3d7fcb7dd8c599fbb097c41b4c3..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/FBAssessement.java +++ /dev/null @@ -1,41 +0,0 @@ -package unipotsdam.gf.modules.assessment.controller; - -/** - * Created by dehne on 18.05.2018. - */ -public class FBAssessement extends AssessmentDAO { - - @Override - public void addAssessmentDataToDB(Assessment assessment) { - // write it to db - } - - @Override - public void createQuiz(StudentIdentifier student, Quiz quiz) { - - } - - - @Override - public int[] calculateAssessment(Performance[] performanceOfAllStudents){ // calculates marks for every performance and writes it to an array - int[] dummy = new int[4]; - dummy[0]=1; - dummy[1]=4; - dummy[2]=3; - dummy[3]=2; - return dummy; - } - - public void createQuiz(StudentIdentifier student, String question, String[] answers){ //writes a new question into the DB - - } - - public boolean permission(int feedbackCount){ - return true; - } - - @Override - public int meanOfAssessement(String projectId) { - return 0; - } -} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Assessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java similarity index 75% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Assessment.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java index bfd450bcdae514d309b19919e39e50557df956ef..7b269aa7f1059c0446d314714ffb38761f1d8e94 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Assessment.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Assessment.java @@ -1,4 +1,9 @@ -package unipotsdam.gf.modules.assessment.controller; +package unipotsdam.gf.modules.assessment.controller.model; + +import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; + +@XmlRootElement public class Assessment { private StudentIdentifier student; @@ -9,6 +14,10 @@ public class Assessment { this.performance = performance; } + public Assessment(){} + + public ArrayList<Performance> getTotalAssessment() { return null; } + public StudentIdentifier getStudent() { return student; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Grading.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Grading.java new file mode 100644 index 0000000000000000000000000000000000000000..81cbafa7df8add48d8c1c5bb7469984ca12915c3 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Grading.java @@ -0,0 +1,38 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +public class Grading { + private StudentIdentifier studentIdentifier; + private double grade; + + public Grading(){} + + public Grading(StudentIdentifier studentIdentifier, double grade) { + this.studentIdentifier = studentIdentifier; + this.grade = grade; + } + + public double getGrade() { + return grade; + } + + public void setGrade(int grade) { + this.grade = grade; + } + + public StudentIdentifier getStudentIdentifier() { + return studentIdentifier; + } + + public void setStudentIdentifier(StudentIdentifier studentIdentifier) { + this.studentIdentifier = studentIdentifier; + } + + @Override + public String toString() { + return "Grading{" + + "studentIdentifier=" + studentIdentifier + + ", grade=" + grade + + '}'; + } + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java new file mode 100644 index 0000000000000000000000000000000000000000..80d35be34f8e6208f5c436d267e4d6e93b391129 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/PeerRating.java @@ -0,0 +1,51 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +import java.util.Arrays; + +public class PeerRating { + private String fromPeer; + private String toPeer; + private int[] workRating; + + @Override + public String toString() { + return "PeerRating{" + + "fromPeer='" + fromPeer + '\'' + + ", toPeer='" + toPeer + '\'' + + ", workRating=" + Arrays.toString(workRating) + + '}'; + } + + public String getFromPeer() { + return fromPeer; + } + + public PeerRating() { + } + + public void setFromPeer(String fromPeer) { + this.fromPeer = fromPeer; + } + + public String getToPeer() { + return toPeer; + } + + public void setToPeer(String toPeer) { + this.toPeer = toPeer; + } + + public int[] getWorkRating() { + return workRating; + } + + public void setWorkRating(int[] workRating) { + this.workRating = workRating; + } + + public PeerRating(String fromPeer, String toPeer, int[] workRating) { + this.fromPeer = fromPeer; + this.toPeer = toPeer; + this.workRating = workRating; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Performance.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java similarity index 53% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Performance.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java index 7e05864f14a3ca635153d0e1622abac7de3f67cd..41a74ef307f07b7f2953183ac2f1b18eba61159e 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Performance.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Performance.java @@ -1,16 +1,29 @@ -package unipotsdam.gf.modules.assessment.controller; +package unipotsdam.gf.modules.assessment.controller.model; import java.util.Arrays; public class Performance { + private StudentIdentifier studentIdentifier; private int[] quizAnswer; private String feedback; private int[] workRating; - public Performance(int[] quizAnswer, String feedback, int[] workRating) { - this.quizAnswer = quizAnswer; - this.feedback = feedback; - this.workRating = workRating; + public Performance(){} + + public Performance(StudentIdentifier student, int[] quiz, String feedback, int[] workRating) { + this.studentIdentifier = student; + this.quizAnswer = quiz; + this.feedback=feedback; + this.workRating=workRating; + + } + + public StudentIdentifier getStudentIdentifier() { + return studentIdentifier; + } + + public void setStudentIdentifier(StudentIdentifier studentIdentifier) { + this.studentIdentifier = studentIdentifier; } public int[] getQuizAnswer() { @@ -37,12 +50,15 @@ public class Performance { this.workRating = workRating; } + @Override public String toString() { return "Performance{" + - "quizAnswer=" + Arrays.toString(quizAnswer) + + "studentIdentifier=" + studentIdentifier + + ", quizAnswer=" + Arrays.toString(quizAnswer) + ", feedback='" + feedback + '\'' + ", workRating=" + Arrays.toString(workRating) + '}'; } + } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Quiz.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java similarity index 88% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Quiz.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java index cc3bab9653370c44cc1a7074c61c369c1a1429ae..7abafb133a623a85028716af0e484734f06c93d9 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/Quiz.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/Quiz.java @@ -1,4 +1,8 @@ -package unipotsdam.gf.modules.assessment.controller; +package unipotsdam.gf.modules.assessment.controller.model; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement public class Quiz { private String type; @@ -12,6 +16,7 @@ public class Quiz { this.correctAnswers = correctAnswers; this.incorrectAnswers = incorrectAnswers; } + public Quiz(){} public String[] getIncorrectAnswers() { return incorrectAnswers; diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java new file mode 100644 index 0000000000000000000000000000000000000000..4f5f5c0976bffc1bc51602c7c1cc886f294ac1d5 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentAndQuiz.java @@ -0,0 +1,38 @@ +package unipotsdam.gf.modules.assessment.controller.model; + +public class StudentAndQuiz { + @Override + public String toString() { + return "StudentAndQuiz{" + + "studentIdentifier=" + studentIdentifier + + ", quiz=" + quiz + + '}'; + } + + public StudentAndQuiz(){} + + private StudentIdentifier studentIdentifier; + + public StudentIdentifier getStudentIdentifier() { + return studentIdentifier; + } + + public void setStudentIdentifier(StudentIdentifier studentIdentifier) { + this.studentIdentifier = studentIdentifier; + } + + public Quiz getQuiz() { + return quiz; + } + + public void setQuiz(Quiz quiz) { + this.quiz = quiz; + } + + private Quiz quiz; + + public StudentAndQuiz(StudentIdentifier studentIdentifier, Quiz quiz) { + this.studentIdentifier = studentIdentifier; + this.quiz = quiz; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/StudentIdentifier.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentIdentifier.java similarity index 88% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/StudentIdentifier.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentIdentifier.java index 05799b86895153a95fce2fe5e2243f622c0e7df4..22206d27bf157dcefbb5106a3de74af3cfe68050 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/StudentIdentifier.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/model/StudentIdentifier.java @@ -1,4 +1,4 @@ -package unipotsdam.gf.modules.assessment.controller; +package unipotsdam.gf.modules.assessment.controller.model; public class StudentIdentifier { private String projectId; @@ -9,6 +9,9 @@ public class StudentIdentifier { this.studentId = studentId; } + public StudentIdentifier() { + } + public String getProjectId() { return projectId; } diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/AssessmentDAO.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDAO.java similarity index 57% rename from gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/AssessmentDAO.java rename to gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDAO.java index ed7b43d3a6eff9b5a21da1c95feadbb73fefc973..554c9f998dc3f87885b4a36a82b8b955cf1f29e5 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/AssessmentDAO.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/AssessmentDAO.java @@ -1,7 +1,9 @@ -package unipotsdam.gf.modules.assessment.controller; +package unipotsdam.gf.modules.assessment.controller.service; import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.Assessment; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; /** * Created by dehne on 18.05.2018. diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java new file mode 100644 index 0000000000000000000000000000000000000000..3368ce839633cd4e5172cffdad36fca4031604cb --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/FBAssessement.java @@ -0,0 +1,60 @@ +package unipotsdam.gf.modules.assessment.controller.service; + +import unipotsdam.gf.modules.assessment.controller.model.*; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by dehne on 18.05.2018. + */ +public class FBAssessement extends AssessmentDAO { + + @Override + public void addAssessmentDataToDB(Assessment assessment) { + // write it to db + } + + @Override + public Quiz getQuiz(String projectId, String groupId) { + return null; + } + + @Override + public void createQuiz(StudentAndQuiz studentAndQuiz) { + + } + + @Override + public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) { + return null; + } + + @Override + public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { + return null; + } + + public void createQuiz(StudentIdentifier student, String question, String[] answers){ //writes a new question into the DB + + } + + public boolean permission(int feedbackCount){ + return true; + } + + @Override + public int meanOfAssessement(String projectId) { + return 0; + } + + @Override + public ArrayList<Quiz> getQuiz(String projectId) { + return null; + } + + @Override + public void postPeerRating(String projectId, String groupId, ArrayList<PeerRating> peerRatings) { + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java new file mode 100644 index 0000000000000000000000000000000000000000..418f4fed993a364cb82b9ea4793dc066d9a9b75f --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessment.java @@ -0,0 +1,54 @@ +package unipotsdam.gf.modules.assessment.controller.service; + +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.*; + +import java.util.ArrayList; +import java.util.List; + +public class PeerAssessment implements IPeerAssessment { + @Override + public void addAssessmentDataToDB(Assessment assessment) { + + } + + @Override + public Quiz getQuiz(String projectId, String groupId) { + return null; + } + + @Override + public Assessment getAssessmentDataFromDB(StudentIdentifier student) { + return null; + } + + @Override + public void createQuiz(StudentAndQuiz studentAndQuiz) { + + } + + @Override + public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) { + return null; + } + + @Override + public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { + return null; + } + + @Override + public int meanOfAssessement(String ProjectId) { + return 0; + } + + @Override + public ArrayList<Quiz> getQuiz(String projectId) { + return null; + } + + @Override + public void postPeerRating(String projectId, String groupId, ArrayList<PeerRating> peerRatings) { + + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java new file mode 100644 index 0000000000000000000000000000000000000000..49d7a38eae6579433f677ba6a08f056a4d51ca56 --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/service/PeerAssessmentDummy.java @@ -0,0 +1,107 @@ +package unipotsdam.gf.modules.assessment.controller.service; + +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.*; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class PeerAssessmentDummy implements IPeerAssessment { + @Override + public void addAssessmentDataToDB(Assessment assessment) { + } + + @Override + public Quiz getQuiz(String projectId, String quizId) { + String[] correctAnswers = new String[2]; + Quiz sampleQuiz; + if (quizId.equals("2")) { + correctAnswers[0] = "42"; + correctAnswers[1] = "" + projectId + " " + quizId; + String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"}; + sampleQuiz = new Quiz("multiple", "Who am I and if so, how many?", correctAnswers, wrongAnswers); + } else { + correctAnswers[0] = "ja, nicht?!"; + correctAnswers[1] = "nee, oder doch?!"; + String[] wrongAnswers = {"Mephistopheles", "Der alte Hexenmeister!?", "Der Schimmelreiter", "alle beide"}; + sampleQuiz = new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, wrongAnswers); + } + + return sampleQuiz; + } + + public ArrayList<Quiz> getQuiz(String projectId) { + String[] correctAnswers = new String[2]; + ArrayList<Quiz> sampleQuiz = new ArrayList<Quiz>(); + correctAnswers[0] = "42"; + correctAnswers[1] = "" + projectId + " 24"; + String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"}; + sampleQuiz.add(new Quiz("multiple", "Who am I and if so, how many?", correctAnswers, wrongAnswers)); + + correctAnswers[0] = "ja, nicht?!"; + correctAnswers[1] = "nee, oder doch?!"; + wrongAnswers = new String[]{"Mephistopheles", "Der alte Hexenmeister!?", "Der Schimmelreiter", "alle beide"}; + sampleQuiz.add(new Quiz("multiple", "Ist das nun des Pudels wahrer Kern?", correctAnswers, wrongAnswers)); + + return sampleQuiz; +} + + @Override + public void postPeerRating(String projectId, String groupId, ArrayList<PeerRating> peerRatings) { + int breakpoint = 0; + } + + @Override + public Assessment getAssessmentDataFromDB(StudentIdentifier student) { + int[] quizAnswer = {1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1}; + int[] workRating = {1, 5, 3, 4, 1, 5, 5}; + Performance performance = new Performance(student, quizAnswer, "what a nice guy", workRating); + Assessment assessment = new Assessment(student, performance); + return assessment; + } + + @Override + public void createQuiz(StudentAndQuiz studentAndQuiz) { + } + + @Override + public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) { + double[] allAssessements = new double[totalPerformance.size()]; + Grading[] grading = new Grading[totalPerformance.size()]; + + for (int i = 0; i < totalPerformance.size(); i++) { + for (int j = 0; j < totalPerformance.get(i).getQuizAnswer().length; j++) { + allAssessements[i] += totalPerformance.get(i).getQuizAnswer()[j]; + } + allAssessements[i] = allAssessements[i] / totalPerformance.get(i).getQuizAnswer().length; + } + for (int i = 0; i < totalPerformance.size(); i++) { + Grading shuttle = new Grading(totalPerformance.get(i).getStudentIdentifier(), allAssessements[i]); + grading[i] = shuttle; + } + return Arrays.asList(grading); + } + + @Override + public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { + StudentIdentifier[] students = new StudentIdentifier[2]; + StudentIdentifier student1 = new StudentIdentifier("gemeinsamForschen", "Haralf"); + StudentIdentifier student2 = new StudentIdentifier("gemeinsamForschen", "Regine"); + ArrayList<Performance> performances = new ArrayList<Performance>(); + int[] quiz = {1, 0, 1, 0, 0, 0, 1}; + int[] quiz2 = {0, 1, 0, 1, 1, 1, 0}; + int[] work = {5, 4, 3, 2, 1}; + int[] work2 = {1, 2, 3, 4, 5}; + Performance performance = new Performance(student1, quiz, "toller dude", work); + performances.add(performance); + performance = new Performance(student2, quiz2, "tolle dudine", work2); + performances.add(performance); + return performances; + } + + @Override + public int meanOfAssessement(String ProjectId) { + return 0; + } +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java new file mode 100644 index 0000000000000000000000000000000000000000..077ebb237b82d80b98d3ac19911fba729d5494ea --- /dev/null +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/assessment/controller/view/QuizView.java @@ -0,0 +1,118 @@ +package unipotsdam.gf.modules.assessment.controller.view; + +import unipotsdam.gf.interfaces.IPeerAssessment; +import unipotsdam.gf.modules.assessment.controller.model.*; +import unipotsdam.gf.modules.assessment.controller.service.PeerAssessmentDummy; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.ArrayList; +import java.util.List; + +@Path("/assessments") +public class QuizView implements IPeerAssessment { + private static IPeerAssessment peer = new PeerAssessmentDummy(); + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/project/{projectId}/quiz/{quizId}") + @Override + public Quiz getQuiz(@PathParam("projectId") String projectId, @PathParam("quizId") String quizId) { + return peer.getQuiz(projectId, quizId); + } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/project/{projectId}/quiz") + @Override + public ArrayList<Quiz> getQuiz(@PathParam("projectId") String projectId) { + return peer.getQuiz(projectId); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Path("/peer/project/{projectId}/group/{groupId}") + @Override + public void postPeerRating(@PathParam("projectId") String projectId, @PathParam("groupId") String groupId, ArrayList<PeerRating> peerRatings){ + peer.postPeerRating(projectId,groupId,peerRatings); + } + + @POST + @Produces(MediaType.TEXT_PLAIN) + @Consumes(MediaType.APPLICATION_JSON) + @Path("/assessment") + @Override + public void addAssessmentDataToDB(Assessment assessment) { + peer.addAssessmentDataToDB(assessment); + } + + + @Override + public Assessment getAssessmentDataFromDB(StudentIdentifier student){ + return peer.getAssessmentDataFromDB(student); + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/project/{projectId}/student/{studentId}") + public Assessment getAssessmentDataFromDB(@PathParam("projectId") String projectId,@PathParam("studentId") String studentId){ + StudentIdentifier student = new StudentIdentifier(projectId, studentId); + return getAssessmentDataFromDB(student); + } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + @Path("/quiz") + @Override + public void createQuiz(StudentAndQuiz studentAndQuiz) { + peer.createQuiz(studentAndQuiz); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + @Path("/calculate") + @Override + public List<Grading> calculateAssessment(ArrayList<Performance> totalPerformance) { + return peer.calculateAssessment(totalPerformance); + } + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/mean/project/{projectId}") + @Override + public int meanOfAssessement(@PathParam("projectId") String ProjectId) { + + return peer.meanOfAssessement(ProjectId); + } ///////////////////////////////return 0////////////////////////////////// + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/total/project/{projectId}/student/{student}") + public ArrayList<Performance> getTotalAssessment(@PathParam("projectId") String ProjectId,@PathParam("student") String student){ + StudentIdentifier studentIdentifier = new StudentIdentifier(ProjectId, student); + return getTotalAssessment(studentIdentifier); + } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + + @Override + public ArrayList<Performance> getTotalAssessment(StudentIdentifier studentIdentifier) { + return peer.getTotalAssessment(studentIdentifier); + } ///////////////////////////////funktioniert wie geplant////////////////////////////////// + + + @GET + @Produces(MediaType.APPLICATION_JSON) + @Path("/dummy/totalperformance") + public List<Performance> getTotalAssessment() { + ArrayList<Performance> result = new ArrayList<>(); + StudentIdentifier student = new StudentIdentifier("projekt","student"); + int[] quiz = {1,0,1,1,1,0}; + Performance pf = new Performance(student,quiz,"toller dude",quiz); + Performance pf2 = new Performance(student,quiz,"super",quiz); + result.add(pf); + result.add(pf2); + return result; + } ///////////////////////////////returns what i expect it to return!!!!!////////////////////////////////// + +} diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java index b4ab145efa2e345797c8c918846a5f483b427f17..256554946e5218afacaedc914e21fe9c1f70ca01 100644 --- a/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java +++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/modules/munchkin/service/RestyMunschkin.java @@ -38,5 +38,23 @@ public class RestyMunschkin { return munschkin; } + @GET + @Produces(MediaType.TEXT_HTML) + @Path("/project/{projectId}/quiz/{quizId}") + public String exampleQuiz(@PathParam("projectId") String name, @PathParam("quizId") String quiz) { + /**String[] correctAnswers = new String[2]; + correctAnswers[0] = "42"; + correctAnswers[1] = "24"; + String[] wrongAnswers = {"a god created creature", "a sum of my mistakes"}; + if (false){ + return "ProjectId not found: " + name; + } + Quiz sampleQuiz = new Quiz("multiple","Who am I and if so, how many?", correctAnswers,wrongAnswers); + log.info("HelloWorldview helloWorld Method answered: "+ sampleQuiz.toString()); + return sampleQuiz.toString();*/ + return "<html> " + "<title>" + "Hello Munschkin" + "</title>" + "<body><h1>" + "</body></h1>" + "</html> "; + + } + } diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css b/gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css new file mode 100644 index 0000000000000000000000000000000000000000..fd35cb7c8666702b9c4410f85ef329fa8a8b3b0a --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/css/Community-ChatComments.css @@ -0,0 +1,13 @@ +img { + border-radius:5px; +} + +img { + border-radius:5px; +} + +.btn { + margin:0px 10px; + margin-bottom:20px; +} + diff --git a/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css b/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css new file mode 100644 index 0000000000000000000000000000000000000000..66e203c407f8777f74f6fdbcca0b9ba43812e3b1 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/css/Sidebar-Menu-1.css @@ -0,0 +1,129 @@ +body { + overflow-x:hidden; +} + +#wrapper { + padding-left:0; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease; +} + +#wrapper.toggled { + padding-left:250px; +} + +#sidebar-wrapper { + z-index:1000; + position:fixed; + left:250px; + width:0; + height:100%; + margin-left:-250px; + overflow-y:auto; + background:#000; + -webkit-transition:all 0.5s ease; + -moz-transition:all 0.5s ease; + -o-transition:all 0.5s ease; + transition:all 0.5s ease; +} + +#wrapper.toggled #sidebar-wrapper { + width:250px; +} + +#page-content-wrapper { + width:100%; + position:absolute; + padding:15px; +} + +#wrapper.toggled #page-content-wrapper { + position:absolute; + margin-right:-250px; +} + +.sidebar-nav { + position:absolute; + top:0; + width:250px; + margin:0; + padding:0; + list-style:none; +} + +.sidebar-nav li { + text-indent:20px; + line-height:40px; +} + +.sidebar-nav li a { + display:block; + text-decoration:none; + color:#999999; +} + +.sidebar-nav li a:hover { + text-decoration:none; + color:#fff; + background:rgba(255,255,255,0.2); +} + +.sidebar-nav li a:active, .sidebar-nav li a:focus { + text-decoration:none; +} + +.sidebar-nav > .sidebar-brand { + height:65px; + font-size:18px; + line-height:60px; +} + +.sidebar-nav > .sidebar-brand a { + color:#999999; +} + +.sidebar-nav > .sidebar-brand a:hover { + color:#fff; + background:none; +} + +@media (min-width:768px) { + #wrapper { + padding-left:250px; + } +} + +@media (min-width:768px) { + #wrapper.toggled { + padding-left:0; + } +} + +@media (min-width:768px) { + #sidebar-wrapper { + width:250px; + } +} + +@media (min-width:768px) { + #wrapper.toggled #sidebar-wrapper { + width:0; + } +} + +@media (min-width:768px) { + #page-content-wrapper { + padding:20px; + position:relative; + } +} + +@media (min-width:768px) { + #wrapper.toggled #page-content-wrapper { + position:relative; + margin-right:0; + } +} + diff --git a/gemeinsamforschen/src/main/webapp/assets/css/styles.css b/gemeinsamforschen/src/main/webapp/assets/css/styles.css index 51a30b0dd9cb1987e7d8c71cd72bbba19a31f3a5..6ec6901b2d84402968007dd91576976dcb00d492 100644 --- a/gemeinsamforschen/src/main/webapp/assets/css/styles.css +++ b/gemeinsamforschen/src/main/webapp/assets/css/styles.css @@ -95,7 +95,33 @@ opacity: 0; } } +#chat { + width:35%; + margin-right: 20px; +} + +table .tableTd{ + font-size: 27px; +} + +table .table-striped{ + margin-left:2%; + font-size:24px; + align-content: center; + width: 96%; +} +table ul{ + justify-items: center; +} + +table img{ + width:200px; +} + +.btn .btn-light{ + margin-top:6px; +} .checkbox { padding-left: 20px; } diff --git a/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js b/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js new file mode 100644 index 0000000000000000000000000000000000000000..75d87e9ab3437b44784b97cf2e600b636f8b4257 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/Sidebar-Menu.js @@ -0,0 +1,4 @@ +$("#menu-toggle").click(function(e) { + e.preventDefault(); + $("#wrapper").toggleClass("toggled"); +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js b/gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js new file mode 100644 index 0000000000000000000000000000000000000000..0cc6abce4347fd4db6317ab94808c61c8bf32162 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/assessmentCalculator.js @@ -0,0 +1,81 @@ +$(document).ready(function () { + $("#giveItBack").on("click", function () { + $.ajax({ + url: "http://localhost:8080/gemeinsamforschen/rest/assessments/total/project/" + "gemeinsamForschen" + "/student/" + "Bela", + type: 'GET', + success: function (data) { + alert("here is the TotalPerformance: " + data); + }, + error: function (a, b, c) { + alert('some error' + a); + } + }) + }); + $("#calculateNow").on("click", function () { + var dataP = [ + { + "studentIdentifier": { + "projectId": "projekt", + "studentId": "Keiler" + }, + "quizAnswer": [ + 1, + 0, + 1, + 1, + 1, + 0 + ], + "feedback": "toller dude", + "workRating": [ + 5, + 4, + 3, + 2, + 1, + 0 + ] + }, + { + "studentIdentifier": { + "projectId": "projekt", + "studentId": "Glucke" + }, + "quizAnswer": [ + 1, + 1, + 1, + 1, + 1, + 0 + ], + "feedback": "super", + "workRating": [ + 1, + 1, + 1, + 2, + 3, + 2 + ] + } + ]; + + $.ajax({ + url: "http://localhost:8080/gemeinsamforschen/rest/assessments/calculate", + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: JSON.stringify(dataP), + success: function (response) { + alert(response[0].studentIdentifier.studentId + " got " +response[0].grade*100+"% /n"+ + response[1].studentIdentifier.studentId + " got " +response[1].grade*100+"% /n"); + }, + error: function (a) { + alert('some error' + a); + } + }) + }) +}); \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js b/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js new file mode 100644 index 0000000000000000000000000000000000000000..6a201dfc0689649815ae3f83f8456bd8a98f7bee --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/finalAssessment.js @@ -0,0 +1,37 @@ +$(document).ready(function() { + $(".carousel").carousel({ + interval: false + }); + $('#assessThePeer').on("click", function () { + assessPeer(); + }); +}); +function assessPeer(){ + var peerRating = { + "fromPeer": getUser(), + "toPeer": "", + "workRating": [] + }; + var dataP = []; + var peerStudents =$('.peerStudent'); + for (var i=0; i< peerStudents.length; i++){ + peerRating.toPeer = peerStudents[i].id; + peerRating.workRating = [5,4,3,2] + } + dataP.push(peerRating); + $.ajax({ + url:'http://localhost:8080/gemeinsamforschen/rest/assessments/peer/project/1/group/1', + type: 'POST', + headers: { + "Content-Type": "application/json", + "Cache-Control": "no-cache" + }, + data: JSON.stringify(dataP), + success: function(){ + + }, + error: function(a,b,c){ + + } + }); +} diff --git a/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js b/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js new file mode 100644 index 0000000000000000000000000000000000000000..eda93884153fc362f1d53bd7f590b090ac1c8583 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/assets/js/takeQuiz.js @@ -0,0 +1,42 @@ +$(document).ready(function () { + $.ajax({ + url: 'http://localhost:8080/gemeinsamforschen/rest/assessments/project/1/quiz/', + type: 'GET', + success: function (data) { + var table = document.getElementById('tableQuiz'); + for (var quiz = 0; quiz < data.length; quiz++){ + var answers = data[quiz].correctAnswers.concat(data[quiz].incorrectAnswers); + var colspan = answers.length; + var trQuestion = document.createElement('TR'); + var question = '<td colspan="' + colspan + '" class="questionTd">' + data[quiz].question + '</td>'; + trQuestion.innerHTML = question; + var trAnswers = document.createElement('TR'); + answers = shuffle(answers); + var answersTd='<td style="display: block;">'; + for (var i = 0; i < answers.length; i++) { + answersTd = answersTd + '<div><label><input type="checkbox">' + answers[i] + '</label></div>'; + } + trAnswers.innerHTML = answersTd+'</td>'; + table.appendChild(trQuestion); + table.appendChild(trAnswers); + } + }, + error: function (a, b, c) { + alert('Fehler ' + a); + } + }); + $("#submitQuiz").on("click", function () { + + }); +}); + +function shuffle(a) { + var j, x, i; + for (i = a.length - 1; i > 0; i--) { + j = Math.floor(Math.random() * (i + 1)); + x = a[i]; + a[i] = a[j]; + a[j] = x; + } + return a; +} \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/core/pages/hiddenUserField.tld b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld similarity index 65% rename from gemeinsamforschen/src/main/webapp/core/pages/hiddenUserField.tld rename to gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld index bb1ceeb141850ffc882c0521893f52d6d94f181b..3704c718e3338de67f5165d78f3d5785f983b11a 100644 --- a/gemeinsamforschen/src/main/webapp/core/pages/hiddenUserField.tld +++ b/gemeinsamforschen/src/main/webapp/core/pages/gemeinsamForschen.tld @@ -8,4 +8,11 @@ <tag-class>unipotsdam.gf.core.management.user.HiddenUserTag</tag-class> <body-content>empty</body-content> </tag> + + <tag> + <name>menu</name> + <tag-class>unipotsdam.gf.core.management.user.Menu</tag-class> + <body-content>empty</body-content> + </tag> + </taglib> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp new file mode 100644 index 0000000000000000000000000000000000000000..5ce82ab35daafbda393fc1f8e8a91441347635e4 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/pages/assessmentCalculator.jsp @@ -0,0 +1,16 @@ +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> + +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>assessment calculator</title> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script src="../assets/js/assessmentCalculator.js"></script> +</head> +<body> +<button id="calculateNow">Post Performance</button> +<button id="giveItBack">Get TotalPerformance</button> +<menu:menu></menu:menu> +</body> +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp b/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp new file mode 100644 index 0000000000000000000000000000000000000000..52b127d16b895665f442b4c3d13b0e26017f7b07 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/pages/finalAssessments.jsp @@ -0,0 +1,365 @@ +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> + +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>muster-gemeinsam-forschen</title> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> + <link rel="stylesheet" href="../assets/css/styles.css"> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> + <script src="../assets/js/finalAssessment.js"></script> + <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> + <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> +</head> + +<body> +<div id="wrapper"> + <menu:menu></menu:menu> + <div class="page-content-wrapper"> + <div class="container-fluid"> + <h1 id="projectId">project1 + <a href="#"> + <span class="glyphicon glyphicon-envelope" + style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> + </a> + <a href="#"> + <span class="glyphicon glyphicon-cog" + style="font-size:29px;margin-left:5px;margin-top:-25px;"></span> + </a></h1> + </div> + <div> + <table> + <tr> + <td id="yourContent"> + <h1>Assessment for project1 </h1> + <!-- here will be all the content --> + <div class="container"> + <h2>Carousel Example</h2> + <div id="myCarousel" class="carousel slide" data-ride="carousel"> + <!-- Indicators --> + <ol class="carousel-indicators"> + <li data-target="#myCarousel" data-slide-to="0" class="active"></li> + <li data-target="#myCarousel" data-slide-to="1"></li> + <li data-target="#myCarousel" data-slide-to="2"></li> + </ol> + + <!-- Wrapper for slides --> + <div class="carousel-inner"> + <div class="item active"> + <table class="table-striped peerStudent" + style="width:70%;border:1px solid; margin:auto;" id="student1"> + <tr> + <td align="center"> + <img src="../assets/img/1.jpg" alt="student1" + style="width:20%;"> + </td> + </tr> + <tr> + <td align="center"> + <h3>Führungsqualität</h3> + </td> + </tr> + <tr> + <td align="center"> + <label>gut<input type="radio" value="5" + name="leadership1"></label> + <input type="radio" value="4" name="leadership1"> + <input type="radio" value="3" name="leadership1"> + <input type="radio" value="2" name="leadership1"> + <label><input type="radio" value="1" name="leadership1"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Kooperationsbereitschaft</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="cooparation1"> + gut</label> + <input type="radio" value="4" name="cooparation1"> + <input type="radio" value="3" name="cooparation1"> + <input type="radio" value="2" name="cooparation1"> + <label><input type="radio" value="1" name="cooparation1"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Pünktlichkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="punctual1"> + gut</label> + <input type="radio" value="4" name="punctual1"> + <input type="radio" value="3" name="punctual1"> + <input type="radio" value="2" name="punctual1"> + <label><input type="radio" value="1" name="punctual1"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Selbstständigkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="autonomous1"> + gut</label> + <input type="radio" value="4" name="autonomous1"> + <input type="radio" value="3" name="autonomous1"> + <input type="radio" value="2" name="autonomous1"> + <label><input type="radio" value="1" name="autonomous1"> + ungenügend</label> + </td> + </tr> + </table> + </div> + + <div class="item"> + <table class="table-striped peerStudent" + style="width:70%;border:1px solid; margin:auto;" id="student2"> + <tr> + <td align="center"> + <img src="../assets/img/2.jpg" alt="student2" + style="width:20%;"> + </td> + </tr> + <tr> + <td align="center"> + <h3>Führungsqualität</h3> + </td> + </tr> + <tr> + <td align="center"> + <label>gut<input type="radio" value="5" + name="leadership2"></label> + <input type="radio" value="4" name="leadership2"> + <input type="radio" value="3" name="leadership2"> + <input type="radio" value="2" name="leadership2"> + <label><input type="radio" value="1" name="leadership2"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Kooperationsbereitschaft</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="cooparation2"> + gut</label> + <input type="radio" value="4" name="cooparation2"> + <input type="radio" value="3" name="cooparation2"> + <input type="radio" value="2" name="cooparation2"> + <label><input type="radio" value="1" name="cooparation2"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Pünktlichkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="punctual2"> + gut</label> + <input type="radio" value="4" name="punctual2"> + <input type="radio" value="3" name="punctual2"> + <input type="radio" value="2" name="punctual2"> + <label><input type="radio" value="1" name="punctual2"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Selbstständigkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="autonomous2"> + gut</label> + <input type="radio" value="4" name="autonomous2"> + <input type="radio" value="3" name="autonomous2"> + <input type="radio" value="2" name="autonomous2"> + <label><input type="radio" value="1" name="autonomous2"> + ungenügend</label> + </td> + </tr> + </table> + </div> + + <div class="item"> + <table class="table-striped peerStudent" + style="width:70%;border:1px solid; margin:auto;" id="student3"> + <tr> + <td align="center"> + <img src="../assets/img/3.jpg" alt="student3" + style="width:20%;"> + </td> + </tr> + <tr> + <td align="center"> + <h3>Führungsqualität</h3> + </td> + </tr> + <tr> + <td align="center"> + <label>gut<input type="radio" value="5" + name="leadership3"></label> + <input type="radio" value="4" name="leadership3"> + <input type="radio" value="3" name="leadership3"> + <input type="radio" value="2" name="leadership3"> + <label><input type="radio" value="1" name="leadership3"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Kooperationsbereitschaft</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="cooparation3"> + gut</label> + <input type="radio" value="4" name="cooparation3"> + <input type="radio" value="3" name="cooparation3"> + <input type="radio" value="2" name="cooparation3"> + <label><input type="radio" value="1" name="cooparation3"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Pünktlichkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="punctual3"> + gut</label> + <input type="radio" value="4" name="punctual3"> + <input type="radio" value="3" name="punctual3"> + <input type="radio" value="2" name="punctual3"> + <label><input type="radio" value="1" name="punctual3"> + ungenügend</label> + </td> + </tr> + <tr> + <td align="center"> + <h3>Selbstständigkeit</h3> + </td> + </tr> + <tr> + <td align="center"> + <label><input type="radio" value="5" name="autonomous3"> + gut</label> + <input type="radio" value="4" name="autonomous3"> + <input type="radio" value="3" name="autonomous3"> + <input type="radio" value="2" name="autonomous3"> + <label><input type="radio" value="1" name="autonomous3"> + ungenügend</label> + </td> + </tr> + </table> + </div> + </div> + + <!-- Left and right controls --> + <a class="left carousel-control" href="#myCarousel" data-slide="prev"> + <span class="glyphicon glyphicon-chevron-left"></span> + <span class="sr-only">Previous</span> + </a> + <a class="right carousel-control" href="#myCarousel" data-slide="next"> + <span class="glyphicon glyphicon-chevron-right"></span> + <span class="sr-only">Next</span> + </a> + </div> + <button class="btn btn-success" id="assessThePeer">Gruppe bewerten</button> + </div> + </td> + <td id="chat"> + <div class="card"> + <div class="card-header"> + <h6 class="mb-0">Gruppen+Projekt Chat</h6> + </div> + <div class="card-body"> + <ul class="list-group"> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/1.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going + 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/2.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been + going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul> + <button class="btn btn-light"> + Add Comment + </button> + </div> + </div> + </td> + </tr> + </table> + </div> + </div> +</div> + +<script src="../assets/js/jquery.min.js"></script> +<script src="../assets/bootstrap/js/bootstrap.min.js"></script> +<script src="../assets/js/Sidebar-Menu.js"></script> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/project-docent.html b/gemeinsamforschen/src/main/webapp/pages/project-docent.html index 232c9e7711e845bf35552c8571a59c497c7d12da..5e8890a70d8c22019b3f9ec72b687ec2f8b2608e 100644 --- a/gemeinsamforschen/src/main/webapp/pages/project-docent.html +++ b/gemeinsamforschen/src/main/webapp/pages/project-docent.html @@ -6,72 +6,127 @@ <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>project-student (copy)</title> <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css"> + <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> <link rel="stylesheet" href="../assets/css/styles.css"> </head> <body> - <h1>dummy Projekt1 für Dozent1</h1><button class="btn btn-default" type="button">Gruppen erstellen</button><button class="btn btn-default" type="button">Projekt-chat öffnen</button><button class="btn btn-default" type="button">Projekt finalisieren</button> + <h1>dummy Projekt1 für Dozent1</h1><button class="btn btn-default" type="button">Gruppen erstellen</button><button class="btn btn-default" type="button">Projekt finalisieren</button><button class="btn btn-default" type="button">Exportiere Projektergebnisse</button> <button - class="btn btn-default" type="button">Exportiere Projektergebnisse</button><button class="btn btn-default" type="button">Exportiere Zwischenstand</button><button class="btn btn-default" type="button">Quizfrage erstellen</button> - <div class="table-responsive"> - <table class="table"> - <thead> - <tr> - <th>Gruppe1 </th> - <th>Beiträge </th> - </tr> - </thead> - <tbody> - <tr> - <td>student1 </td> - <td>Interfaces </td> - </tr> - <tr> - <td>student2 </td> - <td>Design </td> - </tr> - </tbody> - </table> - </div> - <div class="table-responsive"> - <table class="table"> - <thead> - <tr> - <th>Gruppe2 </th> - <th>Beiträge </th> - </tr> - </thead> - <tbody> - <tr> - <td>student3 </td> - <td>Interfaces </td> - </tr> - <tr> - <td>student4 </td> - <td>Design </td> - </tr> - </tbody> - </table> - </div> - <div class="table-responsive"> - <table class="table"> - <thead> - <tr> - <th>Gruppe3 </th> - <th>Beiträge </th> - </tr> - </thead> - <tbody> - <tr> - <td>student5 </td> - <td>Interfaces </td> - </tr> - <tr> - <td>student6 </td> - <td>Design </td> - </tr> - </tbody> - </table> + class="btn btn-default" type="button">Exportiere Zwischenstand</button><button class="btn btn-default" type="button">Quizfrage erstellen</button> + <div> + <div class="container"> + <div class="row"> + <div class="col-md-6"> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe1 </th> + <th>Beiträge </th> + </tr> + </thead> + <tbody> + <tr> + <td>student1 </td> + <td>Interfaces </td> + </tr> + <tr> + <td>student2 </td> + <td>Design </td> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe2 </th> + <th>Beiträge </th> + </tr> + </thead> + <tbody> + <tr> + <td>student3 </td> + <td>Interfaces </td> + </tr> + <tr> + <td>student4 </td> + <td>Design </td> + </tr> + </tbody> + </table> + </div> + <div class="table-responsive" style="width:294px;"> + <table class="table"> + <thead> + <tr> + <th>Gruppe3 </th> + <th>Beiträge </th> + </tr> + </thead> + <tbody> + <tr> + <td>student5 </td> + <td>Interfaces </td> + </tr> + <tr> + <td>student6 </td> + <td>Design </td> + </tr> + </tbody> + </table> + </div> + </div> + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">ProjektChat</h3> + </div> + <div class="panel-body" style="height:233px;"> + <ul class="list-group"> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going 100+ MPH on side streets. <br> +<small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item" style="margin-bottom:6px;"> + <div class="media"> + <div class="media-left"><a></a></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div class="media-left"><a><img src="../assets/img/1.jpg" class="img-rounded" style="width: 25px; height:25px;"></a></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been going 100+ MPH on side streets. <br> +<small class="text-muted">August 6, 2016 @ 10:35am </small></p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul><button class="btn btn-default" type="button" style="margin-left:601px;margin-top:-9px;">Add Comment</button></div> + </div> + </div> + </div> + </div> </div> <script src="../assets/js/jquery.min.js"></script> <script src="../assets/bootstrap/js/bootstrap.min.js"></script> diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.html b/gemeinsamforschen/src/main/webapp/pages/project-student.html deleted file mode 100644 index ef556ac56bc5b6935c973a1b5c65307dd9688911..0000000000000000000000000000000000000000 --- a/gemeinsamforschen/src/main/webapp/pages/project-student.html +++ /dev/null @@ -1,58 +0,0 @@ -<!DOCTYPE html> -<html> - -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>project-student</title> - <link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css"> - <link rel="stylesheet" href="../assets/css/styles.css"> - <link rel="stylesheet" href="/core/assets/css/Team-Boxed.css"> -</head> - -<body> - <h1>dummy Projekt1 für Student1</h1> - <div></div> - <div class="team-boxed" style="height:581px;"> - <div class="container"> - <div class="intro"> - <h2 class="text-center">deine Gruppe</h2> - </div> - <div class="row people"> - <div class="col-md-4 col-sm-6 item"> - <div class="box"><img class="img-circle" src="../core/assets/img/1.jpg"> - <h3 class="name">student1 </h3> - <p class="title"> </p> - <ul> - <li>Interfaces hochgeladen</li> - <li>Design erstellt</li> - </ul> - </div> - </div> - <div class="col-md-4 col-sm-6 item"> - <div class="box"><img class="img-circle" src="../core/assets/img/2.jpg"> - <h3 class="name">student2 </h3> - <p class="title"> </p> - <ul> - <li>Interfaces hochgeladen</li> - </ul> - </div> - </div> - <div class="col-md-4 col-sm-6 item"> - <div class="box"><img class="img-circle" src="../core/assets/img/3.jpg"> - <h3 class="name">student3 </h3> - </div> - <ul> - <li>Interace hochgeladen</li> - </ul> - </div> - </div> - </div> - </div><button class="btn btn-default" type="button">Projekt-chat starten</button><button class="btn btn-default" type="button">Quizfrage erstellen</button><button class="btn btn-default" type="button">Gruppen-chat starten</button><button class="btn btn-default" - type="button">ePortfolio </button><button class="btn btn-default" type="button">Beitrag hochladen</button><button class="btn btn-default" type="button">feedback </button><button class="btn btn-default" type="button" disabled="disabled">Bewertung </button> - <script - src="../assets/js/jquery.min.js"></script> - <script src="../assets/bootstrap/js/bootstrap.min.js"></script> -</body> - -</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/project-student.jsp b/gemeinsamforschen/src/main/webapp/pages/project-student.jsp new file mode 100644 index 0000000000000000000000000000000000000000..56d203004a59c56540948d5011d9f3089cd8908b --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/pages/project-student.jsp @@ -0,0 +1,147 @@ +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> + +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>muster-gemeinsam-forschen</title> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> + <link rel="stylesheet" href="../assets/css/styles.css"> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> + <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> + <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> +</head> + +<body> +<div id="wrapper"> + <menu:menu></menu:menu> + + <div class="page-content-wrapper"> + <div class="container-fluid"> + <h1 id="projectId">project1 + <a href="#"> + <span class="glyphicon glyphicon-envelope" + style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> + </a> + <a href="#"> + <span class="glyphicon glyphicon-cog" style="font-size:29px;margin-left:5px;margin-top:-25px;"></span> + </a></h1> + </div> + <div> + <table> + <tr> + <td id="yourContent"> + <h1>your content guys and girls!</h1> + <!-- here will be all the content --> + <table> + <tr> + <td> + <h3>student1</h3> + <img src="../assets/img/1.jpg"> + <a href="#">student1@uni.de</a> + <hr> + <ul> + <li>Projektübersicht hochgeladen</li> + <li>Blumen ins Hausaufgabenheft geklebt</li> + </ul> + </td> + <td> </td> + <td> + <h3>student2</h3> + <img src="../assets/img/2.jpg"> + <a href="#">student2@uni.de</a> + <hr> + <ul> + <li>feedback zu Herbarium im Hausaufgabenheft gegeben</li> + <li>Blumen an Vegetarier verfüttert</li> + <li>Die armen Vegetarier</li> + </ul> + </td> + <td> </td> + <td> + <h3>student3</h3> + <img src="../assets/img/3.jpg"> + <a href="#">student3@uni.de</a> + <hr> + <ul> + <li>Viva la Floristika</li> + </ul> + </td> + </tr> + </table> + </td> + <td id="chat"> + <div class="card"> + <div class="card-header"> + <h6 class="mb-0">Gruppen+Projekt Chat</h6> + </div> + <div class="card-body"> + <ul class="list-group"> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/1.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going + 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/2.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been + going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul> + <button class="btn btn-light"> + Add Comment + </button> + </div> + </div> + </td> + </tr> + </table> + </div> + </div> +</div> + +<script src="../assets/js/jquery.min.js"></script> +<script src="../assets/bootstrap/js/bootstrap.min.js"></script> +<script src="../assets/js/Sidebar-Menu.js"></script> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp b/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp new file mode 100644 index 0000000000000000000000000000000000000000..3667a8628dd2ce4e2952d4572e889bdd560ff265 --- /dev/null +++ b/gemeinsamforschen/src/main/webapp/pages/takeQuiz.jsp @@ -0,0 +1,119 @@ +<%@ taglib uri="../core/pages/gemeinsamForschen.tld" prefix="menu"%> +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>muster-gemeinsam-forschen</title> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> + <link rel="stylesheet" href="../assets/css/styles.css"> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> + <script src="../assets/js/takeQuiz.js"></script> + <link rel="stylesheet" href="../assets/fonts/font-awesome.min.css"> + <link rel="stylesheet" href="../assets/css/Community-ChatComments.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu-1.css"> + <link rel="stylesheet" href="../assets/css/Sidebar-Menu.css"> +</head> + +<body> + + +<div id="wrapper"> + <menu:menu></menu:menu> + <div class="page-content-wrapper"> + <div class="container-fluid"> + <h1 id="projectId">project1 + <a href="#"> + <span class="glyphicon glyphicon-envelope" + style="font-size:27px;margin-top:-17px;margin-left:600px;"></span> + </a> + <a href="#"> + <span class="glyphicon glyphicon-cog" style="font-size:29px;margin-left:5px;margin-top:-25px;"></span> + </a></h1> + </div> + <div> + <table> + <tr> + <td id="yourContent"> + <h1>Quiz for project1 </h1> + <!-- here will be all the content --> + + <table class="table-striped"> + <tbody id="tableQuiz"> + + </tbody> + </table> + <button id="submitQuiz" class="btn btn-success">Antwort speichern</button> + </td> + <td id="chat"> + <div class="card"> + <div class="card-header"> + <h6 class="mb-0">Gruppen+Projekt Chat</h6> + </div> + <div class="card-body"> + <ul class="list-group"> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/1.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Sara Doe:</a> This guy has been going + 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + <li class="list-group-item"> + <div class="media"> + <div></div> + <div class="media-body"> + <div class="media" style="overflow:visible;"> + <div><img src="../assets/img/2.jpg" class="mr-3" + style="width: 25px; height:25px;"></div> + <div class="media-body" style="overflow:visible;"> + <div class="row"> + <div class="col-md-12"> + <p><a href="#">Brennan Prill:</a> This guy has been + going 100+ MPH on side streets. <br> + <small class="text-muted">August 6, 2016 @ 10:35am + </small> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </li> + </ul> + <button class="btn btn-light"> + Add Comment + </button> + </div> + </div> + </td> + </tr> + </table> + </div> + </div> +</div> + +<script src="../assets/js/jquery.min.js"></script> +<script src="../assets/bootstrap/js/bootstrap.min.js"></script> +<script src="../assets/js/Sidebar-Menu.js"></script> +</body> + +</html> \ No newline at end of file diff --git a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java index 78071ead4c147d7f152f09c84f65b3b36e383713..564d54cca5d699c5c93b3e56d64ee0e91bd8057a 100644 --- a/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java +++ b/gemeinsamforschen/src/test/java/unipotsdam/gf/modules/assessment/TestAddAssessment.java @@ -2,10 +2,10 @@ package unipotsdam.gf.modules.assessment; import org.junit.Test; import unipotsdam.gf.interfaces.IPeerAssessment; -import unipotsdam.gf.modules.assessment.controller.Assessment; -import unipotsdam.gf.modules.assessment.controller.FBAssessement; -import unipotsdam.gf.modules.assessment.controller.Performance; -import unipotsdam.gf.modules.assessment.controller.StudentIdentifier; +import unipotsdam.gf.modules.assessment.controller.model.Assessment; +import unipotsdam.gf.modules.assessment.controller.service.FBAssessement; +import unipotsdam.gf.modules.assessment.controller.model.Performance; +import unipotsdam.gf.modules.assessment.controller.model.StudentIdentifier; public class TestAddAssessment { @@ -24,7 +24,7 @@ public class TestAddAssessment { workRating[2] = 4; //Hilfsbereitschaft oder so StudentIdentifier student = new StudentIdentifier("Spaß", "Haralf"); - Performance performance = new Performance(quizAnswers,"so ein toller Typ", workRating); + Performance performance = new Performance(student, quizAnswers,"so ein toller Typ", workRating); Assessment assessment = new Assessment(student, performance); iPeerAssessment.addAssessmentDataToDB(assessment); }