From f1255e8c11ff09efc460a0141d1b0a4b8356e30f Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 2 Dec 2015 15:05:31 +0100 Subject: [PATCH] OO-1593: remove double scoreInfoChanged, remove the method too as it was an alias for evaluateAll --- .../elements/table/FlexiTableElementImpl.java | 2 -- .../archiver/ScoreAccountingHelper.java | 6 +++-- .../assessment/AssessmentEditController.java | 3 --- .../manager/BulkAssessmentTask.java | 2 -- .../manager/CourseAssessmentManagerImpl.java | 2 +- .../tool/IdentityCertificatesController.java | 3 ++- .../course/nodes/CheckListCourseNode.java | 4 ---- .../course/nodes/iq/IQPreviewController.java | 3 +-- .../course/run/scoring/ScoreAccounting.java | 22 ------------------- .../assessment/model/AssessmentEntryImpl.java | 13 ++++++++--- .../olat/modules/scorm/ScormAPIMapper.java | 6 ----- .../NewCachePersistingAssessmentManager.java | 4 ++-- .../database/mysql/alter_10_x_0_to_11_0_0.sql | 1 + .../database/mysql/setupDatabase.sql | 1 + .../postgresql/alter_10_x_0_to_11_0_0.sql | 1 + .../database/postgresql/setupDatabase.sql | 1 + 16 files changed, 24 insertions(+), 50 deletions(-) diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java index 0f70bd7cd9d..557d697c9dd 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java @@ -828,8 +828,6 @@ public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableEle saveCustomSettings(ureq); } else if(doSelect(ureq)) { //do select - } else { - System.out.println(""); } } diff --git a/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java b/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java index c9eed9a88e0..c79c58040cc 100644 --- a/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java +++ b/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java @@ -56,6 +56,7 @@ import org.olat.course.nodes.AssessableCourseNode; import org.olat.course.nodes.CourseNode; import org.olat.course.nodes.STCourseNode; import org.olat.course.run.environment.CourseEnvironment; +import org.olat.course.run.scoring.ScoreAccounting; import org.olat.course.run.scoring.ScoreEvaluation; import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.course.run.userview.UserCourseEnvironmentImpl; @@ -166,7 +167,8 @@ public class ScoreAccountingHelper { IdentityEnvironment ienv = new IdentityEnvironment(); ienv.setIdentity(identity); UserCourseEnvironment uce = new UserCourseEnvironmentImpl(ienv, course.getCourseEnvironment()); - uce.getScoreAccounting().evaluateAll(); + ScoreAccounting scoreAccount = uce.getScoreAccounting(); + scoreAccount.evaluateAll(); AssessmentManager am = course.getCourseEnvironment().getAssessmentManager(); for (AssessableCourseNode acnode:myNodes) { @@ -176,7 +178,7 @@ public class ScoreAccountingHelper { boolean commentOk = acnode.hasCommentConfigured(); if (scoreOk || passedOk || commentOk || attemptsOk) { - ScoreEvaluation se = uce.getScoreAccounting().getScoreEvaluation(acnode); + ScoreEvaluation se = scoreAccount.evalCourseNode(acnode); boolean nodeColumnOk = false; StringBuilder tabs = new StringBuilder(); diff --git a/src/main/java/org/olat/course/assessment/AssessmentEditController.java b/src/main/java/org/olat/course/assessment/AssessmentEditController.java index 3c3db616b9b..db8f2a0b34b 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentEditController.java +++ b/src/main/java/org/olat/course/assessment/AssessmentEditController.java @@ -320,9 +320,6 @@ public class AssessmentEditController extends BasicController { // Update properties in db courseNode.updateUserCoachComment(newCoachComment, userCourseEnvironment); } - - // Refresh score view - userCourseEnvironment.getScoreAccounting().scoreInfoChanged(courseNode, scoreEval); } public void reloadData(UserRequest ureq) { diff --git a/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java b/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java index a8c37aa922e..31b8fd744a7 100644 --- a/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java +++ b/src/main/java/org/olat/course/assessment/manager/BulkAssessmentTask.java @@ -387,7 +387,6 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable, Sequ // Update score,passed properties in db, and the user's efficiency statement courseNode.updateUserScoreEvaluation(se, uce, coachIdentity, false); - uce.getScoreAccounting().scoreInfoChanged(courseNode, se); } } @@ -399,7 +398,6 @@ public class BulkAssessmentTask implements LongRunnable, TaskAwareRunnable, Sequ // Update score,passed properties in db, and the user's efficiency statement boolean incrementAttempts = false; courseNode.updateUserScoreEvaluation(se, uce, coachIdentity, incrementAttempts); - uce.getScoreAccounting().scoreInfoChanged(courseNode, se); } boolean identityHasReturnFile = false; diff --git a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java index f34bb86232f..2ffa0830b59 100644 --- a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java +++ b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java @@ -277,7 +277,7 @@ public class CourseAssessmentManagerImpl implements AssessmentManager { LoggingResourceable.wrapNonOlatResource(StringResourceableType.qtiAttempts, "", String.valueOf(attempts))); } - userCourseEnv.getScoreAccounting().scoreInfoChanged(courseNode, scoreEvaluation); + userCourseEnv.getScoreAccounting().evaluateAll();//.scoreInfoChanged(courseNode, scoreEvaluation); // Update users efficiency statement efficiencyStatementManager.updateUserEfficiencyStatement(userCourseEnv); diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityCertificatesController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityCertificatesController.java index 3a54e5f37c9..03ccba1573b 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityCertificatesController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityCertificatesController.java @@ -49,6 +49,7 @@ import org.olat.course.certificate.CertificatesManager; import org.olat.course.certificate.model.CertificateInfos; import org.olat.course.certificate.ui.DownloadCertificateCellRenderer; import org.olat.course.config.CourseConfig; +import org.olat.course.nodes.AssessableCourseNode; import org.olat.course.nodes.CourseNode; import org.olat.course.run.scoring.ScoreAccounting; import org.olat.course.run.scoring.ScoreEvaluation; @@ -208,7 +209,7 @@ public class IdentityCertificatesController extends BasicController implements G UserCourseEnvironment assessedUserCourseEnv = new UserCourseEnvironmentImpl(identityEnv, course.getCourseEnvironment()); ScoreAccounting scoreAccounting = assessedUserCourseEnv.getScoreAccounting(); scoreAccounting.evaluateAll(); - ScoreEvaluation scoreEval = scoreAccounting.getScoreEvaluation(rootNode); + ScoreEvaluation scoreEval = scoreAccounting.evalCourseNode((AssessableCourseNode)rootNode); CertificateTemplate template = null; Long templateKey = course.getCourseConfig().getCertificateTemplate(); diff --git a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java index 70f7c65ae6a..27cc580066e 100644 --- a/src/main/java/org/olat/course/nodes/CheckListCourseNode.java +++ b/src/main/java/org/olat/course/nodes/CheckListCourseNode.java @@ -590,8 +590,6 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); Identity mySelf = userCourseEnv.getIdentityEnvironment().getIdentity(); am.saveScoreEvaluation(this, mySelf, assessedIdentity, sceval, userCourseEnv, false); - - userCourseEnv.getScoreAccounting().scoreInfoChanged(this, sceval); } private void doUpdateAssessmentBySum(UserCourseEnvironment userCourseEnv, Identity assessedIdentity) { @@ -623,8 +621,6 @@ public class CheckListCourseNode extends AbstractAccessableCourseNode implements AssessmentManager am = userCourseEnv.getCourseEnvironment().getAssessmentManager(); Identity mySelf = userCourseEnv.getIdentityEnvironment().getIdentity(); am.saveScoreEvaluation(this, mySelf, assessedIdentity, sceval, userCourseEnv, false); - - userCourseEnv.getScoreAccounting().scoreInfoChanged(this, sceval); } @Override diff --git a/src/main/java/org/olat/course/nodes/iq/IQPreviewController.java b/src/main/java/org/olat/course/nodes/iq/IQPreviewController.java index e6f82f133f6..cc285dbc592 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQPreviewController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQPreviewController.java @@ -79,8 +79,7 @@ public class IQPreviewController extends BasicController { boolean passed = score >= (cutValue == null ? 0 : cutValue.floatValue()); ScoreEvaluation sceval = new ScoreEvaluation(new Float(score), new Boolean(passed)); boolean incrementUserAttempts = true; - cn.updateUserScoreEvaluation(sceval, userCourseEnv, ureq.getIdentity(), incrementUserAttempts); - userCourseEnv.getScoreAccounting().scoreInfoChanged(cn, sceval); + cn.updateUserScoreEvaluation(sceval, userCourseEnv, ureq.getIdentity(), incrementUserAttempts); getWindowControl().setInfo(translate("preview.points.set")); } } diff --git a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java index 630dfa574c0..7f7c2e7360d 100644 --- a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java +++ b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java @@ -219,32 +219,10 @@ public class ScoreAccounting { return passed; } - /** - * Change the score information for the given course node - * @param acn - * @param se - */ - public void scoreInfoChanged(AssessableCourseNode acn, ScoreEvaluation se) { - evaluateAll(); - } - private CourseNode findChildByID(String id) { return userCourseEnvironment.getCourseEnvironment().getRunStructure().getNode(id); } - /** - * @see org.olat.core.util.tree.Visitor#visit(org.olat.core.util.nodes.INode) - */ - public void visit(INode node) { - CourseNode cn = (CourseNode) node; - if (cn instanceof AssessableCourseNode) { - AssessableCourseNode acn = (AssessableCourseNode) cn; - evalCourseNode(acn); - // evalCourseNode will cache all infos - } - // else: non assessable nodes are not interesting here - } - /** * @return true if an error occured */ diff --git a/src/main/java/org/olat/modules/assessment/model/AssessmentEntryImpl.java b/src/main/java/org/olat/modules/assessment/model/AssessmentEntryImpl.java index 80fc7bf7ce8..09d1afc8954 100644 --- a/src/main/java/org/olat/modules/assessment/model/AssessmentEntryImpl.java +++ b/src/main/java/org/olat/modules/assessment/model/AssessmentEntryImpl.java @@ -62,9 +62,6 @@ import org.olat.repository.RepositoryEntry; query="select data from assessmententry data where data.repositoryEntry.key=:repositoryEntryKey and data.identity.key=:identityKey and data.subIdent is null"), @NamedQuery(name="loadAssessmentEntryByRepositoryEntryAndSubIdent", query="select data from assessmententry data where data.repositoryEntry.key=:repositoryEntryKey and data.subIdent=:subIdent") - - - }) public class AssessmentEntryImpl implements Persistable, ModifiedInfo, CreateInfo, AssessmentEntry { @@ -90,6 +87,8 @@ public class AssessmentEntryImpl implements Persistable, ModifiedInfo, CreateInf private Boolean passed; @Column(name="a_status", nullable=true, insertable=true, updatable=true) private String status; + @Column(name="a_details", nullable=true, insertable=true, updatable=true) + private String details; @Column(name="a_completion", nullable=true, insertable=true, updatable=true) private Double completion; @@ -175,6 +174,14 @@ public class AssessmentEntryImpl implements Persistable, ModifiedInfo, CreateInf this.passed = passed; } + public String getDetails() { + return details; + } + + public void setDetails(String details) { + this.details = details; + } + public String getStatus() { return status; } diff --git a/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java b/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java index 29d5de14f99..6454c4021d0 100644 --- a/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java +++ b/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java @@ -200,7 +200,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = new ScoreEvaluation(new Float(0.0f), Boolean.valueOf(passed)); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, increment); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } @@ -208,7 +207,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = scormNode.getUserScoreEvaluation(userCourseEnv); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, increment); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } @@ -217,7 +215,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = new ScoreEvaluation(new Float(0.0f), Boolean.valueOf(passed)); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, false); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } @@ -258,7 +255,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = new ScoreEvaluation(new Float(score), Boolean.valueOf(passed)); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, increment); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } @@ -266,7 +262,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = scormNode.getUserScoreEvaluation(userCourseEnv); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, increment); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } @@ -280,7 +275,6 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { boolean increment = !attemptsIncremented && finish; ScoreEvaluation sceval = new ScoreEvaluation(new Float(score), Boolean.valueOf(passed)); scormNode.updateUserScoreEvaluation(sceval, userCourseEnv, identity, false); - userCourseEnv.getScoreAccounting().scoreInfoChanged(scormNode, sceval); if(increment) { attemptsIncremented = true; } diff --git a/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java b/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java index 1324a688b0f..7238da08f94 100644 --- a/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java +++ b/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java @@ -876,7 +876,7 @@ public class NewCachePersistingAssessmentManager { attempts = incrementNodeAttemptsProperty(courseNode, assessedIdentity, cpm); } if(courseNode instanceof AssessableCourseNode) { - userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode)courseNode, scoreEvaluation); + userCourseEnv.getScoreAccounting().evaluateAll(); // Update users efficiency statement EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); esm.updateUserEfficiencyStatement(userCourseEnv); @@ -968,7 +968,7 @@ public class NewCachePersistingAssessmentManager { log.debug("successfully saved node fullyAssessed : " + scoreEvaluation.getFullyAssessed()); DBFactory.getInstance().commitAndCloseSession(); if (courseNode instanceof AssessableCourseNode) { - userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode) courseNode, scoreEvaluation); + userCourseEnv.getScoreAccounting().evaluateAll(); EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); esm.updateUserEfficiencyStatement(userCourseEnv); } diff --git a/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0.sql b/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0.sql index 267ab3332a1..9dfac8b4756 100644 --- a/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0.sql +++ b/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0.sql @@ -6,6 +6,7 @@ create table o_as_entry ( a_score float(65,30) default null, a_passed bit default null, a_status varchar(16) default null, + a_details varchar(1024) default null, a_fully_assessed bit default null, a_assessment_id bigint default null, a_completion float(65,30), diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 38509c4e70a..9775c96795b 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1077,6 +1077,7 @@ create table o_as_entry ( a_score float(65,30) default null, a_passed bit default null, a_status varchar(16) default null, + a_details varchar(1024) default null, a_fully_assessed bit default null, a_assessment_id bigint default null, a_completion float(65,30), diff --git a/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0.sql b/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0.sql index 05367cc260e..2857f23f12d 100644 --- a/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0.sql +++ b/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0.sql @@ -6,6 +6,7 @@ create table o_as_entry ( a_score decimal default null, a_passed bool default null, a_status varchar(16) default null, + a_details varchar(1024) default null, a_fully_assessed bool default null, a_assessment_id int8 default null, a_completion float(24), diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 1ad970cffcd..8ade1d1d185 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -1075,6 +1075,7 @@ create table o_as_entry ( a_score decimal default null, a_passed bool default null, a_status varchar(16) default null, + a_details varchar(1024) default null, a_fully_assessed bool default null, a_assessment_id int8 default null, a_completion float(24), -- GitLab