diff --git a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java index 61ccbfb883545eedd216fab5fdf1e140edfc99d7..83697a9050394780655d23dc6d231cfa8804ba7c 100644 --- a/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java +++ b/src/main/java/org/olat/admin/user/delete/service/UserDeletionManager.java @@ -58,7 +58,7 @@ import org.olat.core.util.mail.MailBundle; import org.olat.core.util.mail.MailManager; import org.olat.core.util.mail.MailTemplate; import org.olat.core.util.mail.MailerResult; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.properties.Property; import org.olat.properties.PropertyManager; import org.olat.registration.RegistrationManager; @@ -297,7 +297,7 @@ public class UserDeletionManager extends BasicManager { } logInfo("Start EfficiencyStatementManager.archiveUserData for identity=" + identity); - EfficiencyStatementManager.getInstance().archiveUserData(identity, getArchivFilePath(identity) ); + CoreSpringFactory.getImpl(EfficiencyStatementManager.class).archiveUserData(identity, getArchivFilePath(identity) ); logInfo("Start Deleting user=" + identity); Map<String,UserDataDeletable> userDataDeletableResources = CoreSpringFactory.getBeansOfType(UserDataDeletable.class); diff --git a/src/main/java/org/olat/course/assessment/AssessmentHelper.java b/src/main/java/org/olat/course/assessment/AssessmentHelper.java index e2de2a74b674386194a128589bc00191cf322b95..ce91abac23f8e68dfd8490e905d5e2c43290fd85 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentHelper.java +++ b/src/main/java/org/olat/course/assessment/AssessmentHelper.java @@ -310,7 +310,7 @@ public class AssessmentHelper { * @param discardComments * @return list of object arrays or null if empty */ - static List<Map<String,Object>> addAssessableNodeAndDataToList(int recursionLevel, CourseNode courseNode, UserCourseEnvironment userCourseEnv, boolean discardEmptyNodes, boolean discardComments) { + public static List<Map<String,Object>> addAssessableNodeAndDataToList(int recursionLevel, CourseNode courseNode, UserCourseEnvironment userCourseEnv, boolean discardEmptyNodes, boolean discardComments) { // 1) Get list of children data using recursion of this method List<Map<String, Object>> childrenData = new ArrayList<Map<String, Object>>(50); for (int i = 0; i < courseNode.getChildCount(); i++) { diff --git a/src/main/java/org/olat/course/assessment/AssessmentModule.java b/src/main/java/org/olat/course/assessment/AssessmentModule.java index c6a0cb84ced9d44b7d49d73848058f3e1ecf13c2..662b5d47b948aabedd0cb6cf8f0e30c5e03ad739 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentModule.java +++ b/src/main/java/org/olat/course/assessment/AssessmentModule.java @@ -42,6 +42,7 @@ import org.olat.course.CourseFactory; import org.olat.course.CourseModule; import org.olat.course.ICourse; import org.olat.course.Structure; +import org.olat.course.assessment.manager.UpdateEfficiencyStatementsWorker; import org.olat.course.editor.PublishEvent; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortletRunController.java b/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortletRunController.java index c25a05c424155878e39870c4432aba5ef40ace50..21f14d0340d668ef08ad00bdafa8fcccb28de3ff 100644 --- a/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortletRunController.java +++ b/src/main/java/org/olat/course/assessment/EfficiencyStatementsPortletRunController.java @@ -60,8 +60,10 @@ import org.olat.core.id.context.BusinessControlFactory; import org.olat.core.util.StringHelper; import org.olat.core.util.event.GenericEventListener; import org.olat.course.CourseModule; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.model.UserEfficiencyStatementLight; import org.olat.course.certificate.ui.CertificateAndEfficiencyStatementController; +import org.springframework.beans.factory.annotation.Autowired; /** @@ -81,6 +83,9 @@ public class EfficiencyStatementsPortletRunController extends AbstractPortletRun private boolean needReloadModel; private Identity cOwner; private Link showAllLink; + + @Autowired + private EfficiencyStatementManager esm; /** * Constructor @@ -132,7 +137,7 @@ public class EfficiencyStatementsPortletRunController extends AbstractPortletRun * @return the PortletEntry list. */ private List<PortletEntry<UserEfficiencyStatementLight>> getAllPortletEntries() { - List<UserEfficiencyStatementLight> efficiencyStatementsList = EfficiencyStatementManager.getInstance().findEfficiencyStatementsLight(getIdentity()); + List<UserEfficiencyStatementLight> efficiencyStatementsList = esm.findEfficiencyStatementsLight(getIdentity()); List<PortletEntry<UserEfficiencyStatementLight>> portletEntryList = convertEfficiencyStatementToPortletEntryList(efficiencyStatementsList); return portletEntryList; } @@ -158,7 +163,6 @@ public class EfficiencyStatementsPortletRunController extends AbstractPortletRun */ protected void reloadModel(SortingCriteria sortingCriteria) { if (sortingCriteria.getSortingType() == SortingCriteria.AUTO_SORTING) { - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); List<UserEfficiencyStatementLight> efficiencyStatementsList = esm.findEfficiencyStatementsLight(getIdentity()); efficiencyStatementsList = getSortedList(efficiencyStatementsList, sortingCriteria); diff --git a/src/main/java/org/olat/course/assessment/_spring/assessmentContext.xml b/src/main/java/org/olat/course/assessment/_spring/assessmentContext.xml index 3d1a18c13dd43a9134b2a9dcd1778e99a5505188..95cedcd772ae719f834159d590a29914d9ed1179 100644 --- a/src/main/java/org/olat/course/assessment/_spring/assessmentContext.xml +++ b/src/main/java/org/olat/course/assessment/_spring/assessmentContext.xml @@ -9,12 +9,6 @@ http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="org.olat.course.assessment" /> - - <bean id="org.olat.course.assessment.EfficiencyStatementManager" class="org.olat.course.assessment.EfficiencyStatementManager"> - <property name="dbInstance" ref="database"/> - <property name="userManager" ref="userManager"/> - <property name="repositoryManager" ref="repositoryManager"/> - </bean> <bean id="assessmentNotificationsTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="assessmentNotificationsJob" /> 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 2a1ca90f12f0b349d9622b781928179695fee8f5..20339a0f1fbe715ccc634fc47484b838e041ef7e 100644 --- a/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java +++ b/src/main/java/org/olat/course/assessment/manager/CourseAssessmentManagerImpl.java @@ -38,7 +38,6 @@ import org.olat.course.ICourse; import org.olat.course.assessment.AssessmentChangedEvent; import org.olat.course.assessment.AssessmentLoggingAction; import org.olat.course.assessment.AssessmentManager; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.auditing.UserNodeAuditManager; import org.olat.course.certificate.CertificateTemplate; import org.olat.course.certificate.CertificatesManager; diff --git a/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java b/src/main/java/org/olat/course/assessment/manager/EfficiencyStatementManager.java similarity index 97% rename from src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java rename to src/main/java/org/olat/course/assessment/manager/EfficiencyStatementManager.java index 14be0f81eea0b479bf65238b284e1ac5b8decbf0..6f1799999e0b8ae1a07bca9f9dcb0f2250896666 100644 --- a/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java +++ b/src/main/java/org/olat/course/assessment/manager/EfficiencyStatementManager.java @@ -23,7 +23,7 @@ * under the Apache 2.0 license as the original file. */ -package org.olat.course.assessment; +package org.olat.course.assessment.manager; import java.io.File; import java.util.ArrayList; @@ -45,6 +45,12 @@ import org.olat.core.util.xml.XStreamHelper; import org.olat.course.CourseFactory; import org.olat.course.CourseModule; import org.olat.course.ICourse; +import org.olat.course.assessment.AssessmentChangedEvent; +import org.olat.course.assessment.AssessmentHelper; +import org.olat.course.assessment.AssessmentManager; +import org.olat.course.assessment.EfficiencyStatement; +import org.olat.course.assessment.EfficiencyStatementArchiver; +import org.olat.course.assessment.UserEfficiencyStatement; import org.olat.course.assessment.model.UserEfficiencyStatementImpl; import org.olat.course.assessment.model.UserEfficiencyStatementLight; import org.olat.course.assessment.model.UserEfficiencyStatementStandalone; @@ -58,6 +64,8 @@ import org.olat.repository.model.RepositoryEntryRefImpl; import org.olat.resource.OLATResource; import org.olat.user.UserDataDeletable; import org.olat.user.UserManager; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import com.thoughtworks.xstream.XStream; @@ -70,58 +78,21 @@ import com.thoughtworks.xstream.XStream; * Initial Date: 11.08.2005 <br> * @author gnaegi */ +@Service public class EfficiencyStatementManager extends BasicManager implements UserDataDeletable { public static final String KEY_ASSESSMENT_NODES = "assessmentNodes"; public static final String KEY_COURSE_TITLE = "courseTitle"; public static final String PROPERTY_CATEGORY = "efficiencyStatement"; - - private static EfficiencyStatementManager INSTANCE; + @Autowired private DB dbInstance; + @Autowired private UserManager userManager; + @Autowired private RepositoryManager repositoryManager; - private final XStream xstream = XStreamHelper.createXStreamInstance(); - - - /** - * Constructor - */ - private EfficiencyStatementManager() { - INSTANCE = this; - } - - /** - * Factory method - * @return - */ - public static EfficiencyStatementManager getInstance() { - return INSTANCE; - } - /** - * [used by Spring] - * @param dbInstance - */ - public void setDbInstance(DB dbInstance) { - this.dbInstance = dbInstance; - } - - /** - * [used by Spring] - * @param repositoryManager - */ - public void setRepositoryManager(RepositoryManager repositoryManager) { - this.repositoryManager = repositoryManager; - } - - /** - * [used by Spring] - * @param userManager - */ - public void setUserManager(UserManager userManager) { - this.userManager = userManager; - } + private final XStream xstream = XStreamHelper.createXStreamInstance(); /** * Updates the users efficiency statement for this course. <p> diff --git a/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java b/src/main/java/org/olat/course/assessment/manager/UpdateEfficiencyStatementsWorker.java similarity index 86% rename from src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java rename to src/main/java/org/olat/course/assessment/manager/UpdateEfficiencyStatementsWorker.java index feff25fbf0fd879bb34cb6527617893874425525..14587334c1fea6deda5557c4a24b823f255fb554 100644 --- a/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java +++ b/src/main/java/org/olat/course/assessment/manager/UpdateEfficiencyStatementsWorker.java @@ -23,16 +23,18 @@ * under the Apache 2.0 license as the original file. */ -package org.olat.course.assessment; +package org.olat.course.assessment.manager; import java.util.List; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.coordinate.CoordinatorManager; +import org.olat.course.assessment.EfficiencyStatementEvent; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; @@ -59,11 +61,11 @@ public class UpdateEfficiencyStatementsWorker implements Runnable { public void run() { boolean success = false; try{ - RepositoryManager rm = RepositoryManager.getInstance(); - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + RepositoryManager rm = CoreSpringFactory.getImpl(RepositoryManager.class); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); RepositoryEntry re = rm.lookupRepositoryEntry(ores, false); - List<Identity> identities = EfficiencyStatementManager.getInstance().findIdentitiesWithEfficiencyStatements(re.getKey()); + List<Identity> identities = esm.findIdentitiesWithEfficiencyStatements(re.getKey()); esm.updateEfficiencyStatements(ores, identities); // close db session in this thread DBFactory.getInstance(false).commitAndCloseSession(); diff --git a/src/main/java/org/olat/course/assessment/restapi/EfficiencyStatementWebService.java b/src/main/java/org/olat/course/assessment/restapi/EfficiencyStatementWebService.java index f1e30ae5a012c7f1c865d22742e077bd6a617db6..9bd08f73bd376e4195acefac28282feecded6193 100644 --- a/src/main/java/org/olat/course/assessment/restapi/EfficiencyStatementWebService.java +++ b/src/main/java/org/olat/course/assessment/restapi/EfficiencyStatementWebService.java @@ -39,8 +39,8 @@ import org.olat.basesecurity.BaseSecurity; import org.olat.core.CoreSpringFactory; import org.olat.core.id.Identity; import org.olat.course.assessment.EfficiencyStatement; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.model.EfficiencyStatementVO; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; diff --git a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementController.java b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementController.java index ce5df2ab913279b7e8cbf4aba27a3632d24bfb6d..1140926ef61727ea1d92c454fd26eef4815b7e44 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementController.java @@ -57,9 +57,9 @@ import org.olat.core.util.mail.ContactMessage; import org.olat.core.util.resource.OresHelper; import org.olat.core.util.vfs.VFSContainer; import org.olat.course.assessment.EfficiencyStatement; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.IdentityAssessmentEditController; import org.olat.course.assessment.IdentityAssessmentOverviewController; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.portfolio.EfficiencyStatementArtefact; import org.olat.course.certificate.Certificate; import org.olat.course.certificate.CertificatesManager; @@ -133,14 +133,14 @@ public class CertificateAndEfficiencyStatementController extends BasicController public CertificateAndEfficiencyStatementController(WindowControl wControl, UserRequest ureq, Long resourceKey) { this(wControl, ureq, ureq.getIdentity(), null, resourceKey, CoreSpringFactory.getImpl(RepositoryService.class).loadByResourceKey(resourceKey), - EfficiencyStatementManager.getInstance().getUserEfficiencyStatementByResourceKey(resourceKey, ureq.getIdentity()), + CoreSpringFactory.getImpl(EfficiencyStatementManager.class).getUserEfficiencyStatementByResourceKey(resourceKey, ureq.getIdentity()), false); } public CertificateAndEfficiencyStatementController(WindowControl wControl, UserRequest ureq, RepositoryEntry entry) { this(wControl, ureq, ureq.getIdentity(), null, entry.getOlatResource().getKey(), entry, - EfficiencyStatementManager.getInstance().getUserEfficiencyStatementByResourceKey(entry.getOlatResource().getKey(), ureq.getIdentity()), + CoreSpringFactory.getImpl(EfficiencyStatementManager.class).getUserEfficiencyStatementByResourceKey(entry.getOlatResource().getKey(), ureq.getIdentity()), false); } diff --git a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java index baac00e0fda18fafca2f679aa5fb41dda92831e0..1e4025cec97eb4c3ae6a377e5c3673162fcb129a 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java @@ -59,9 +59,9 @@ import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.vfs.VFSContainer; import org.olat.course.CorruptedCourseException; import org.olat.course.assessment.EfficiencyStatement; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.IdentityAssessmentEditController; import org.olat.course.assessment.bulk.PassedCellRenderer; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.model.UserEfficiencyStatementLight; import org.olat.course.assessment.portfolio.EfficiencyStatementArtefact; import org.olat.course.certificate.CertificateEvent; @@ -334,7 +334,7 @@ public class CertificateAndEfficiencyStatementListController extends FormBasicCo //no business path becouse we cannot launch an efficiency statement artefact.setCollectionDate(new Date()); artefact.setTitle(translate("artefact.title", new String[]{ title })); - EfficiencyStatement fullStatement = EfficiencyStatementManager.getInstance().getUserEfficiencyStatementByKey(efficiencyStatementKey); + EfficiencyStatement fullStatement = esm.getUserEfficiencyStatementByKey(efficiencyStatementKey); artHandler.prefillArtefactAccordingToSource(artefact, fullStatement); ePFCollCtrl = new ArtefactWizzardStepsController(ureq, getWindowControl(), artefact, (VFSContainer)null); listenTo(ePFCollCtrl); diff --git a/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java b/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java index 605ed22a392eb0d3b38ca01d35dd53e6a00a9c09..48dd9cce6471042f2a89787257c792aa4b1e680c 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificatesOptionsController.java @@ -66,7 +66,7 @@ import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSMediaResource; import org.olat.course.CourseFactory; import org.olat.course.ICourse; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.certificate.CertificateTemplate; import org.olat.course.certificate.CertificatesManager; import org.olat.course.certificate.PDFCertificatesOptions; @@ -122,6 +122,8 @@ public class CertificatesOptionsController extends FormBasicController { @Autowired private CertificatesManager certificatesManager; + @Autowired + private EfficiencyStatementManager efficiencyStatementManager; /** * @param name @@ -395,11 +397,11 @@ public class CertificatesOptionsController extends FormBasicController { if(enableEfficiencyStatment) { // first create the efficiencies, send event to agency (all courses add link) List<Identity> identitiesWithData = course.getCourseEnvironment().getCoursePropertyManager().getAllIdentitiesWithCourseAssessmentData(null); - EfficiencyStatementManager.getInstance().updateEfficiencyStatements(course, identitiesWithData); + efficiencyStatementManager.updateEfficiencyStatements(course, identitiesWithData); } else { // delete really the efficiencies of the users. RepositoryEntry courseRepoEntry = RepositoryManager.getInstance().lookupRepositoryEntry(course, true); - EfficiencyStatementManager.getInstance().deleteEfficiencyStatementsFromCourse(courseRepoEntry.getKey()); + efficiencyStatementManager.deleteEfficiencyStatementsFromCourse(courseRepoEntry.getKey()); } //inform everybody else diff --git a/src/main/java/org/olat/course/condition/interpreter/score/GetPassedWithCourseIdFunction.java b/src/main/java/org/olat/course/condition/interpreter/score/GetPassedWithCourseIdFunction.java index 755e6f22bdccaee54eb8c20c30f0a173d2c2f247..1bdcbf647f8eebdc218550eb4aa8e66c06f3f40b 100644 --- a/src/main/java/org/olat/course/condition/interpreter/score/GetPassedWithCourseIdFunction.java +++ b/src/main/java/org/olat/course/condition/interpreter/score/GetPassedWithCourseIdFunction.java @@ -25,8 +25,9 @@ package org.olat.course.condition.interpreter.score; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.core.CoreSpringFactory; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.condition.interpreter.AbstractFunction; import org.olat.course.condition.interpreter.ArgumentParseException; import org.olat.course.condition.interpreter.ConditionInterpreter; @@ -94,7 +95,7 @@ public class GetPassedWithCourseIdFunction extends AbstractFunction { /* * the real function evaluation which is used during run time */ - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); RepositoryEntryRef courseRef = new RepositoryEntryRefImpl(courseRepoEntryKey); UserEfficiencyStatement es = esm.getUserEfficiencyStatementLightByRepositoryEntry(courseRef, getUserCourseEnv().getIdentityEnvironment().getIdentity()); if (es == null) return defaultValue(); diff --git a/src/main/java/org/olat/course/condition/interpreter/score/GetScoreWithCourseIdFunction.java b/src/main/java/org/olat/course/condition/interpreter/score/GetScoreWithCourseIdFunction.java index 648a743f729adb5bfc730327574964c56ad574fa..ddc710c31ad0ecac89b5eb1390ae25d54cdd6414 100644 --- a/src/main/java/org/olat/course/condition/interpreter/score/GetScoreWithCourseIdFunction.java +++ b/src/main/java/org/olat/course/condition/interpreter/score/GetScoreWithCourseIdFunction.java @@ -25,8 +25,9 @@ package org.olat.course.condition.interpreter.score; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.core.CoreSpringFactory; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.condition.interpreter.AbstractFunction; import org.olat.course.condition.interpreter.ArgumentParseException; import org.olat.course.editor.CourseEditorEnv; @@ -75,7 +76,7 @@ public class GetScoreWithCourseIdFunction extends AbstractFunction { if (cev != null) { return defaultValue(); } // the real function evaluation which is used during run time - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); RepositoryEntryRef courseRef = new RepositoryEntryRefImpl(courseRepoEntryKey); UserEfficiencyStatement es = esm.getUserEfficiencyStatementLightByRepositoryEntry(courseRef, getUserCourseEnv().getIdentityEnvironment().getIdentity()); if (es == null) return defaultValue(); diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTAWorkflowEditController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTAWorkflowEditController.java index 179d3f54196cc81e051c0794ec120ca3aed67373..2d708db8eef6515f3ebde983096a5333d6a24dc5 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/GTAWorkflowEditController.java +++ b/src/main/java/org/olat/course/nodes/gta/ui/GTAWorkflowEditController.java @@ -618,9 +618,9 @@ public class GTAWorkflowEditController extends FormBasicController { } else { chooseGroupButton.setI18nKey("create.groups"); } - groupListEl.getRootForm().submit(ureq); cmc.deactivate(); cleanUp(); + groupListEl.getRootForm().submit(ureq); } else if(event == Event.CANCELLED_EVENT) { cmc.deactivate(); cleanUp(); diff --git a/src/main/java/org/olat/course/run/userview/UserCourseEnvironmentImpl.java b/src/main/java/org/olat/course/run/userview/UserCourseEnvironmentImpl.java index 364d14f22186f8274851b7b3d3e3dc168498e112..25e5624ad3e53d761d3d38e9135fa20ba1b8f3a8 100644 --- a/src/main/java/org/olat/course/run/userview/UserCourseEnvironmentImpl.java +++ b/src/main/java/org/olat/course/run/userview/UserCourseEnvironmentImpl.java @@ -33,7 +33,7 @@ import org.olat.basesecurity.Group; import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.id.IdentityEnvironment; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.certificate.CertificatesManager; import org.olat.course.condition.interpreter.ConditionInterpreter; import org.olat.course.editor.CourseEditorEnv; diff --git a/src/main/java/org/olat/group/manager/BusinessGroupDAO.java b/src/main/java/org/olat/group/manager/BusinessGroupDAO.java index 4c5733ee49ab7124280a4b27c6c9ce905f51e164..fdf21cbe47a18bb6eb66b04c19deb2edf7f6cb7b 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupDAO.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupDAO.java @@ -488,15 +488,17 @@ public class BusinessGroupDAO { //inner joins if(BusinessGroup.class.equals(resultClass)) { - query.append("inner join fetch bgi.resource bgResource "); + query.append("inner join fetch bgi.resource bgResource ") + .append("inner join fetch bgi.baseGroup as baseGroup"); } else { query.append("inner join bgi.resource bgResource "); + if(StringHelper.containsNonWhitespace(params.getOwnerName()) || params.getResources() != null || + resource != null || params.isOwner() || params.isAttendee() || params.isWaiting()) { + query.append(" inner join bgi.baseGroup as baseGroup"); + } } - if(StringHelper.containsNonWhitespace(params.getOwnerName()) || params.getResources() != null || - resource != null || params.isOwner() || params.isAttendee() || params.isWaiting()) { - query.append(" inner join bgi.baseGroup as baseGroup"); - } + boolean where = false; if(StringHelper.containsNonWhitespace(params.getOwnerName())) { diff --git a/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java b/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java index 0de9ad93cc80d18cc340a958ad112ef3616c865a..6ba9a66b521a6a1f1594b5647405d53473e60db9 100644 --- a/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java +++ b/src/main/java/org/olat/modules/coach/ui/EfficiencyStatementDetailsController.java @@ -43,9 +43,9 @@ import org.olat.course.CorruptedCourseException; import org.olat.course.CourseFactory; import org.olat.course.ICourse; import org.olat.course.assessment.EfficiencyStatement; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.IdentityAssessmentEditController; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.certificate.ui.CertificateAndEfficiencyStatementController; import org.olat.modules.coach.model.EfficiencyStatementEntry; import org.olat.repository.RepositoryEntry; @@ -164,7 +164,7 @@ public class EfficiencyStatementDetailsController extends BasicController implem UserEfficiencyStatement statement = statementEntry.getUserEfficencyStatement(); EfficiencyStatement efficiencyStatement = null; if(statement != null) { - efficiencyStatement = EfficiencyStatementManager.getInstance().getUserEfficiencyStatementByCourseRepoKey(statement.getCourseRepoKey(), assessedIdentity); + efficiencyStatement = efficiencyStatementManager.getUserEfficiencyStatementByCourseRepoKey(statement.getCourseRepoKey(), assessedIdentity); } return new CertificateAndEfficiencyStatementController(getWindowControl(), ureq, assessedIdentity, null, entry.getOlatResource().getKey(), entry, efficiencyStatement, true); } diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java index d58bae782c1c14813e1837d4692b735ee6333701..96b10bb46c30fb2f556a643e5f2c01d7032aea27 100644 --- a/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java +++ b/src/main/java/org/olat/repository/manager/RepositoryEntryMyCourseQueries.java @@ -38,7 +38,7 @@ import org.olat.core.id.Roles; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.model.UserEfficiencyStatementImpl; import org.olat.course.assessment.model.UserEfficiencyStatementLight; import org.olat.repository.RepositoryEntry; diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java index 9e84e11ab2d0367ac886a11ce3865a48b666d2f5..360a2a78a19f8ff2c5df5a8b8ca332f2e7252913 100644 --- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java +++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java @@ -68,8 +68,8 @@ import org.olat.core.util.vfs.VFSContainerMapper; import org.olat.core.util.vfs.VFSLeaf; import org.olat.course.CorruptedCourseException; import org.olat.course.assessment.AssessmentHelper; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.manager.UserCourseInformationsManager; import org.olat.course.run.RunMainController; import org.olat.group.BusinessGroup; diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_8_1_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_8_1_0.java index 950584bb3e5fb5cb4442ba2211b757fa2a9a674c..195b696961a9d29cf93b3daa760df8f0cfabc18d 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_8_1_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_8_1_0.java @@ -33,7 +33,7 @@ import org.olat.core.commons.services.notifications.Publisher; import org.olat.core.id.Identity; import org.olat.core.util.xml.XStreamHelper; import org.olat.course.assessment.EfficiencyStatement; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.manager.UserCourseInformationsManager; import org.olat.course.assessment.manager.UserCourseInformationsManagerImpl; import org.olat.course.assessment.model.UserCourseInfosImpl; diff --git a/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java b/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java index 472f747e5c1cc6b3e360689c25eb822b07e1baca..120e7b73d5b617beffc720a2152553ab8e2465d6 100644 --- a/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java +++ b/src/main/java/org/olat/upgrade/legacy/NewCachePersistingAssessmentManager.java @@ -58,7 +58,7 @@ import org.olat.course.ICourse; import org.olat.course.assessment.AssessmentChangedEvent; import org.olat.course.assessment.AssessmentLoggingAction; import org.olat.course.assessment.AssessmentManager; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.auditing.UserNodeAuditManager; import org.olat.course.certificate.CertificateTemplate; import org.olat.course.certificate.CertificatesManager; @@ -584,7 +584,7 @@ public class NewCachePersistingAssessmentManager { long attempts = incrementNodeAttemptsProperty(courseNode, identity, cpm); if(courseNode instanceof AssessableCourseNode) { // Update users efficiency statement - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); esm.updateUserEfficiencyStatement(userCourseEnv); } return attempts; @@ -879,7 +879,7 @@ public class NewCachePersistingAssessmentManager { if(courseNode instanceof AssessableCourseNode) { userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode)courseNode, scoreEvaluation); // Update users efficiency statement - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); esm.updateUserEfficiencyStatement(userCourseEnv); } @@ -971,7 +971,7 @@ public class NewCachePersistingAssessmentManager { DBFactory.getInstance().commitAndCloseSession(); if (courseNode instanceof AssessableCourseNode) { userCourseEnv.getScoreAccounting().scoreInfoChanged((AssessableCourseNode) courseNode, scoreEvaluation); - EfficiencyStatementManager esm = EfficiencyStatementManager.getInstance(); + EfficiencyStatementManager esm = CoreSpringFactory.getImpl(EfficiencyStatementManager.class); esm.updateUserEfficiencyStatement(userCourseEnv); } return attempts; diff --git a/src/test/java/org/olat/course/assessment/AssessmentManagerTest.java b/src/test/java/org/olat/course/assessment/AssessmentManagerTest.java index 200b734c98a13465d86885e5910e84f0cc5667a5..5971d496bec3e957a23885f8d8f67fe79a48ca5c 100644 --- a/src/test/java/org/olat/course/assessment/AssessmentManagerTest.java +++ b/src/test/java/org/olat/course/assessment/AssessmentManagerTest.java @@ -52,6 +52,7 @@ import org.olat.core.util.resource.OresHelper; import org.olat.course.CourseFactory; import org.olat.course.CourseModule; import org.olat.course.ICourse; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.config.CourseConfig; import org.olat.course.nodes.AssessableCourseNode; import org.olat.course.nodes.CourseNode; diff --git a/src/test/java/org/olat/course/assessment/manager/EfficiencyStatementManagerTest.java b/src/test/java/org/olat/course/assessment/manager/EfficiencyStatementManagerTest.java index a584dddafdfe0633858a5a79c279592d8586fa43..dafb8334fa2a30ee3e29d5065f91186e71c2f968 100644 --- a/src/test/java/org/olat/course/assessment/manager/EfficiencyStatementManagerTest.java +++ b/src/test/java/org/olat/course/assessment/manager/EfficiencyStatementManagerTest.java @@ -31,7 +31,6 @@ import org.olat.core.id.Roles; import org.olat.course.CorruptedCourseException; import org.olat.course.CourseFactory; import org.olat.course.ICourse; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.config.CourseConfig; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; @@ -53,6 +52,8 @@ public class EfficiencyStatementManagerTest extends OlatTestCase { private BaseSecurity securityManager; @Autowired private RepositoryManager repositoryManager; + @Autowired + private EfficiencyStatementManager efficiencyStatementManager; @Test public void testBigDatas() { @@ -63,7 +64,6 @@ public class EfficiencyStatementManagerTest extends OlatTestCase { List<Identity> loadIdentities = securityManager .getVisibleIdentitiesByPowerSearch(null, null, false, null, null, null, null, null, 0, 10000); - EfficiencyStatementManager efficiencyStatementManager = EfficiencyStatementManager.getInstance(); int count = 0; for(RepositoryEntry entry:entries) { diff --git a/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java b/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java index 9609cf432f255128533286a26e15c537f825c0a2..19ffcb76a719db4e13778ad3db5cba09669091bb 100644 --- a/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java +++ b/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java @@ -41,7 +41,7 @@ import org.olat.core.id.UserConstants; import org.olat.core.util.CodeHelper; import org.olat.course.CourseFactory; import org.olat.course.ICourse; -import org.olat.course.assessment.EfficiencyStatementManager; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.manager.UserCourseInformationsManager; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupRef; diff --git a/src/test/java/org/olat/restapi/EfficiencyStatementTest.java b/src/test/java/org/olat/restapi/EfficiencyStatementTest.java index bc9380bc3147beb5b3bbfe1136a6c9f75ee4b720..f2d367c8078a646d1b16f54f8a6217cd3feb1245 100644 --- a/src/test/java/org/olat/restapi/EfficiencyStatementTest.java +++ b/src/test/java/org/olat/restapi/EfficiencyStatementTest.java @@ -39,8 +39,8 @@ import org.olat.basesecurity.BaseSecurityManager; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; import org.olat.course.ICourse; -import org.olat.course.assessment.EfficiencyStatementManager; import org.olat.course.assessment.UserEfficiencyStatement; +import org.olat.course.assessment.manager.EfficiencyStatementManager; import org.olat.course.assessment.model.EfficiencyStatementVO; import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource;