diff --git a/pom.xml b/pom.xml index c7737dcf51f05467cbe73a641acc6f2a3043853e..dbccb3961e2501b81620bc56baf2c53a95000248 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,10 @@ <test.env.db.postgresql.user>postgres</test.env.db.postgresql.user> <test.env.db.postgresql.pass>postgres</test.env.db.postgresql.pass> <test.env.db.postgresql.host.port>5432</test.env.db.postgresql.host.port> + <test.env.db.oracle.name>orcl</test.env.db.oracle.name> + <test.env.db.oracle.user>OLATTEST</test.env.db.oracle.user> + <test.env.db.oracle.pass>olat00002</test.env.db.oracle.pass> + <test.env.db.oracle.host.port>1521</test.env.db.oracle.host.port> <test.env.instance.id>myolat</test.env.instance.id> <test.env.jmx.rmi.port.0>3000</test.env.jmx.rmi.port.0> <test.env.webdriver.browser>chrome</test.env.webdriver.browser> @@ -1070,6 +1074,7 @@ <properties> <testFailureIgnore>false</testFailureIgnore> <test.env>oracle</test.env> + <skipTests>false</skipTests> </properties> <build> <plugins> @@ -1110,10 +1115,15 @@ </plugins> </build> <dependencies> + <!-- + Configure the Oracle maven repository in your .m2/settings.xml file or + download the JDBC driver, install it on your local repo with: + mvn install:install-file -Dfile=ojdbc8.jar -DgroupId=com.oracle.jdbc -DartifactId=ojdbc8 -Dversion=12.2.0.1.0 -Dpackaging=jar -DcreateChecksum=true + --> <dependency> - <groupId>com.oracle</groupId> - <artifactId>ojdbc6</artifactId> - <version>11.0</version> + <groupId>com.oracle.jdbc</groupId> + <artifactId>ojdbc8</artifactId> + <version>12.2.0.1.0</version> <optional>true</optional> </dependency> </dependencies> diff --git a/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java b/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java index 7d0f1757b77fc944427c9e134043e7cd412e288d..729bf52ac7ca0e422010658b3edfd16d589cb1ec 100644 --- a/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java +++ b/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java @@ -170,7 +170,10 @@ public class QuotaManagerImpl implements QuotaManager, InitializingBean { */ @Override public Quota getDefaultQuota(String identifyer) { - return defaultQuotas.get(identifyer); + if(StringHelper.containsNonWhitespace(identifyer)) { + return defaultQuotas.get(identifyer); + } + return null; } /** diff --git a/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java b/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java index b1ff2edca515a4e8b6882ca9935c68725ec951e7..a3626d0ef0c3e33c758133545d7ff39e710f3dde 100644 --- a/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java +++ b/src/main/java/org/olat/basesecurity/manager/OrganisationDAO.java @@ -25,8 +25,10 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; import javax.persistence.TypedQuery; @@ -277,18 +279,21 @@ public class OrganisationDAO { public List<Organisation> getOrganisations(IdentityRef identity, List<String> roleList) { QueryBuilder sb = new QueryBuilder(256); - sb.append("select distinct org from organisation org") + sb.append("select org from organisation org") .append(" inner join fetch org.group baseGroup") .append(" inner join baseGroup.members membership") .append(" left join fetch org.type orgType") .append(" left join fetch org.parent parentOrg") .append(" where membership.identity.key=:identityKey and membership.role in (:roles)") .append(" and org.status ").in(OrganisationStatus.notDelete()); - return dbInstance.getCurrentEntityManager() + List<Organisation> organisations = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), Organisation.class) .setParameter("identityKey", identity.getKey()) .setParameter("roles", roleList) .getResultList(); + // because of the CLOB on Oracle, we make the "distinct" in Java + Set<Organisation> deduplicatedOrganisations = new HashSet<>(organisations); + return new ArrayList<>(deduplicatedOrganisations); } public List<Organisation> getOrganisations(Collection<OrganisationRef> rootOrganisations) { diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java index d3ee2bfb1b8f42f784da1cb6dd150db96cd0ceb7..18cb04a7f35364f9b5ef5b89d153446e4f45f1b2 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java @@ -37,6 +37,7 @@ import org.olat.core.commons.modules.bc.components.FolderComponent; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.media.ForbiddenMediaResource; import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.media.NotFoundMediaResource; import org.olat.core.gui.media.StringMediaResource; @@ -63,32 +64,35 @@ public class CmdServeResource implements FolderCommand { // the latest encoding is saved since .js files loaded by the browser are // assumed to have the same encoding as the html page - private String g_encoding; + private String encoding; private int status = FolderCommandStatus.STATUS_SUCCESS; @Override public Controller execute(FolderComponent folderComponent, UserRequest ureq, WindowControl wControl, Translator translator) { VFSSecurityCallback inheritedSecCallback = VFSManager.findInheritedSecurityCallback(folderComponent.getCurrentContainer()); - if (inheritedSecCallback != null && !inheritedSecCallback.canRead()) - throw new RuntimeException("Illegal read attempt: " + folderComponent.getCurrentContainerPath()); - - // extract file - String path = ureq.getModuleURI(); - VFSItem vfsitem = folderComponent.getRootContainer().resolve(path); - if(vfsitem == null) { - //double decoding of ++ - vfsitem = FolderCommandHelper.tryDoubleDecoding(ureq, folderComponent); - } - MediaResource mr = getMediaResource(path, vfsitem); - ThreadLocalUserActivityLogger.log(FolderLoggingAction.BC_FILE_READ, getClass(), CoreLoggingResourceable.wrapBCFile(path)); - ureq.getDispatchResult().setResultingMediaResource(mr); - - // update download counter - if (vfsitem.canMeta() == VFSConstants.YES) { - MetaInfo meta = vfsitem.getMetaInfo(); - meta.increaseDownloadCount(); - meta.write(); + if (inheritedSecCallback != null && !inheritedSecCallback.canRead()) { + ureq.getDispatchResult().setResultingMediaResource(new ForbiddenMediaResource()); + } else { + // extract file + String path = ureq.getModuleURI(); + VFSItem vfsItem = folderComponent.getRootContainer().resolve(path); + if(vfsItem == null) { + //double decoding of ++ + vfsItem = FolderCommandHelper.tryDoubleDecoding(ureq, folderComponent); + } + MediaResource mr = getMediaResource(path, vfsItem); + ThreadLocalUserActivityLogger.log(FolderLoggingAction.BC_FILE_READ, getClass(), CoreLoggingResourceable.wrapBCFile(path)); + ureq.getDispatchResult().setResultingMediaResource(mr); + + // update download counter + if(vfsItem == null) { + folderComponent.updateChildren(); + } else if (vfsItem.canMeta() == VFSConstants.YES) { + MetaInfo meta = vfsItem.getMetaInfo(); + meta.increaseDownloadCount(); + meta.write(); + } } return null; @@ -130,7 +134,7 @@ public class CmdServeResource implements FolderCommand { useLoaded = true; } // set the new encoding to remember for any following .js file loads - g_encoding = enc; + encoding = enc; if (useLoaded) { StringMediaResource smr = new StringMediaResource(); String mimetype = forceDownload ? VFSMediaResource.MIME_TYPE_FORCE_DOWNLOAD : "text/html;charset=" + enc; @@ -164,8 +168,8 @@ public class CmdServeResource implements FolderCommand { // together with the mime-type, which is wrong. // so we assume the .js file has the same encoding as the html file // that loads the .js file - if (g_encoding != null) { - vmr.setEncoding(g_encoding); + if (encoding != null) { + vmr.setEncoding(encoding); } if(forceDownload) { vmr.setDownloadable(true); diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeThumbnailResource.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeThumbnailResource.java index 922044fcb9d7bf22c18f16c22885b5706e49993d..d3a7f53685e4d586bd0b6c56f9d547efaedee7ac 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeThumbnailResource.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeThumbnailResource.java @@ -30,6 +30,7 @@ import org.olat.core.commons.modules.bc.components.FolderComponent; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; +import org.olat.core.gui.media.ForbiddenMediaResource; import org.olat.core.gui.media.MediaResource; import org.olat.core.gui.media.NotFoundMediaResource; import org.olat.core.gui.translator.Translator; @@ -47,31 +48,33 @@ public class CmdServeThumbnailResource implements FolderCommand { @Override public Controller execute(FolderComponent folderComponent, UserRequest ureq, WindowControl wControl, Translator translator) { VFSSecurityCallback inheritedSecCallback = VFSManager.findInheritedSecurityCallback(folderComponent.getCurrentContainer()); - if (inheritedSecCallback != null && !inheritedSecCallback.canRead()) - throw new RuntimeException("Illegal read attempt: " + folderComponent.getCurrentContainerPath()); - // extract file - String path = ureq.getModuleURI(); MediaResource mr = null; - VFSLeaf vfsfile = (VFSLeaf)folderComponent.getRootContainer().resolve(path); - if(vfsfile == null) { - //double decoding of ++ - vfsfile = (VFSLeaf)FolderCommandHelper.tryDoubleDecoding(ureq, folderComponent); - } - - if(vfsfile.canMeta() == VFSConstants.YES) { - MetaInfo info = vfsfile.getMetaInfo(); - if(info != null && info.isThumbnailAvailable()) { - VFSLeaf thumbnail = info.getThumbnail(200, 200, false); - if(thumbnail != null) { - mr = new VFSMediaResource(thumbnail); + if (inheritedSecCallback != null && !inheritedSecCallback.canRead()) { + mr = new ForbiddenMediaResource(); + } else { + // extract file + String path = ureq.getModuleURI(); + + VFSLeaf vfsLeaf = (VFSLeaf)folderComponent.getRootContainer().resolve(path); + if(vfsLeaf == null) { + //double decoding of ++ + vfsLeaf = (VFSLeaf)FolderCommandHelper.tryDoubleDecoding(ureq, folderComponent); + } + + if(vfsLeaf != null && vfsLeaf.canMeta() == VFSConstants.YES) { + MetaInfo info = vfsLeaf.getMetaInfo(); + if(info != null && info.isThumbnailAvailable()) { + VFSLeaf thumbnail = info.getThumbnail(200, 200, false); + if(thumbnail != null) { + mr = new VFSMediaResource(thumbnail); + } } } + if(mr == null) { + mr = new NotFoundMediaResource(); + } } - if(mr == null) { - mr = new NotFoundMediaResource(); - } - ureq.getDispatchResult().setResultingMediaResource(mr); return null; } diff --git a/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml b/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml index 8b0377e89973db644f35c0828c28383669848be4..0f70304cad794f6edcd9b1ffef0017c8493288c9 100644 --- a/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml +++ b/src/main/java/org/olat/core/commons/persistence/_spring/databaseCorecontext.xml @@ -76,7 +76,7 @@ <constructor-arg> <props> <prop key="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</prop> - <prop key="hibernate.connection.url">jdbc:oracle:thin:@${db.host}:${db.host.port}:${db.name}</prop> + <prop key="hibernate.connection.url">jdbc:oracle:thin:@${db.host}:${db.host.port}/${db.name}</prop> <prop key="hibernate.connection.username">${db.user}</prop> <prop key="hibernate.connection.password">${db.pass}</prop> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle12cDialect</prop> diff --git a/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java b/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java index bf09c8f6b751f88ccff038e2aa2139017bd76096..0a9e7f628a218de2775f405156eebdfcf323549f 100644 --- a/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java +++ b/src/main/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerImpl.java @@ -80,7 +80,6 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.WorkThreadInformations; import org.olat.core.util.coordinate.CoordinatorManager; -import org.olat.core.util.coordinate.SyncerCallback; import org.olat.core.util.event.EventFactory; import org.olat.core.util.event.GenericEventListener; import org.olat.core.util.event.MultiUserEvent; @@ -195,8 +194,9 @@ implements UserDataDeletable, UserDataExportable, GenericEventListener, Initiali * primary key */ private Publisher createAndPersistPublisher(String resName, Long resId, String subidentifier, String type, String data, String businessPath) { - if (resName == null || resId == null || subidentifier == null) throw new AssertException( - "resName, resId, and subidentifier must not be null"); + if (resName == null || resId == null || subidentifier == null) { + throw new AssertException("resName, resId, and subidentifier must not be null"); + } if(businessPath != null && businessPath.length() > 230) { log.error("Businesspath too long for publisher: " + resName + " with business path: " + businessPath); @@ -684,18 +684,15 @@ implements UserDataDeletable, UserDataExportable, GenericEventListener, Initiali return pub; } - Publisher publisher = CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(ores, new SyncerCallback<Publisher>(){ - public Publisher execute() { - Publisher p = getPublisher(scontext); - // if not found, create it - if (p == null) { - p = createAndPersistPublisher(scontext.getResName(), scontext.getResId(), scontext.getSubidentifier(), pdata.getType(), pdata - .getData(), pdata.getBusinessPath()); - } - return p; + return CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(ores, () -> { + Publisher p = getPublisher(scontext); + // if not found, create it + if (p == null) { + p = createAndPersistPublisher(scontext.getResName(), scontext.getResId(), scontext.getSubidentifier(), pdata.getType(), pdata + .getData(), pdata.getBusinessPath()); } + return p; }); - return publisher; } /** @@ -706,7 +703,7 @@ implements UserDataDeletable, UserDataExportable, GenericEventListener, Initiali public Publisher getPublisher(SubscriptionContext subsContext) { StringBuilder q = new StringBuilder(); q.append("select pub from notipublisher pub ") - .append(" where pub.resName=:resName and pub.resId = :resId"); + .append(" where pub.resName=:resName and pub.resId=:resId"); if(StringHelper.containsNonWhitespace(subsContext.getSubidentifier())) { q.append(" and pub.subidentifier=:subidentifier"); } else { @@ -1159,12 +1156,16 @@ implements UserDataDeletable, UserDataExportable, GenericEventListener, Initiali */ @Override public boolean isSubscribed(Identity identity, SubscriptionContext subscriptionContext) { - StringBuilder q = new StringBuilder(); + StringBuilder q = new StringBuilder(256); q.append("select count(sub) from notisub as sub ") .append(" inner join sub.publisher as pub ") - .append(" where sub.identity.key=:anIdentityKey and pub.resName=:resName and pub.resId=:resId") - .append(" and pub.subidentifier=:subidentifier"); - + .append(" where sub.identity.key=:anIdentityKey and pub.resName=:resName and pub.resId=:resId"); + if(StringHelper.containsNonWhitespace(subscriptionContext.getSubidentifier())) { + q.append(" and pub.subidentifier=:subidentifier"); + } else { + q.append(" and (pub.subidentifier=:subidentifier or pub.subidentifier is null)"); + } + Number count = dbInstance.getCurrentEntityManager() .createQuery(q.toString(), Number.class) .setParameter("anIdentityKey", identity.getKey()) diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java index cd5f22a5d083e079fb8dba9f421b6bc8b5ed9910..c5603550a5807c572b1784ae35eeae8ca42eee36 100644 --- a/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java +++ b/src/main/java/org/olat/core/util/mail/manager/MailManagerImpl.java @@ -1782,7 +1782,6 @@ public class MailManagerImpl implements MailManager, InitializingBean { } try{ - System.out.println("mailModule isMailHostEnabled: " + mailModule.isMailHostEnabled() + " " + WebappHelper.getMailConfig("mailhost")); if (mailModule.isMailHostEnabled() && result.getReturnCode() == MailerResult.OK) { // now send the mail if(Settings.isDebuging()) { 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 2c17b817369818800f66c4bc5467279c5f98bc2b..632f15aa57934a7d4c6478b5181ac8de3d8bb720 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java @@ -193,6 +193,7 @@ public class CertificateAndEfficiencyStatementListController extends FormBasicCo tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.show", translate("table.header.show"), CMD_SHOW)); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lastModified)); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lastUserUpdate)); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.certificate, new DownloadCertificateCellRenderer(assessedIdentity, getLocale()))); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.recertification, new DateFlexiCellRenderer(getLocale()))); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.launchcourse", @@ -238,7 +239,7 @@ public class CertificateAndEfficiencyStatementListController extends FormBasicCo wrapper.setEfficiencyStatementKey(efficiencyStatement.getKey()); wrapper.setResourceKey(efficiencyStatement.getArchivedResourceKey()); wrapper.setLastModified(efficiencyStatement.getLastModified()); - + wrapper.setLastUserModified(efficiencyStatement.getLastUserModified()); statments.add(wrapper); resourceKeyToStatments.put(efficiencyStatement.getArchivedResourceKey(), wrapper); } diff --git a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListModel.java b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListModel.java index aafd8b3f90dbb9cfe9bf6722a54a6e77d2a2f260..b523b164398d369793c6089b31b3ce2471cccf9e 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListModel.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListModel.java @@ -76,6 +76,7 @@ public class CertificateAndEfficiencyStatementListModel extends DefaultFlexiTabl return AssessmentHelper.getRoundedScore(score); case passed: return statement.getPassed(); case lastModified: return statement.getLastModified(); + case lastUserUpdate: return statement.getLastUserModified(); case certificate: return statement.getCertificate(); case recertification: { if(statement.getCertificate() != null) { @@ -89,12 +90,13 @@ public class CertificateAndEfficiencyStatementListModel extends DefaultFlexiTabl return null; } - public static enum Cols implements FlexiSortableColumnDef { + public enum Cols implements FlexiSortableColumnDef { displayName("table.header.course", true), score("table.header.score", true), passed("table.header.passed", true), lastModified("table.header.lastScoreDate", true), + lastUserUpdate("table.header.lastUserModificationDate", true), efficiencyStatement("table.header.certificate", true), certificate("table.header.certificate", true), recertification("table.header.recertification", true), @@ -132,6 +134,7 @@ public class CertificateAndEfficiencyStatementListModel extends DefaultFlexiTabl private Boolean passed; private Date lastModified; private String displayName; + private Date lastUserModified; private Long resourceKey; private Long efficiencyStatementKey; @@ -169,6 +172,14 @@ public class CertificateAndEfficiencyStatementListModel extends DefaultFlexiTabl this.lastModified = lastModified; } + public Date getLastUserModified() { + return lastUserModified; + } + + public void setLastUserModified(Date lastUserModified) { + this.lastUserModified = lastUserModified; + } + public CertificateLight getCertificate() { return certificate; } diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java index 7677682f9c9a31d61395bdcc7b4f9fc2e6580a4a..23ebc84ed01165dcfa75b35db45a9f609f5152c0 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java +++ b/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java @@ -40,6 +40,7 @@ import org.olat.core.id.context.StateEntry; import org.olat.core.util.resource.OresHelper; import org.olat.course.nodes.GTACourseNode; import org.olat.course.nodes.gta.GTAManager; +import org.olat.course.nodes.gta.model.Membership; import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.modules.ModuleConfiguration; import org.olat.repository.RepositoryEntry; @@ -75,7 +76,9 @@ public class GTARunController extends BasicController implements Activateable2 { this.userCourseEnv = userCourseEnv; ModuleConfiguration config = gtaNode.getModuleConfiguration(); - if((userCourseEnv.isCoach() && userCourseEnv.isParticipant()) || (userCourseEnv.isAdmin() && userCourseEnv.isParticipant())) { + RepositoryEntry entry = userCourseEnv.getCourseEnvironment().getCourseGroupManager().getCourseEntry(); + Membership membership = gtaManager.getMembership(getIdentity(), entry, gtaNode); + if((membership.isCoach() && membership.isParticipant()) || (userCourseEnv.isAdmin() && membership.isParticipant())) { mainVC = createVelocityContainer("run_segments"); segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this); @@ -106,7 +109,7 @@ public class GTARunController extends BasicController implements Activateable2 { doOpenSelectionList(ureq); mainVC.put("segments", segmentView); putInitialPanel(mainVC); - } else if(userCourseEnv.isCoach() || userCourseEnv.isAdmin()) { + } else if(membership.isCoach() || userCourseEnv.isAdmin()) { mainVC = createVelocityContainer("run_segments"); segmentView = SegmentViewFactory.createSegmentView("segments", mainVC, this); @@ -118,7 +121,7 @@ public class GTARunController extends BasicController implements Activateable2 { doOpenSelectionList(ureq); mainVC.put("segments", segmentView); putInitialPanel(mainVC); - } else if(userCourseEnv.isParticipant()) { + } else if(membership.isParticipant()) { createRun(ureq); putInitialPanel(runCtrl.getInitialComponent()); } else { diff --git a/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java b/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java index a7847d13c79ea2fb2bc5a824fe592e2d72747da8..db9b0bd6f4caa8ba55d152b8e99fcf13c2a54619 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQIdentityListCourseNodeController.java @@ -475,7 +475,7 @@ public class IQIdentityListCourseNodeController extends IdentityListCourseNodeCo resetDataCtrl = new QTI21ResetDataController(ureq, getWindowControl(), courseEnv, asOptions, (IQTESTCourseNode)courseNode); listenTo(resetDataCtrl); - String title = translate("tool.reset"); + String title = translate("reset.test.data.title"); cmc = new CloseableModalController(getWindowControl(), null, resetDataCtrl.getInitialComponent(), true, title, true); listenTo(cmc); cmc.activate(); diff --git a/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java b/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java index c29c16659c484c37deba37dc0db81aaa3d6074a5..44142a6caea930fe06d2f3b7e80e441065a6f84a 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupRelationDAO.java @@ -347,7 +347,7 @@ public class BusinessGroupRelationDAO { sb.append("select membership.identity.key from businessgroup as bgroup ") .append(" inner join bgroup.baseGroup as baseGroup") .append(" inner join baseGroup.members as membership") - .append(" where bgroup.key=:businessGroupKey and membership.role in (:roles) order by membership.creationDate"); + .append(" where bgroup.key=:businessGroupKey and membership.role in (:roles) order by membership.creationDate asc"); List<String> roleList = GroupRoles.toList(roles); return dbInstance.getCurrentEntityManager().createQuery(sb.toString(), Long.class) diff --git a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java index 9c673c6d1c9b005da63f4a9c9f482a1a0b91a3a9..53cddd568bb1b2746ace6d53307ea08b57f7d407 100644 --- a/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java +++ b/src/main/java/org/olat/group/ui/wizard/BGConfigToolsStepController.java @@ -22,6 +22,7 @@ package org.olat.group.ui.wizard; import java.util.ArrayList; import java.util.List; +import org.olat.admin.quota.QuotaConstants; import org.olat.collaboration.CalendarToolSettingsController; import org.olat.collaboration.CollaborationTools; import org.olat.collaboration.CollaborationToolsFactory; @@ -118,7 +119,7 @@ public class BGConfigToolsStepController extends StepFormBasicController { //add quota configuration for admin only if(quotaManager.hasMinimalRolesToEditquota(roles)) { - Quota quota = quotaManager.createQuota(null, null, null); + Quota quota = quotaManager.createQuota(QuotaConstants.IDENTIFIER_DEFAULT_GROUPS, null, null); config.quotaCtrl = new BGConfigQuotaController(ureq, getWindowControl(), quota, mainForm); config.configContainer.add("quota", config.quotaCtrl.getInitialFormItem()); config.quotaCtrl.getInitialFormItem().setVisible(false); diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessedIdentityListController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessedIdentityListController.java index 60f45310a65bb7c8ead84ad4349955e62fedd407..82ededb7f8c91823ba8d4d9415afa142f0cff9a3 100644 --- a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessedIdentityListController.java +++ b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessedIdentityListController.java @@ -121,11 +121,6 @@ public class QTI21AssessedIdentityListController extends AssessedIdentityListCon private void doResetData(UserRequest ureq) { if(resetDataCtrl != null) return; - - /* - if(identities == null || identities.isEmpty()) { - showWarning("warning.reset.test.data.nobody"); - } */ AssessmentToolOptions asOptions = getOptions(); resetDataCtrl = new QTI21ResetDataController(ureq, getWindowControl(), this.getRepositoryEntry(), asOptions); diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties index 3e0897cca8c9bcb91f55028bf5c29f80635e2cc5..72aa63094f3292d28c9b1f87d90cca63dec2bfb2 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties @@ -25,7 +25,7 @@ convert.to=Convert to\: copy.at=Copied at copy.qpool.question=make a copy and edit correct.answers=Correct -cut.value=Cut value +cut.value=Necessary score for "Passed" delete=Delete delete.item=$org.olat.ims.qti.editor\:delete.item delete.section=$org.olat.ims.qti.editor\:delete.section diff --git a/src/main/java/org/olat/login/_spring/loginContext.xml b/src/main/java/org/olat/login/_spring/loginContext.xml index a42df098e251d186ed8459b6f54c12508575813e..1db16d14b0902b9a790070b456f99ef08f7659b1 100644 --- a/src/main/java/org/olat/login/_spring/loginContext.xml +++ b/src/main/java/org/olat/login/_spring/loginContext.xml @@ -45,7 +45,7 @@ <bean id="OAuthAuthenticationProvider" class="org.olat.login.oauth.OAuthAuthenticationProvider" > <constructor-arg index="0" value="OAuth"/> <constructor-arg index="1" value="org.olat.login.oauth.ui.OAuthAuthenticationController"/> - <constructor-arg index="2" value="false"/> + <constructor-arg index="2" value="${oauth.default}"/> <constructor-arg index="3" value="o_icon_provider_oauth"/> </bean> diff --git a/src/main/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAO.java b/src/main/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAO.java index fceef3afcb7999d495bc9bb93e9a89784c9380b5..0dbbbe04d1d23a9ce210ccd99568d48143b75d3e 100644 --- a/src/main/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAO.java +++ b/src/main/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAO.java @@ -50,7 +50,7 @@ public class CourseLecturesProviderDAO { private DB dbInstance; public Long loadLectureBlockCount(SearchParameters searchParams) { - if (dbInstance.isMySQL()) { + if (dbInstance.isMySQL() || dbInstance.isOracle()) { return loadLectureBlockCountHql(searchParams); } return loadLectureBlockCountNative(searchParams); diff --git a/src/main/java/org/olat/modules/taxonomy/ui/MergeTaxonomyLevelController.java b/src/main/java/org/olat/modules/taxonomy/ui/MergeTaxonomyLevelController.java index 502e52f6e2be3c19cd9dc5f9d8a5a30146e6677e..b2a7993c7ce5f583a0671c73d6164f1983ae761f 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/MergeTaxonomyLevelController.java +++ b/src/main/java/org/olat/modules/taxonomy/ui/MergeTaxonomyLevelController.java @@ -92,9 +92,9 @@ public class MergeTaxonomyLevelController extends FormBasicController { mergeToEl = uifactory.addDropdownSingleselect("mergeto", "merge.to", formLayout, keyList.toArray(new String[keyList.size()]), valueList.toArray(new String[valueList.size()]), null); mergeToEl.setEscapeHtml(false); - + uifactory.addFormCancelButton("cancel", formLayout, ureq, getWindowControl()); - uifactory.addFormSubmitButton("delete", formLayout); + uifactory.addFormSubmitButton("merge.taxonomy.level", formLayout); } private void buildMergeToSelection(TreeNode node, String identation, List<String> keys, List<String> values) { diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/confirm_delete_levels.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/confirm_delete_levels.html index f5e3eea3de9e60364b57eb436ee798236b728fa9..8afc11f866b6a984e285596ababd1ec275026fab 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_content/confirm_delete_levels.html +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/confirm_delete_levels.html @@ -23,10 +23,12 @@ </div> </div> #end - <div class="o_button_group"> + <div class="form-group clearfix"> + <div class="col-sm-offset-3 col-sm-9 "> $r.render("cancel") #if($r.available("delete")) $r.render("delete") #end + </div> </div> </div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_content/merge_taxonomy_levels.html b/src/main/java/org/olat/modules/taxonomy/ui/_content/merge_taxonomy_levels.html index 6e9d38639b9eb70bfe1f48ce987d280e635958f5..e0f2eba7b7f6bcfa952dcfa7a6ff0d66146cbd97 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_content/merge_taxonomy_levels.html +++ b/src/main/java/org/olat/modules/taxonomy/ui/_content/merge_taxonomy_levels.html @@ -1,4 +1,4 @@ -<div class="o_form form-horizontal" role="form"> +<div class="o_form form-horizontal clearfix" role="form"> #if($r.isNotEmpty($errorMsg)) <div class="o_error">$errorMsg</div> #else @@ -11,10 +11,12 @@ </div> </div> #end - <div class="o_button_group"> - $r.render("cancel") - #if($r.available("delete")) - $r.render("delete") - #end + <div class="form-group clearfix"> + <div class="col-sm-offset-3 col-sm-9 "> + $r.render("cancel") + #if($r.available("merge.taxonomy.level")) + $r.render("merge.taxonomy.level") + #end + </div> </div> </div> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties index 32809bd849dbf6a1f46bb057f4af0554289a85e2..d1e27a8903dd34fa7645e695ee51622b9fccdae8 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_de.properties @@ -64,8 +64,8 @@ level.type.docs.enabled=Dokumenten einschalten level.visible=Sichtbar level.types.to.assign=Ebenentypen manage=Verwalten -merge.taxonomy.level=Zusammenf\u00fchren -merge.to=Zusammenf\u00fchren +merge.taxonomy.level=Zusammenf\u00FChren +merge.to=Zusammenf\u00FChren in move.taxonomy.level=Verschieben move.taxonomy.level.title="{0}" verschieben move.taxonomy.levels.title=Verschieben diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties index 69244cd42f050f21802ec4a2b5dff1f735509622..02f794d965b7bbdbd4705e3577ae20d28fde352d 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_en.properties @@ -65,7 +65,7 @@ level.types.to.assign=Level types level.visible=Visible manage=Manage merge.taxonomy.level=Merge -merge.to=Merge +merge.to=Merge in move.taxonomy.level=Move move.taxonomy.level.title=Move "{0}" move.taxonomy.levels.title=Move diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_fr.properties index b535d441ede2627035b43052674a9e50fe6f4365..c9bf00b9e3883c539c13bfd9dc39e0de99c8104d 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_fr.properties @@ -67,7 +67,7 @@ level.types.to.assign=Types de niveaux level.visible=Visible manage=G\u00E9rer merge.taxonomy.level=Fusionner -merge.to=Fusionner +merge.to=Fusionner avec move.taxonomy.level=D\u00E9placer move.taxonomy.level.title=D\u00E9placer "{0}" move.taxonomy.levels.title=D\u00E9placer diff --git a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_pt_BR.properties index a898973aaa8288c73ebf0016fff8d4d445ae5525..0adec4d8b9947a718c743558bdcdda97e97d85f3 100644 --- a/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/taxonomy/ui/_i18n/LocalStrings_pt_BR.properties @@ -67,7 +67,7 @@ level.types.to.assign=Tipos de n\u00EDvel level.visible=Vis\u00EDvel manage=Gerenciar merge.taxonomy.level=Mesclar -merge.to=Mesclar +merge.to=Mesclar em move.taxonomy.level=Mover move.taxonomy.level.title=Mover "{0}" move.taxonomy.levels.title=Mover diff --git a/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml b/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml index 8bcd30e7d3b3cefddb1c83d5377294c7ac8e3379..6c96897df6638d4aedb7b6f45e4967b265802959 100644 --- a/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml +++ b/src/main/java/org/olat/upgrade/_spring/databaseUpgradeContext.xml @@ -168,6 +168,10 @@ <constructor-arg index="0" value="OLAT_13.1.0" /> <property name="alterDbStatements" value="alter_13_0_x_to_13_1_0.sql" /> </bean> + <bean id="database_upgrade_13_1_1" class="org.olat.upgrade.DatabaseUpgrade"> + <constructor-arg index="0" value="OLAT_13.1.1" /> + <property name="alterDbStatements" value="alter_13_1_0_to_13_1_1.sql" /> + </bean> </list> </property> </bean> diff --git a/src/main/resources/database/mysql/alter_13_1_0_to_13_1_1.sql b/src/main/resources/database/mysql/alter_13_1_0_to_13_1_1.sql new file mode 100644 index 0000000000000000000000000000000000000000..4c189b2053e94611eca60487f8e969c4f4b6a96b --- /dev/null +++ b/src/main/resources/database/mysql/alter_13_1_0_to_13_1_1.sql @@ -0,0 +1 @@ +-- clean setup errors diff --git a/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql b/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql index 0b060d8af1b7a04e2886884b1772a6990b4007a6..64b9893cf5fb544d81ae1522615602a6a046ddc6 100644 --- a/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql +++ b/src/main/resources/database/oracle/alter_11_5_x_to_12_0_0.sql @@ -235,7 +235,7 @@ alter table o_gta_task add g_submission_revisions_ndocs number(20) default null; alter table o_gta_task add g_collection_ndocs number(20) default null; create table o_gta_task_revision_date ( - id number(20) generated always as identity, + id number(20) not null, creationdate date not null, g_status varchar2(36 char) not null, g_rev_loop number(20) not null, diff --git a/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql b/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql index 216ce86dcdb9956862529fe04301dc5b2c31cbd8..c4f9830935c374c69a159d33dc8396150b7ede83 100644 --- a/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql +++ b/src/main/resources/database/oracle/alter_12_4_x_to_13_0_0.sql @@ -248,7 +248,7 @@ create unique index idx_eva_surv_ores_idx on o_eva_form_survey (e_resid, e_resna alter table o_eva_form_participation add constraint eva_part_to_surv_idx foreign key (fk_survey) references o_eva_form_survey (id); create unique index idx_eva_part_ident_idx on o_eva_form_participation (e_identifier_key, e_identifier_type, fk_survey); -create unique index idx_eva_part_executor_idx on o_eva_form_participation (fk_executor, fk_survey); +create unique index idx_eva_part_executor_idx on o_eva_form_participation (case when fk_executor is not null and fk_survey is not null then fk_executor || ',' || fk_survey end); alter table o_eva_form_session add constraint eva_sess_to_surv_idx foreign key (fk_survey) references o_eva_form_survey (id); create index idx_eva_sess_to_surv_idx on o_eva_form_session (fk_survey); diff --git a/src/main/resources/database/oracle/alter_13_1_0_to_13_1_1.sql b/src/main/resources/database/oracle/alter_13_1_0_to_13_1_1.sql new file mode 100644 index 0000000000000000000000000000000000000000..6c9c082af687454c031e34efe45216060e8ef99d --- /dev/null +++ b/src/main/resources/database/oracle/alter_13_1_0_to_13_1_1.sql @@ -0,0 +1,31 @@ +-- clean setup errors +alter table o_bs_group_member modify creationdate timestamp; +alter table o_bs_group_member modify lastmodified timestamp; + +alter table o_repositoryentry drop column canlaunch; + +alter table o_bs_invitation drop column version; + +alter table o_eva_form_session modify (fk_identity null); +alter table o_eva_form_session modify (fk_page_body null); +alter table o_eva_form_session modify (fk_form_entry null); + +create table o_gta_task_revision_date ( + id number(20) not null, + creationdate date not null, + g_status varchar(36) not null, + g_rev_loop number(20) not null, + g_date date not null, + fk_task number(20) not null, + primary key (id) +); + +alter table o_qual_context add constraint qual_con_to_data_coll_idx foreign key (fk_data_collection) references o_qual_data_collection (id); +alter table o_qual_reminder add constraint qual_rem_to_data_coll_idx foreign key (fk_data_collection) references o_qual_data_collection (id); + +drop index idx_eva_part_executor_idx; +create unique index idx_eva_part_executor_idx on o_eva_form_participation (case when fk_executor is not null and fk_survey is not null then fk_executor || ',' || fk_survey end); + +drop index idx_eva_surv_ores_idx; +create unique index idx_eva_surv_ores_idx on o_eva_form_survey (case when e_sub_ident is null then e_resid || ',' || e_resname else e_resid || ',' || e_resname || ',' || e_sub_ident end); + diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index 5ac41d78d2c7df0b76e544d0ff8f1e13da79fe42..c5c12dd492608092bc570fd7693baaf911c8919f 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -52,8 +52,8 @@ CREATE TABLE o_bs_group ( CREATE TABLE o_bs_group_member ( id number(20) not null, - creationdate date not null, - lastmodified date not null, + creationdate timestamp not null, + lastmodified timestamp not null, g_role varchar2(50 char) not null, g_inheritance_mode varchar2(16 char) default 'none' not null, fk_group_id number(20) not null, @@ -507,7 +507,6 @@ CREATE TABLE o_repositoryentry ( guests number default 0 not null, bookable number default 0 not null, allowtoleave varchar2(16 char), - canlaunch number NOT NULL, candownload number NOT NULL, cancopy number NOT NULL, canreference number NOT NULL, @@ -849,7 +848,6 @@ create table o_ep_struct_to_group ( ); create table o_bs_invitation ( id number(20) not null, - version number(20) not null, creationdate date, token varchar(64 char) not null, first_name varchar(64 char), @@ -1801,9 +1799,9 @@ create table o_eva_form_session ( e_study_subject varchar2(1024), fk_survey number(20), fk_participation number(20) unique, - fk_identity number(20) not null, - fk_page_body number(20) not null, - fk_form_entry number(20) not null, + fk_identity number(20), + fk_page_body number(20), + fk_form_entry number(20), primary key (id) ); @@ -2171,9 +2169,9 @@ create table o_gta_task ( ); create table o_gta_task_revision_date ( - id number(20) generated always as identity, + id number(20) not null, creationdate date not null, - g_status varchar2(36 char) not null, + g_status varchar(36) not null, g_rev_loop number(20) not null, g_date date not null, fk_task number(20) not null, @@ -2993,7 +2991,7 @@ alter table o_usercomment add constraint FKF26C8375236F20A foreign key (creator_ create index FKF26C8375236F20A on o_usercomment (creator_id); create index usercmt_id_idx on o_usercomment (resid); create index usercmt_name_idx on o_usercomment (resname); -create index usercmt_subpath_idx on o_usercomment (ressubpath); +create index usercmt_subpath_idx on o_usercomment (substr(ressubpath,0,255)); -- checkpoint alter table o_checkpoint_results add constraint FK9E30F4B661159ZZY foreign key (checkpoint_fk) references o_checkpoint (checkpoint_id); @@ -3570,11 +3568,11 @@ create index idx_page_pfpage_idx on o_pf_page_user_infos (fk_page_id); -- evaluation form alter table o_eva_form_survey add constraint eva_surv_to_surv_idx foreign key (fk_series_previous) references o_eva_form_survey (id); -create unique index idx_eva_surv_ores_idx on o_eva_form_survey (e_resid, e_resname, e_sub_ident); +create unique index idx_eva_surv_ores_idx on o_eva_form_survey (case when e_sub_ident is null then e_resid || ',' || e_resname else e_resid || ',' || e_resname || ',' || e_sub_ident end); alter table o_eva_form_participation add constraint eva_part_to_surv_idx foreign key (fk_survey) references o_eva_form_survey (id); create unique index idx_eva_part_ident_idx on o_eva_form_participation (e_identifier_key, e_identifier_type, fk_survey); -create unique index idx_eva_part_executor_idx on o_eva_form_participation (fk_executor, fk_survey); +create unique index idx_eva_part_executor_idx on o_eva_form_participation (case when fk_executor is not null and fk_survey is not null then fk_executor || ',' || fk_survey end); alter table o_eva_form_session add constraint eva_sess_to_surv_idx foreign key (fk_survey) references o_eva_form_survey (id); create index idx_eva_sess_to_surv_idx on o_eva_form_session (fk_survey); @@ -3596,7 +3594,7 @@ create index idx_dc_status_idx on o_qual_data_collection (q_status); alter table o_qual_data_collection_to_org add constraint qual_dc_to_org_idx foreign key (fk_data_collection) references o_qual_data_collection (id); create unique index idx_qual_dc_to_org_idx on o_qual_data_collection_to_org (fk_data_collection, fk_organisation); -alter table o_qual_context add constraint qual_con_to_data_collection_idx foreign key (fk_data_collection) references o_qual_data_collection (id); +alter table o_qual_context add constraint qual_con_to_data_coll_idx foreign key (fk_data_collection) references o_qual_data_collection (id); create index idx_con_to_data_collection_idx on o_qual_context (fk_data_collection); alter table o_qual_context add constraint qual_con_to_participation_idx foreign key (fk_eva_participation) references o_eva_form_participation (id); create index idx_con_to_participation_idx on o_qual_context (fk_eva_participation); @@ -3619,7 +3617,7 @@ alter table o_qual_context_to_tax_level add constraint qual_con_to_tax_level_con create index idx_con_to_tax_level_con_idx on o_qual_context_to_tax_level (fk_context); create unique index idx_con_to_tax_level_tax_idx on o_qual_context_to_tax_level (fk_tax_leveL, fk_context); -alter table o_qual_reminder add constraint qual_rem_to_data_collection_idx foreign key (fk_data_collection) references o_qual_data_collection (id); +alter table o_qual_reminder add constraint qual_rem_to_data_coll_idx foreign key (fk_data_collection) references o_qual_data_collection (id); create index idx_rem_to_data_collection_idx on o_qual_reminder (fk_data_collection); alter table o_qual_report_access add constraint qual_repacc_to_dc_idx foreign key (fk_data_collection) references o_qual_data_collection (id); diff --git a/src/main/resources/database/postgresql/alter_13_1_0_to_13_1_1.sql b/src/main/resources/database/postgresql/alter_13_1_0_to_13_1_1.sql new file mode 100644 index 0000000000000000000000000000000000000000..4c189b2053e94611eca60487f8e969c4f4b6a96b --- /dev/null +++ b/src/main/resources/database/postgresql/alter_13_1_0_to_13_1_1.sql @@ -0,0 +1 @@ +-- clean setup errors diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties index d8dc71969e8d3e6a17b42de69d03fc36faa7f518..a0be8ed84e98a69e71eedf41d6f4e22806fa83d9 100644 --- a/src/main/resources/serviceconfig/olat.properties +++ b/src/main/resources/serviceconfig/olat.properties @@ -822,6 +822,9 @@ olatprovider.default=true # if you change this all current users will no longer be able to login! default.auth.provider.identifier=OLAT +# Oauth / social providers as default +oauth.default=false + shibboleth.enable=false #enable and or set the generic shib login provider on the loginpage active and or default shibbolethGeneric.enable=false diff --git a/src/test/java/org/olat/commons/calendar/CalendarImportTest.java b/src/test/java/org/olat/commons/calendar/CalendarImportTest.java index a4364f3b1dfd6bd6ff2fc9808f5998798b4bc2c1..51510ea9af8d1845e88a8222b9207873d0acc4fc 100644 --- a/src/test/java/org/olat/commons/calendar/CalendarImportTest.java +++ b/src/test/java/org/olat/commons/calendar/CalendarImportTest.java @@ -29,6 +29,8 @@ import java.util.Iterator; import org.junit.Ignore; import org.junit.Test; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import net.fortuna.ical4j.data.CalendarBuilder; import net.fortuna.ical4j.data.ParserException; @@ -51,6 +53,7 @@ import net.fortuna.ical4j.util.CompatibilityHints; */ public class CalendarImportTest { + private static final OLog log = Tracing.createLoggerFor(CalendarImportTest.class); @Test public void testImportMonthFromOutlook() throws IOException, ParserException { @@ -146,13 +149,13 @@ public class CalendarImportTest { Period period = new Period(start, end); PeriodList pList = rootEvent.calculateRecurrenceSet(period); for(Object obj:pList) { - Period p = (Period)obj; - System.out.println("Period: " + p.getStart()); + Period p = (Period)obj; + log.info("Period: " + p.getStart()); } RecurrenceId recurrenceId = exceptionEvent.getRecurrenceId(); Date recurrenceDate = recurrenceId.getDate(); - System.out.println("Recurrence: " + recurrenceDate); + log.info("Recurrence: " + recurrenceDate); exceptionEvent.getSequence(); } } diff --git a/src/test/java/org/olat/core/commons/persistence/DBTest.java b/src/test/java/org/olat/core/commons/persistence/DBTest.java index 03195235a0d55357614dec11595ae275020d15fb..563cf0a75f294bf50b963b1cbc0d167c09e89ec3 100644 --- a/src/test/java/org/olat/core/commons/persistence/DBTest.java +++ b/src/test/java/org/olat/core/commons/persistence/DBTest.java @@ -37,8 +37,6 @@ import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import javax.persistence.EntityManager; - import org.junit.Assert; import org.junit.Test; import org.olat.basesecurity.model.GroupImpl; @@ -47,7 +45,6 @@ import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.properties.Property; import org.olat.properties.PropertyManager; -import org.olat.repository.RepositoryManager; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -64,8 +61,6 @@ public class DBTest extends OlatTestCase { @Autowired private DBImpl dbInstance; - @Autowired - private RepositoryManager repositoryManager; /** * testCloseOfUninitializedSession @@ -78,52 +73,6 @@ public class DBTest extends OlatTestCase { dbInstance.closeSession(); } - @Test - public void testMergeEntityManager_transactional() { - CountDownLatch latch = new CountDownLatch(1); - TestThread test = new TestThread(repositoryManager, latch); - test.start(); - - try { - latch.await(20, TimeUnit.SECONDS); - } catch (InterruptedException e) { - fail("Takes too long (more than 20sec)"); - } - - Assert.assertFalse(test.hasError()); - } - - private class TestThread extends Thread { - private boolean error; - private final CountDownLatch latch; - private final RepositoryManager repoManager; - - public TestThread(RepositoryManager repositoryManager, CountDownLatch latch) { - this.latch = latch; - this.repoManager = repositoryManager; - } - - public boolean hasError() { - return error; - } - - public void run() { - try { - EntityManager em1 = dbInstance.getCurrentEntityManager(); - Assert.assertNull(em1); - repoManager.lookupRepositoryEntry(27l, false); - EntityManager em2 = dbInstance.getCurrentEntityManager(); - //Transactional annotation must clean-up the entity manager - Assert.assertNull(em2); - } catch (Exception e) { - error = true; - log.error("", e); - } finally { - latch.countDown(); - } - } - } - /** * testErrorHandling */ diff --git a/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java b/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java index 73cb52750a5d23d2ff416250b40f32ca1d975f54..c86b4b779ffcf6805255e3d6bd2a4f7c4c169608 100644 --- a/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java +++ b/src/test/java/org/olat/core/commons/services/notifications/manager/NotificationsManagerTest.java @@ -504,7 +504,7 @@ public class NotificationsManagerTest extends OlatTestCase { */ @Test public void testConcurrentCreateSubscriberWithOneIdentity() { - final int NUM_OF_THREADS = 100; + final int NUM_OF_THREADS = isOracleConfigured() ? 25 : 100; PublisherData pd = new PublisherData("CreateSubscriber", "e.g. forumdata=keyofforum", null); SubscriptionContext sc = new SubscriptionContext("Course", new Long(1238778566), UUID.randomUUID().toString().replace("-", "")); @@ -525,7 +525,7 @@ public class NotificationsManagerTest extends OlatTestCase { // sleep until threads should have terminated/excepted try { - finishCount.await(10, TimeUnit.SECONDS); + finishCount.await(60, TimeUnit.SECONDS); } catch (InterruptedException e) { log.error("", e); } diff --git a/src/test/java/org/olat/core/commons/services/taskexecutor/manager/TaskExecutorManagerTest.java b/src/test/java/org/olat/core/commons/services/taskexecutor/manager/TaskExecutorManagerTest.java index 63afc7f508be2f216a2b1d6624175bce771f4bdb..136b3b1e388823c65504e5235eb3b5acaef5b40e 100644 --- a/src/test/java/org/olat/core/commons/services/taskexecutor/manager/TaskExecutorManagerTest.java +++ b/src/test/java/org/olat/core/commons/services/taskexecutor/manager/TaskExecutorManagerTest.java @@ -81,7 +81,7 @@ public class TaskExecutorManagerTest extends OlatTestCase { final int numOfExecutors = 5; final Thread[] executors = new Thread[numOfExecutors]; for(int i=numOfExecutors; i-->0; ) { - executors[i] = new Thread(new ProcessTask(taskExecutorManager)); + executors[i] = new Thread(new ProcessTask(taskExecutorManager, dbInstance)); } try { @@ -104,15 +104,18 @@ public class TaskExecutorManagerTest extends OlatTestCase { public static class ProcessTask implements Runnable { + private final DB db; private final TaskExecutorManagerImpl executor; - public ProcessTask(TaskExecutorManagerImpl executor) { + public ProcessTask(TaskExecutorManagerImpl executor, DB db) { this.executor = executor; + this.db = db; } @Override public void run() { executor.processTaskToDo(); + db.commitAndCloseSession(); } } diff --git a/src/test/java/org/olat/course/nodes/en/EnrollmentManagerConcurrentTest.java b/src/test/java/org/olat/course/nodes/en/EnrollmentManagerConcurrentTest.java index f3b92257feeaf5e1fe63c805c340d20a334de874..c4353c95df9143a7025a049bbe5017e9809934df 100644 --- a/src/test/java/org/olat/course/nodes/en/EnrollmentManagerConcurrentTest.java +++ b/src/test/java/org/olat/course/nodes/en/EnrollmentManagerConcurrentTest.java @@ -264,9 +264,9 @@ public class EnrollmentManagerConcurrentTest extends OlatTestCase implements Win @Test public void testConcurrentEnrollmentWithWaitingList() { - int NUM_OF_USERS = 30; - List<Identity> ids = new ArrayList<Identity>(NUM_OF_USERS); - for(int i=0; i<NUM_OF_USERS; i++) { + int numOfUsers = isOracleConfigured() ? 12 : 30; + List<Identity> ids = new ArrayList<Identity>(numOfUsers); + for(int i=0; i<numOfUsers; i++) { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("enroll-a-" + i + "-" + UUID.randomUUID().toString()); ids.add(id); } @@ -281,7 +281,7 @@ public class EnrollmentManagerConcurrentTest extends OlatTestCase implements Win dbInstance.commitAndCloseSession(); final CountDownLatch doneSignal = new CountDownLatch(ids.size()); - EnrollThread[] threads = new EnrollThread[NUM_OF_USERS]; + EnrollThread[] threads = new EnrollThread[numOfUsers]; int t = 0; for(Identity id:ids) { threads[t++] = new EnrollThread(id, addedEntry, group, enNode, cenv, doneSignal); diff --git a/src/test/java/org/olat/course/statistic/DailyStatisticUpdateManagerTest.java b/src/test/java/org/olat/course/statistic/DailyStatisticUpdateManagerTest.java index 1d41e9003216603580bcc5c9f7b8254e2134c5bc..da21e88658d84ff2ee91edc9222ff1657f038d83 100644 --- a/src/test/java/org/olat/course/statistic/DailyStatisticUpdateManagerTest.java +++ b/src/test/java/org/olat/course/statistic/DailyStatisticUpdateManagerTest.java @@ -25,6 +25,7 @@ import java.util.Locale; import java.util.Map; import org.junit.Assert; +import org.junit.Assume; import org.junit.Test; import org.olat.core.gui.util.SyntheticUserRequest; import org.olat.core.id.Identity; @@ -49,6 +50,8 @@ public class DailyStatisticUpdateManagerTest extends AbstractStatisticUpdateMana @Test public void statistics_daily() { + Assume.assumeTrue(!isOracleConfigured()); + statisticUpdateManager.setEnabled(true); cleanUpLog(); diff --git a/src/test/java/org/olat/course/statistic/DayOfWeekStatisticUpdateManagerTest.java b/src/test/java/org/olat/course/statistic/DayOfWeekStatisticUpdateManagerTest.java index 79ea1d4cd5e66953e47be487f8d1162cd501576c..eac42a5f0938f7cdd2c61eee51c5f07d931f25b2 100644 --- a/src/test/java/org/olat/course/statistic/DayOfWeekStatisticUpdateManagerTest.java +++ b/src/test/java/org/olat/course/statistic/DayOfWeekStatisticUpdateManagerTest.java @@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import org.junit.Assert; +import org.junit.Assume; import org.junit.Test; import org.olat.core.gui.util.SyntheticUserRequest; import org.olat.core.id.Identity; @@ -49,6 +50,8 @@ public class DayOfWeekStatisticUpdateManagerTest extends AbstractStatisticUpdate @Test public void statistics_dayOfWeek() { + Assume.assumeTrue(!isOracleConfigured()); + Assert.assertNotNull(statisticUpdateManager); statisticUpdateManager.setEnabled(true); Assert.assertTrue(statisticUpdateManager.isEnabled()); diff --git a/src/test/java/org/olat/course/statistic/HourOfDayStatisticUpdateManagerTest.java b/src/test/java/org/olat/course/statistic/HourOfDayStatisticUpdateManagerTest.java index 604af1369a6d05f4288fc0a22827fd7ca2d27e04..34527f1fe96f0b791b5ed838f15935e9a9027159 100644 --- a/src/test/java/org/olat/course/statistic/HourOfDayStatisticUpdateManagerTest.java +++ b/src/test/java/org/olat/course/statistic/HourOfDayStatisticUpdateManagerTest.java @@ -24,6 +24,7 @@ import java.util.Locale; import java.util.Map; import org.junit.Assert; +import org.junit.Assume; import org.junit.Test; import org.olat.core.gui.util.SyntheticUserRequest; import org.olat.core.id.Identity; @@ -49,6 +50,8 @@ public class HourOfDayStatisticUpdateManagerTest extends AbstractStatisticUpdate @Test public void statistics_hourOfDay() { + Assume.assumeTrue(!isOracleConfigured()); + Assert.assertNotNull(statisticUpdateManager); statisticUpdateManager.setEnabled(true); Assert.assertTrue(statisticUpdateManager.isEnabled()); diff --git a/src/test/java/org/olat/group/test/BusinessGroupMembershipProcessorTest.java b/src/test/java/org/olat/group/test/BusinessGroupMembershipProcessorTest.java index 4a44d0050c490354119915f5b5974399b85bc161..24bc35c5b9dfc03d14d46350d1d9fffa9aab41a7 100644 --- a/src/test/java/org/olat/group/test/BusinessGroupMembershipProcessorTest.java +++ b/src/test/java/org/olat/group/test/BusinessGroupMembershipProcessorTest.java @@ -90,6 +90,9 @@ public class BusinessGroupMembershipProcessorTest extends OlatTestCase { notificationManager.subscribe(id1, context, publisherData); notificationManager.subscribe(id2, context, publisherData); dbInstance.commitAndCloseSession(); + Assert.assertTrue(notificationManager.isSubscribed(coach, context)); + Assert.assertTrue(notificationManager.isSubscribed(id1, context)); + Assert.assertTrue(notificationManager.isSubscribed(id2, context)); //remove id1 and check subscription MailPackage mailing = new MailPackage(false); diff --git a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java index 53be3c7e9d29cf9af4c0b93d6c159d090510258c..0e15e3437b286f76ebff19be86901e836d32c30a 100644 --- a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java +++ b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java @@ -533,9 +533,9 @@ public class BusinessGroupServiceTest extends OlatTestCase { @Test public void testRemoveFromWaitingListAndFireEvent() throws Exception { //add 3 identities in waiting group - Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-1-" + UUID.randomUUID().toString()); - Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-2-" + UUID.randomUUID().toString()); - Identity ident3 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-3-" + UUID.randomUUID().toString()); + Identity ident1 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-1-" + UUID.randomUUID()); + Identity ident2 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-2-" + UUID.randomUUID()); + Identity ident3 = JunitTestHelper.createAndPersistIdentityAsUser("move-w3-3-" + UUID.randomUUID()); BusinessGroup group = businessGroupService.createBusinessGroup(null, "move-bg-3", "move-desc", 0, 10, true, false, null); dbInstance.commitAndCloseSession(); businessGroupService.addToWaitingList(ident1, Collections.singletonList(ident1), group, null); 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 e0c1c2e1608bdcf99b813fdf76d421529ef86b30..e47faa759f9ca48e7f635c22ce13c23fc67af944 100644 --- a/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java +++ b/src/test/java/org/olat/modules/coach/manager/CoachingDAOTest.java @@ -205,6 +205,7 @@ public class CoachingDAOTest extends OlatTestCase { @Test public void getStatistics_notAttempted() throws URISyntaxException { + URL courseUrl = CoachingLargeTest.class.getResource("CoachingCourse.zip"); RepositoryEntry re1 = JunitTestHelper.deployCourse(null, "Coaching course 1", courseUrl); RepositoryEntry re2 = JunitTestHelper.deployCourse(null, "Coaching course 2", courseUrl); diff --git a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java index d21b08a413e8a1e8c05ce53b1b1d1ad0c5b10887..dc092bea47355d0bf5f42acec91200629cc0b288 100644 --- a/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java +++ b/src/test/java/org/olat/modules/curriculum/manager/CurriculumElementDAOTest.java @@ -189,18 +189,18 @@ public class CurriculumElementDAOTest extends OlatTestCase { @Test public void loadElementsByCurriculums() { - Curriculum curriculum1 = curriculumDao.createAndPersist("", "", null, null); - CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("", "", null, null, null, + Curriculum curriculum1 = curriculumDao.createAndPersist("Cur-for-load-1", "Curriculum to load 1", null, null); + CurriculumElement parentElement = curriculumElementDao.createCurriculumElement("El-load-1", "Element 1", null, null, null, null, CurriculumCalendars.disabled, curriculum1); - CurriculumElement element1 = curriculumElementDao.createCurriculumElement("", "", null, null, parentElement, + CurriculumElement element1 = curriculumElementDao.createCurriculumElement("El-load-2", "Element 2", null, null, parentElement, null, CurriculumCalendars.disabled, curriculum1); - CurriculumElement element2 = curriculumElementDao.createCurriculumElement("", "", null, null, parentElement, + CurriculumElement element2 = curriculumElementDao.createCurriculumElement("El-load-3", "Element 3", null, null, parentElement, null, CurriculumCalendars.disabled, curriculum1); - Curriculum curriculum2 = curriculumDao.createAndPersist("", "", null, null); - CurriculumElement parentElement2 = curriculumElementDao.createCurriculumElement("", "", null, null, null, + Curriculum curriculum2 = curriculumDao.createAndPersist("Cur-for-load-2", "Curriculum to load 2", null, null); + CurriculumElement parentElement2 = curriculumElementDao.createCurriculumElement("El-load-4", "Element 4", null, null, null, null, CurriculumCalendars.disabled, curriculum2); - Curriculum otherCurriculum = curriculumDao.createAndPersist("", "", null, null); - CurriculumElement otherElement = curriculumElementDao.createCurriculumElement("", "", null, null, null, + Curriculum otherCurriculum = curriculumDao.createAndPersist("Cur-for-load-3", "Curriculum to load3", null, null); + CurriculumElement otherElement = curriculumElementDao.createCurriculumElement("El-load-5", "Element 5", null, null, null, null, CurriculumCalendars.disabled, otherCurriculum); dbInstance.commitAndCloseSession(); diff --git a/src/test/java/org/olat/modules/quality/analysis/manager/AnalysisFilterDAOTest.java b/src/test/java/org/olat/modules/quality/analysis/manager/AnalysisFilterDAOTest.java index 140fcf2a0b5f6119d9893d3c12298acc1626bb9a..47e9d538cc440baa0df9cf0376514cb048299f23 100644 --- a/src/test/java/org/olat/modules/quality/analysis/manager/AnalysisFilterDAOTest.java +++ b/src/test/java/org/olat/modules/quality/analysis/manager/AnalysisFilterDAOTest.java @@ -107,10 +107,10 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadFiguresDataCollectionCount() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor1 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executor2 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executor3 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Identity executor1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executor2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executor3 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Organisation dcOrganisation = organisationService.createOrganisation("Org-3", "", null, null, null); // Data collection with three participations QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); qualityService.addParticipations(dc1, asList(executor1, executor2, executor3)); @@ -133,7 +133,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); Identity executor1 = JunitTestHelper.createAndPersistIdentityAsUser("e1"); Identity executor2 = JunitTestHelper.createAndPersistIdentityAsUser("e2"); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation dcOrganisation = organisationService.createOrganisation("Org-4", "", null, null, null); // Data collection with two participations QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations1 = qualityService.addParticipations(dc1, asList(executor1, executor2)); @@ -163,8 +163,8 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctSessions() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor1 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executor2 = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executor2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(); @@ -224,7 +224,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldGetAvailableAttributeForTopicIdentity() { QualityDataCollection dataCollection = createFinishedDataCollection(); - Identity identity = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity identity = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); dataCollection.setTopicIdentity(identity); qualityService.updateDataCollection(dataCollection); dbInstance.commitAndCloseSession(); @@ -623,7 +623,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextLocation() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); String location1 = "loc1"; String location2 = "loc2"; @@ -655,7 +655,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextOrganisationPathes() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation defaultOrganisation = organisationService.getDefaultOrganisation(); organisationService.removeMember(defaultOrganisation, executor); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); @@ -688,7 +688,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextCurriculum() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(curriculum1); @@ -726,7 +726,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextCurriculumElementPathes() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(); @@ -762,7 +762,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextCurriculumElementsCurriculumKeys() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(); @@ -798,13 +798,13 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextCurriculumElementTypes() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElementType type1 = curriculumService.createCurriculumElementType("a", "b", null, null); CurriculumElementType type2 = curriculumService.createCurriculumElementType("a", "b", null, null); Curriculum curriculum = qualityTestHelper.createCurriculum(); - CurriculumElement element1 = curriculumService.createCurriculumElement("", "", null, null, null, type1, disabled, curriculum); - CurriculumElement element2 = curriculumService.createCurriculumElement("", "", null, null, null, type2, disabled, curriculum);; + CurriculumElement element1 = curriculumService.createCurriculumElement("el", "Element", null, null, null, type1, disabled, curriculum); + CurriculumElement element2 = curriculumService.createCurriculumElement("el", "Element", null, null, null, type2, disabled, curriculum);; // Participation with curriculum element of type1 QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations1 = qualityService.addParticipations(dc1, Collections.singletonList(executor)); @@ -837,7 +837,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextOrganisationPath() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(organisation1); @@ -877,7 +877,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctContextTaxonomyLevelPathes() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); TaxonomyLevel taxonomyLevel1 = qualityTestHelper.createTaxonomyLevel(); TaxonomyLevel taxonomyLevel2 = qualityTestHelper.createTaxonomyLevel(); @@ -908,8 +908,8 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadDistinctDataCollection() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor1 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executor2 = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executor2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); QualityDataCollection dc = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations = qualityService.addParticipations(dc, asList(executor1, executor2)); @@ -928,7 +928,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadMaxSerieIndex() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation dcOrganisation = organisationService.createOrganisation("Org-5", "", null, null, null); QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); QualityDataCollection dc2 = qualityService.createDataCollection(asList(dcOrganisation), dc1, null, null); QualityDataCollection dc3 = qualityService.createDataCollection(asList(dcOrganisation), dc2, null, null); @@ -1010,7 +1010,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { public void shouldLoadStatisticsGroupedByAllKeys() { BigDecimal expected = BigDecimal.TEN; RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); String identifier = UUID.randomUUID().toString(); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); @@ -1054,8 +1054,8 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadGroupedStatisticForEveryGroupBy() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Organisation dcOrganisation = organisationService.createOrganisation("Org-6", "", null, null, null); QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations = qualityService.addParticipations(dc1, asList(executor)); EvaluationFormParticipation participation = participations.get(0); @@ -1078,8 +1078,8 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldLoadGroupedStatisticForEveryTemporalGroupBy() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Organisation dcOrganisation = organisationService.createOrganisation("Org-7", "", null, null, null); QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations = qualityService.addParticipations(dc1, asList(executor)); EvaluationFormParticipation participation = participations.get(0); @@ -1187,7 +1187,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByDataCollections() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); // Data collection 1 QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -1286,7 +1286,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { Organisation organisation1 = qualityTestHelper.createOrganisation(); Organisation organisation2 = qualityTestHelper.createOrganisation(); Organisation otherOrganisation = qualityTestHelper.createOrganisation(); - Organisation childOrganisation = organisationService.createOrganisation("", "", null, organisation1, null); + Organisation childOrganisation = organisationService.createOrganisation("Org-20", "", null, organisation1, null); QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); dc1.setTopicOrganisation(organisation1); qualityService.updateDataCollection(dc1); @@ -1386,7 +1386,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextLocation() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); String location1 = "loc1"; String location2 = "loc2"; @@ -1454,11 +1454,11 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextOrganisation() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); Organisation organisation2 = qualityTestHelper.createOrganisation(); - Organisation subOrganisation = organisationService.createOrganisation("", "", null, organisation1, null); + Organisation subOrganisation = organisationService.createOrganisation("Org-21", "", null, organisation1, null); Organisation otherOrganisation = qualityTestHelper.createOrganisation(); // Participation with two organisations QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -1497,11 +1497,11 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextOrganisations() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); Organisation organisation2 = qualityTestHelper.createOrganisation(); - Organisation subOrganisation = organisationService.createOrganisation("", "", null, organisation1, null); + Organisation subOrganisation = organisationService.createOrganisation("Org-23", "", null, organisation1, null); Organisation otherOrganisation = qualityTestHelper.createOrganisation(); // Participation with two organisations QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -1540,7 +1540,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculum() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(curriculum1); @@ -1579,7 +1579,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculums() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(curriculum1); @@ -1618,12 +1618,12 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumElement() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum = qualityTestHelper.createCurriculum(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(); - CurriculumElement subElement = curriculumService.createCurriculumElement("", "", null, null, element1, null, CurriculumCalendars.disabled, curriculum); + CurriculumElement subElement = curriculumService.createCurriculumElement("el", "Element", null, null, element1, null, CurriculumCalendars.disabled, curriculum); CurriculumElement otherElement = qualityTestHelper.createCurriculumElement(); // Participation with curriculum element QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -1662,12 +1662,12 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumElements() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum = qualityTestHelper.createCurriculum(); CurriculumElement element1 = qualityTestHelper.createCurriculumElement(); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(); - CurriculumElement subElement = curriculumService.createCurriculumElement("", "", null, null, element1, null, CurriculumCalendars.disabled, curriculum); + CurriculumElement subElement = curriculumService.createCurriculumElement("el", "Element", null, null, element1, null, CurriculumCalendars.disabled, curriculum); CurriculumElement otherElement = qualityTestHelper.createCurriculumElement(); // Participation with curriculum element QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -1706,15 +1706,15 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumElementTypes() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElementType type = curriculumService.createCurriculumElementType("a", "b", null, null); CurriculumElementType typeOther = curriculumService.createCurriculumElementType("y", "z", null, null); Curriculum curriculum = qualityTestHelper.createCurriculum(); - CurriculumElement element1 = curriculumService.createCurriculumElement("", "", null, null, null, type, disabled, curriculum); - CurriculumElement element2 = curriculumService.createCurriculumElement("", "", null, null, null, type, disabled, curriculum);; - CurriculumElement elementNull = curriculumService.createCurriculumElement("", "", null, null, null, null, disabled, curriculum); - CurriculumElement elementOther = curriculumService.createCurriculumElement("", "", null, null, null, typeOther, disabled, curriculum); + CurriculumElement element1 = curriculumService.createCurriculumElement("el", "Element", null, null, null, type, disabled, curriculum); + CurriculumElement element2 = curriculumService.createCurriculumElement("el", "Element", null, null, null, type, disabled, curriculum);; + CurriculumElement elementNull = curriculumService.createCurriculumElement("el", "Element", null, null, null, null, disabled, curriculum); + CurriculumElement elementOther = curriculumService.createCurriculumElement("el", "Element", null, null, null, typeOther, disabled, curriculum); // Participation with curriculum element of type QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations1 = qualityService.addParticipations(dc1, Collections.singletonList(executor)); @@ -1753,7 +1753,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumOrganisation() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(organisation1); @@ -1761,7 +1761,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { Organisation organisation2 = qualityTestHelper.createOrganisation(); Curriculum curriculum2 = qualityTestHelper.createCurriculum(organisation2); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(curriculum2); - Organisation organisationSub = organisationService.createOrganisation("", "", null, organisation1, null); + Organisation organisationSub = organisationService.createOrganisation("Org-9", "", null, organisation1, null); Curriculum curriculumSub = qualityTestHelper.createCurriculum(organisationSub); CurriculumElement elementSub = qualityTestHelper.createCurriculumElement(curriculumSub); Organisation organisationOther = qualityTestHelper.createOrganisation(); @@ -1799,7 +1799,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumOrganisations() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Organisation organisation1 = qualityTestHelper.createOrganisation(); Curriculum curriculum1 = qualityTestHelper.createCurriculum(organisation1); @@ -1807,7 +1807,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { Organisation organisation2 = qualityTestHelper.createOrganisation(); Curriculum curriculum2 = qualityTestHelper.createCurriculum(organisation2); CurriculumElement element2 = qualityTestHelper.createCurriculumElement(curriculum2); - Organisation organisationSub = organisationService.createOrganisation("", "", null, organisation1, null); + Organisation organisationSub = organisationService.createOrganisation("Org-24", "", null, organisation1, null); Curriculum curriculumSub = qualityTestHelper.createCurriculum(organisationSub); CurriculumElement elementSub = qualityTestHelper.createCurriculumElement(curriculumSub); Organisation organisationOther = qualityTestHelper.createOrganisation(); @@ -1850,7 +1850,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextTaxonomyLevel() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Taxonomy taxonomy = qualityTestHelper.createTaxonomy(); TaxonomyLevel taxonomyLevel1 = qualityTestHelper.createTaxonomyLevel(taxonomy); @@ -1894,7 +1894,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextTaxonomyLevels() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Taxonomy taxonomy = qualityTestHelper.createTaxonomy(); TaxonomyLevel taxonomyLevel1 = qualityTestHelper.createTaxonomyLevel(taxonomy); @@ -1939,9 +1939,9 @@ public class AnalysisFilterDAOTest extends OlatTestCase { public void shouldFilterByWithUserInfosOnly() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); - Identity executor1 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executor2 = JunitTestHelper.createAndPersistIdentityAsUser(""); - Identity executorOther = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor1 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executor2 = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); + Identity executorOther = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); // First session with informations QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); List<EvaluationFormParticipation> participations1 = qualityService.addParticipations(dc1, Collections.singletonList(executor1)); @@ -1985,7 +1985,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterBySerieNumber() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Organisation dcOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation dcOrganisation = organisationService.createOrganisation("Org-8", "", null, null, null); QualityDataCollection dc1 = qualityService.createDataCollection(asList(dcOrganisation), formEntry); QualityDataCollection dc2 = qualityService.createDataCollection(asList(dcOrganisation), dc1, null, null); QualityDataCollection dc3 = qualityService.createDataCollection(asList(dcOrganisation), dc2, null, null); @@ -2006,7 +2006,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByTopicIdentityNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); // Data collection ok QualityDataCollection dc = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -2032,7 +2032,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByTopicOrganisationNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); // Data collection ok QualityDataCollection dc = qualityService.createDataCollection(asList(dcOrganisation), formEntry); @@ -2058,7 +2058,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByTopicCurriculumNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); Curriculum curriculum = qualityTestHelper.createCurriculum(); // Data collection ok @@ -2085,7 +2085,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByTopicCurriculumElementNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement curriculumElement = qualityTestHelper.createCurriculumElement(); // Data collection ok @@ -2112,7 +2112,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByTopicRepositoryEntryNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); RepositoryEntry re = qualityTestHelper.createRepositoryEntry(); // Data collection ok @@ -2166,7 +2166,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement curriculumElement = qualityTestHelper.createCurriculumElement(); // Data collection ok @@ -2191,7 +2191,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumElementNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement curriculumElement = qualityTestHelper.createCurriculumElement(); // Data collection ok @@ -2216,7 +2216,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextCurriculumOraganisationNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); CurriculumElement curriculumElement = qualityTestHelper.createCurriculumElement(); // Data collection ok @@ -2241,7 +2241,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextTaxonomyLevelNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); TaxonomyLevel taxonomyLevel = qualityTestHelper.createTaxonomyLevel(); // Data collection ok @@ -2267,7 +2267,7 @@ public class AnalysisFilterDAOTest extends OlatTestCase { @Test public void shouldFilterByContextLocationNull() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Identity executor = JunitTestHelper.createAndPersistIdentityAsUser(""); + Identity executor = JunitTestHelper.createAndPersistIdentityAsRndUser("Analyst"); Organisation dcOrganisation = qualityTestHelper.createOrganisation(); // Data collection ok QualityDataCollection dc = qualityService.createDataCollection(asList(dcOrganisation), formEntry); diff --git a/src/test/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAOTest.java b/src/test/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAOTest.java index 3826d889f99bd714bba1f139c3045da015316712..2ccc9e6776a303f70a20557ac3e3b03f7bc8f53f 100644 --- a/src/test/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAOTest.java +++ b/src/test/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAOTest.java @@ -233,9 +233,9 @@ public class EvaluationFormDAOTest extends OlatTestCase { public void shouldFilterByOrganisations() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry otherFormEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-14", "", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); - Organisation otherOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation otherOrganisation = organisationService.createOrganisation("Org-15", "", null, null, null); List<Organisation> otherOrganisations = Collections.singletonList(otherOrganisation); QualityDataCollection dataCollection1 = qualityService.createDataCollection(organisations, formEntry); qualityTestHelper.updateStatus(dataCollection1, QualityDataCollectionStatus.FINISHED); @@ -263,9 +263,9 @@ public class EvaluationFormDAOTest extends OlatTestCase { public void shouldFilterByAllOrganisations() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry otherFormEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-16", "", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); - Organisation otherOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation otherOrganisation = organisationService.createOrganisation("Org-17", "", null, null, null); List<Organisation> otherOrganisations = Collections.singletonList(otherOrganisation); QualityDataCollection dataCollection1 = qualityService.createDataCollection(organisations, formEntry); qualityTestHelper.updateStatus(dataCollection1, QualityDataCollectionStatus.FINISHED); @@ -291,9 +291,9 @@ public class EvaluationFormDAOTest extends OlatTestCase { public void shouldFilterByNoOrganisations() { RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry otherFormEntry = JunitTestHelper.createAndPersistRepositoryEntry(); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-18", "", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); - Organisation otherOrganisation = organisationService.createOrganisation("", "", null, null, null); + Organisation otherOrganisation = organisationService.createOrganisation("Org-19", "", null, null, null); List<Organisation> otherOrganisations = Collections.singletonList(otherOrganisation); QualityDataCollection dataCollection1 = qualityService.createDataCollection(organisations, formEntry); qualityTestHelper.updateStatus(dataCollection1, QualityDataCollectionStatus.FINISHED); diff --git a/src/test/java/org/olat/modules/quality/generator/provider/course/manager/CourseProviderDAOTest.java b/src/test/java/org/olat/modules/quality/generator/provider/course/manager/CourseProviderDAOTest.java index 3612271699728d569c216b318acdfe16638de126..5fbfc2fd7a9cefef1ad64f8595d31eaa4a5a6c11 100644 --- a/src/test/java/org/olat/modules/quality/generator/provider/course/manager/CourseProviderDAOTest.java +++ b/src/test/java/org/olat/modules/quality/generator/provider/course/manager/CourseProviderDAOTest.java @@ -113,13 +113,13 @@ public class CourseProviderDAOTest extends OlatTestCase { @Test public void shouldFilterByNotAlreadyGenerated() { - Organisation organisation = organisationService.createOrganisation("", "o1", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-32", "o1", null, null, null); RepositoryEntry courseWithoutDataCollection = createEntry(null, null, organisation); RepositoryEntry courseWithDataCollection = createEntry(null, null, organisation); - QualityGenerator generator = generatorService.createGenerator("", singletonList(organisation)); + QualityGenerator generator = generatorService.createGenerator("Gen", singletonList(organisation)); createDataCollection(organisation, courseWithDataCollection, generator); RepositoryEntry courseWithOtherDataCollection = createEntry(null, null, organisation); - QualityGenerator generatorOther = generatorService.createGenerator("", singletonList(organisation)); + QualityGenerator generatorOther = generatorService.createGenerator("Gen", singletonList(organisation)); createDataCollection(organisation, courseWithOtherDataCollection, generatorOther); dbInstance.commitAndCloseSession(); @@ -134,10 +134,10 @@ public class CourseProviderDAOTest extends OlatTestCase { @Test public void shouldFilterByOrganisation() { - Organisation superOrganisation = organisationService.createOrganisation("", "o1", null, null, null); - Organisation organisation = organisationService.createOrganisation("", "o1", null, superOrganisation, null); - Organisation subOrganisation = organisationService.createOrganisation("", "o1s", null, organisation, null); - Organisation organisationOther = organisationService.createOrganisation("", "o2", null, null, null); + Organisation superOrganisation = organisationService.createOrganisation("Org-33", "o1", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-34", "o1", null, superOrganisation, null); + Organisation subOrganisation = organisationService.createOrganisation("Org-35", "o1s", null, organisation, null); + Organisation organisationOther = organisationService.createOrganisation("Org.36", "o2", null, null, null); RepositoryEntry courseSuper = createEntry(null, null, superOrganisation); RepositoryEntry course1 = createEntry(null, null, organisation); RepositoryEntry course2 = createEntry(null, null, organisation); @@ -258,9 +258,9 @@ public class CourseProviderDAOTest extends OlatTestCase { public void shouldFilterByGeneratorDataCollectionStart() { Date start = nextHour(); Date other = nextYear(); - Organisation organisation = organisationService.createOrganisation("", "o1", null, null, null); - QualityGenerator generator = generatorService.createGenerator("", singletonList(organisation)); - QualityGenerator generatorOther = generatorService.createGenerator("", singletonList(organisation)); + Organisation organisation = organisationService.createOrganisation("Org-37", "o1", null, null, null); + QualityGenerator generator = generatorService.createGenerator("Gen", singletonList(organisation)); + QualityGenerator generatorOther = generatorService.createGenerator("Gen", singletonList(organisation)); //Without data collection RepositoryEntry courseNoDataCollection = createEntry(null, null, organisation); //Data collection with generator, without start date diff --git a/src/test/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAOTest.java b/src/test/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAOTest.java index f609d2266d4350245b2eda0cd9d188fc74c0de0b..bdcc3be6f57f4b7cb728cce90710acfebb22d60a 100644 --- a/src/test/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAOTest.java +++ b/src/test/java/org/olat/modules/quality/generator/provider/courselectures/manager/CourseLecturesProviderDAOTest.java @@ -202,10 +202,10 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByCurriculumElements() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); - Curriculum curriculum = curriculumService.createCurriculum("", "", null, organisation); - CurriculumElement element = curriculumService.createCurriculumElement("", "", null, null, null, null, CurriculumCalendars.disabled, curriculum); - CurriculumElement otherElement = curriculumService.createCurriculumElement("", "", null, null, null, null, CurriculumCalendars.disabled, curriculum); + Organisation organisation = organisationService.createOrganisation("org", "Org", null, null, null); + Curriculum curriculum = curriculumService.createCurriculum("Curriculum", "Curriculum", null, organisation); + CurriculumElement element = curriculumService.createCurriculumElement("Element", "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum); + CurriculumElement otherElement = curriculumService.createCurriculumElement("Element", "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum); RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry course2 = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry otherCourse = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -261,7 +261,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByFinishedDataCollectionForTopicIdentity() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("Org-39", "", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); RepositoryEntry courseNoDC = JunitTestHelper.createAndPersistRepositoryEntry(); repositoryService.addOrganisation(courseNoDC, organisation); @@ -272,7 +272,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { createLectureBlock(courseNoDC, teacher, 1); createLectureBlock(courseRunningDC, teacher, 1); createLectureBlock(courseFinishedDC, teacher, 1); - QualityGenerator generator = generatorService.createGenerator("", organisations); + QualityGenerator generator = generatorService.createGenerator("Generator", organisations); dbInstance.commitAndCloseSession(); RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -301,7 +301,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByFinishedDataCollectionForTopicRepository() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("org", "Org", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); RepositoryEntry courseNoDC = JunitTestHelper.createAndPersistRepositoryEntry(); repositoryService.addOrganisation(courseNoDC, organisation); @@ -312,7 +312,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { createLectureBlock(courseNoDC, teacher, 1); createLectureBlock(courseRunningDC, teacher, 1); createLectureBlock(courseFinishedDC, teacher, 1); - QualityGenerator generator = generatorService.createGenerator("", organisations); + QualityGenerator generator = generatorService.createGenerator("Gen", organisations); dbInstance.commitAndCloseSession(); RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -341,7 +341,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByExcludeForTopicIdentity() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("org", "Org", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); repositoryService.addOrganisation(course1, organisation); @@ -352,7 +352,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { createLectureBlock(course1, teacher, 1); createLectureBlock(course2, teacher, 1); createLectureBlock(otherCourse, teacher, 1); - QualityGenerator generator = generatorService.createGenerator("", organisations); + QualityGenerator generator = generatorService.createGenerator("Gen", organisations); dbInstance.commitAndCloseSession(); RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -375,7 +375,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByExcludeForTopicRepository() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation organisation = organisationService.createOrganisation("", "", null, null, null); + Organisation organisation = organisationService.createOrganisation("org", "Org", null, null, null); List<Organisation> organisations = Collections.singletonList(organisation); RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); repositoryService.addOrganisation(course1, organisation); @@ -386,7 +386,7 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { createLectureBlock(course1, teacher, 1); createLectureBlock(course2, teacher, 1); createLectureBlock(otherCourse, teacher, 1); - QualityGenerator generator = generatorService.createGenerator("", organisations); + QualityGenerator generator = generatorService.createGenerator("Gen", organisations); dbInstance.commitAndCloseSession(); RepositoryEntry formEntry = JunitTestHelper.createAndPersistRepositoryEntry(); @@ -409,9 +409,9 @@ public class CourseLecturesProviderDAOTest extends OlatTestCase { @Test public void shouldFilterLectureBlockInfosByOrganisation() { Identity teacher = JunitTestHelper.createAndPersistIdentityAsRndUser(""); - Organisation superOrganisation = organisationService.createOrganisation("", "", null, null, null); - Organisation organisation = organisationService.createOrganisation("", "", null, superOrganisation, null); - Organisation subOrganisation = organisationService.createOrganisation("", "", null, organisation, null); + Organisation superOrganisation = organisationService.createOrganisation("org", "Org", null, null, null); + Organisation organisation = organisationService.createOrganisation("org", "Org", null, superOrganisation, null); + Organisation subOrganisation = organisationService.createOrganisation("org", "Org", null, organisation, null); RepositoryEntry courseSuperOrg = JunitTestHelper.createAndPersistRepositoryEntry(); repositoryService.addOrganisation(courseSuperOrg, superOrganisation); RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); diff --git a/src/test/java/org/olat/modules/quality/manager/CurriculumElementQualityContextBuilderTest.java b/src/test/java/org/olat/modules/quality/manager/CurriculumElementQualityContextBuilderTest.java index 3583b555e5ca60161a66a70f94a92ef4a32b68f0..c3612dd7149a9dc85786c6e303e87f3c48ec2faa 100644 --- a/src/test/java/org/olat/modules/quality/manager/CurriculumElementQualityContextBuilderTest.java +++ b/src/test/java/org/olat/modules/quality/manager/CurriculumElementQualityContextBuilderTest.java @@ -98,39 +98,39 @@ public class CurriculumElementQualityContextBuilderTest extends OlatTestCase { Arrays.asList(executor)); EvaluationFormParticipation evaluationFormParticipation = participations.get(0); - Organisation curriculumOrganisation1 = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", null, + Organisation curriculumOrganisation1 = organisationService.createOrganisation("Org-29", UUID.randomUUID().toString(), "", null, null); - Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", + Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("Org-30", UUID.randomUUID().toString(), "", null, null); - Organisation curriculumOrganisation2 = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", + Organisation curriculumOrganisation2 = organisationService.createOrganisation("Org-31", UUID.randomUUID().toString(), "", curriculumOrganisation2Parent, null); - Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 1", "", curriculumOrganisation1); - Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 2", "", curriculumOrganisation2); CurriculumElement curriculumElementParent = curriculumService - .createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, CurriculumCalendars.disabled, curriculum2); + .createCurriculumElement(UUID.randomUUID().toString(), "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum2); CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, curriculumElementParent, null, CurriculumCalendars.disabled, curriculum1); + "Element 1", null, null, curriculumElementParent, null, CurriculumCalendars.disabled, curriculum1); CurriculumElement otherCurriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum2); + "Element 2", null, null, null, null, CurriculumCalendars.disabled, curriculum2); RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry(); curriculumService.addRepositoryEntry(curriculumElement, entry, true); - Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "", "", null); - TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "Taxonomy", "", null); + TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 1", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", + TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 3", "", null, null, taxonomyLevel2Parent, taxonomy); - TaxonomyLevel taxonomyLevelRepo = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevelRepo = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 4", "", null, null, null, taxonomy); TaxonomyLevel taxonomyLevelOfCurriculumElement = taxonomyService - .createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, null, null, taxonomy); + .createTaxonomyLevel(UUID.randomUUID().toString(), "Level 5", "", null, null, null, taxonomy); curriculumElementToTaxonomyLevelDao.createRelation(curriculumElement, taxonomyLevel1); curriculumElementToTaxonomyLevelDao.createRelation(curriculumElement, taxonomyLevel2); repositoryTaxonomyDao.createRelation(entry, taxonomyLevelRepo); @@ -189,9 +189,9 @@ public class CurriculumElementQualityContextBuilderTest extends OlatTestCase { Organisation organisationExecutorOnly = qualityTestHelper.createOrganisation(); organisationService.addMember(organisationExecutorOnly, executor, OrganisationRoles.user); - Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum", "", organisationExecutorAndCurriculum); - CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum); dbInstance.commitAndCloseSession(); @@ -222,9 +222,9 @@ public class CurriculumElementQualityContextBuilderTest extends OlatTestCase { organisationService.addMember(organisationExecutorOnly, executor, OrganisationRoles.user); Organisation organisationCurriculumOnly = qualityTestHelper.createOrganisation(); - Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum", "", organisationCurriculumOnly); - CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum); dbInstance.commitAndCloseSession(); @@ -256,9 +256,9 @@ public class CurriculumElementQualityContextBuilderTest extends OlatTestCase { Organisation organisationExecutorAndCurriculumButManager = qualityTestHelper.createOrganisation(); organisationService.addMember(organisationExecutorAndCurriculumButManager, executor, OrganisationRoles.usermanager); - Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum", "", organisationExecutorAndCurriculumButManager); - CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum); dbInstance.commitAndCloseSession(); @@ -278,9 +278,9 @@ public class CurriculumElementQualityContextBuilderTest extends OlatTestCase { @Test public void shouldNotDeleteContextOfOtherRoles() { - Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", null); + Curriculum curriculum = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum", "", null); CurriculumElement curriculumElement = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum); + "Curriculum", null, null, null, null, CurriculumCalendars.disabled, curriculum); Identity executor = JunitTestHelper.createAndPersistIdentityAsRndAuthor(""); QualityDataCollection dataCollection = qualityTestHelper.createDataCollection(); List<EvaluationFormParticipation> participations = qualityService.addParticipations(dataCollection, diff --git a/src/test/java/org/olat/modules/quality/manager/RepositoryEntryQualityContextBuilderTest.java b/src/test/java/org/olat/modules/quality/manager/RepositoryEntryQualityContextBuilderTest.java index 348f2e31e6e58f494c1c89b8bdc01413ab0a970e..705cc99800eebb9efb450221c3e9cc1df1afeae2 100644 --- a/src/test/java/org/olat/modules/quality/manager/RepositoryEntryQualityContextBuilderTest.java +++ b/src/test/java/org/olat/modules/quality/manager/RepositoryEntryQualityContextBuilderTest.java @@ -110,42 +110,42 @@ public class RepositoryEntryQualityContextBuilderTest extends OlatTestCase { Arrays.asList(executor)); EvaluationFormParticipation evaluationFormParticipation = participations.get(0); - Organisation curriculumOrganisation1 = organisationService.createOrganisation("", UUID.randomUUID().toString(), + Organisation curriculumOrganisation1 = organisationService.createOrganisation("Org-10", UUID.randomUUID().toString(), "", null, null); - Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("", + Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("Org-11", UUID.randomUUID().toString(), "", null, null); - Organisation curriculumOrganisation2 = organisationService.createOrganisation("", UUID.randomUUID().toString(), + Organisation curriculumOrganisation2 = organisationService.createOrganisation("Org-12", UUID.randomUUID().toString(), "", curriculumOrganisation2Parent, null); - Organisation curriculumOrganisation3 = organisationService.createOrganisation("", UUID.randomUUID().toString(), + Organisation curriculumOrganisation3 = organisationService.createOrganisation("Org-13", UUID.randomUUID().toString(), "", null, null); - Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 1", "", curriculumOrganisation1); - Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 2", "", curriculumOrganisation2); - Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 3", "", curriculumOrganisation3); CurriculumElement curriculumElement1 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum1); + "Element 1", null, null, null, null, CurriculumCalendars.disabled, curriculum1); CurriculumElement curriculumElement2Parent = curriculumService - .createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, CurriculumCalendars.disabled, curriculum2); + .createCurriculumElement(UUID.randomUUID().toString(), "Element 2 parent", null, null, null, null, CurriculumCalendars.disabled, curriculum2); CurriculumElement curriculumElement2 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, curriculumElement2Parent, null, CurriculumCalendars.disabled, curriculum2); + "Element 2", null, null, curriculumElement2Parent, null, CurriculumCalendars.disabled, curriculum2); CurriculumElement curriculumElement3 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum3); + "Element 3", null, null, null, null, CurriculumCalendars.disabled, curriculum3); curriculumService.addRepositoryEntry(curriculumElement1, entry, true); curriculumService.addRepositoryEntry(curriculumElement2, entry, true); curriculumService.addRepositoryEntry(curriculumElement3, entry, true); - Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "", "", null); - TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "Taxonomy", "", null); + TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "level 1", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", + TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2 parent", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2", "", null, null, taxonomyLevel2Parent, taxonomy); - TaxonomyLevel taxonomyLevel3 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevel3 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 3", "", null, null, null, taxonomy); TaxonomyLevel taxonomyLevelOfCurriculumElement = taxonomyService - .createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, null, null, taxonomy); + .createTaxonomyLevel(UUID.randomUUID().toString(), "Level of element", "", null, null, null, taxonomy); repositoryTaxonomyDao.createRelation(entry, taxonomyLevel1); repositoryTaxonomyDao.createRelation(entry, taxonomyLevel2); curriculumElementToTaxonomyLevelDao.createRelation(curriculumElement1, taxonomyLevelOfCurriculumElement); @@ -206,41 +206,41 @@ public class RepositoryEntryQualityContextBuilderTest extends OlatTestCase { Arrays.asList(coach)); EvaluationFormParticipation evaluationFormParticipation = participations.get(0); - Organisation curriculumOrganisation1 = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", null, + Organisation curriculumOrganisation1 = organisationService.createOrganisation("Org-1", UUID.randomUUID().toString(), "", null, null); - Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", + Organisation curriculumOrganisation2Parent = organisationService.createOrganisation("Org-26", UUID.randomUUID().toString(), "", null, null); - Organisation organisation2 = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", + Organisation organisation2 = organisationService.createOrganisation("Org-27", UUID.randomUUID().toString(), "", curriculumOrganisation2Parent, null); - Organisation curriculumOrganisationOther = organisationService.createOrganisation("", UUID.randomUUID().toString(), "", null, + Organisation curriculumOrganisationOther = organisationService.createOrganisation("Org-28", UUID.randomUUID().toString(), "", null, null); - Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 1", "", curriculumOrganisation1); - Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 2", "", organisation2); - Curriculum curriculumOther = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculumOther = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Other curriculum", "", curriculumOrganisationOther); CurriculumElement curriculumElement1 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum1); + "Element 1", null, null, null, null, CurriculumCalendars.disabled, curriculum1); CurriculumElement curriculumElement2Parent = curriculumService - .createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, CurriculumCalendars.disabled, curriculum2); + .createCurriculumElement(UUID.randomUUID().toString(), "Element 2 parent", null, null, null, null, CurriculumCalendars.disabled, curriculum2); CurriculumElement curriculumElement2 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, curriculumElement2Parent, null, CurriculumCalendars.disabled, curriculum2); + "Element 2", null, null, curriculumElement2Parent, null, CurriculumCalendars.disabled, curriculum2); CurriculumElement curriculumElementOther = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculumOther); + "Other element", null, null, null, null, CurriculumCalendars.disabled, curriculumOther); curriculumService.addRepositoryEntry(curriculumElement1, entry, true); curriculumService.addRepositoryEntry(curriculumElement2, entry, true); - Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "", "", null); - TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + Taxonomy taxonomy = taxonomyService.createTaxonomy(UUID.randomUUID().toString(), "Taxonomy", "", null); + TaxonomyLevel taxonomyLevel1 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 1", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", + TaxonomyLevel taxonomyLevel2Parent = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2 parent", "", null, null, null, taxonomy); - TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevel2 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2", "", null, null, taxonomyLevel2Parent, taxonomy); - TaxonomyLevel taxonomyLevel3 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, + TaxonomyLevel taxonomyLevel3 = taxonomyService.createTaxonomyLevel(UUID.randomUUID().toString(), "Level 2", "", null, null, null, taxonomy); TaxonomyLevel taxonomyLevelOfCurriculumElement = taxonomyService - .createTaxonomyLevel(UUID.randomUUID().toString(), "", "", null, null, null, taxonomy); + .createTaxonomyLevel(UUID.randomUUID().toString(), "Taxonomy curr. el.", "", null, null, null, taxonomy); repositoryTaxonomyDao.createRelation(entry, taxonomyLevel1); repositoryTaxonomyDao.createRelation(entry, taxonomyLevel2); curriculumElementToTaxonomyLevelDao.createRelation(curriculumElement1, taxonomyLevelOfCurriculumElement); @@ -307,28 +307,28 @@ public class RepositoryEntryQualityContextBuilderTest extends OlatTestCase { organisationService.addMember(organisationExecutorAndCurriculumButManager, executor, OrganisationRoles.usermanager); Organisation organisationRepositoreyOnly = qualityTestHelper.createOrganisation(); - Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum1 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 1", "", organisationExecutorAndCurriculum1); - CurriculumElement curriculumElement1 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement1 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element 1", null, null, null, null, CurriculumCalendars.disabled, curriculum1); curriculumService.addMember(curriculumElement1, executor, CurriculumRoles.participant); curriculumService.addRepositoryEntry(curriculumElement1, entry, true); - Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum2 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 2", "", organisationExecutorAndCurriculum2); - CurriculumElement curriculumElement2 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement2 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element 2", null, null, null, null, CurriculumCalendars.disabled, curriculum2); curriculumService.addMember(curriculumElement2, executor, CurriculumRoles.participant); curriculumService.addRepositoryEntry(curriculumElement2, entry, true); - Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum 3", "", organisationExecutorAndCurriculumButManager); - CurriculumElement curriculumElement3 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "", null, null, null, null, + CurriculumElement curriculumElement3 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), "Element 3", null, null, null, null, CurriculumCalendars.disabled, curriculum3); curriculumService.addMember(curriculumElement3, executor, CurriculumRoles.participant); curriculumService.addRepositoryEntry(curriculumElement3, entry, true); - entry = repositoryManager.setDescriptionAndName(entry, "", null, null, null, null, null, null, null, null, null, + entry = repositoryManager.setDescriptionAndName(entry, "Repo. entry", null, null, null, null, null, null, null, null, null, null, Collections.singletonList(organisationRepositoreyOnly), null); dbInstance.commitAndCloseSession(); @@ -368,14 +368,14 @@ public class RepositoryEntryQualityContextBuilderTest extends OlatTestCase { organisationService.addMember(organisationUserAndRepositoryButManager, executor, OrganisationRoles.linemanager); Organisation organisationRepositoreyOnly = qualityTestHelper.createOrganisation(); - Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "", "", + Curriculum curriculum3 = curriculumService.createCurriculum(UUID.randomUUID().toString(), "Curriculum", "", organisationExecutorAndCurriculumButManager); CurriculumElement curriculumElement3 = curriculumService.createCurriculumElement(UUID.randomUUID().toString(), - "", null, null, null, null, CurriculumCalendars.disabled, curriculum3); + "Element", null, null, null, null, CurriculumCalendars.disabled, curriculum3); curriculumService.addMember(curriculumElement3, executor, CurriculumRoles.participant); curriculumService.addRepositoryEntry(curriculumElement3, entry, true); - entry = repositoryManager.setDescriptionAndName(entry, "", null, null, null, null, null, null, null, null, null, null, + entry = repositoryManager.setDescriptionAndName(entry, "Repo. entry", null, null, null, null, null, null, null, null, null, null, Arrays.asList(organisationUserAndRepository, organisationUserAndRepositoryButManager, organisationRepositoreyOnly), null); dbInstance.commitAndCloseSession(); @@ -411,7 +411,7 @@ public class RepositoryEntryQualityContextBuilderTest extends OlatTestCase { organisationService.addMember(organisationUserAndRepositoryButManager, executor, OrganisationRoles.linemanager); Organisation organisationRepositoreyOnly = qualityTestHelper.createOrganisation(); - entry = repositoryManager.setDescriptionAndName(entry, "", null, null, null, null, null, null, null, null, null, null, + entry = repositoryManager.setDescriptionAndName(entry, "Repo. entry", null, null, null, null, null, null, null, null, null, null, Arrays.asList(organisationUserAndRepositoryButManager, organisationRepositoreyOnly), null); dbInstance.commitAndCloseSession(); diff --git a/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java b/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java index 99f838a3c013a3a03efd0d9e14a6093bfd1f1770..6b92f7b6a32aea1808dd91c8ef999a8e5e04229c 100644 --- a/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java +++ b/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java @@ -60,8 +60,6 @@ public class PLockTest extends OlatTestCase { private static final OLog log = Tracing.createLoggerFor(PLockTest.class); - private static final int MAX_COUNT = 5; //5; //30; - private static final int MAX_USERS_MORE = 20; //20; //100; @Autowired private DB dbInstance; @@ -509,11 +507,15 @@ public class PLockTest extends OlatTestCase { @Test public void testSync() { log.info("testing enrollment"); + + int count = 5; + int maxUsers = isOracleConfigured() ? 5 : 20;// I give less connections + // ------------------ now check with lock ------------------- // create a group // create users final List<Identity> identities = new ArrayList<Identity>(); - for (int i = 0; i < MAX_COUNT + MAX_USERS_MORE; i++) { + for (int i = 0; i < count + maxUsers; i++) { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("u-" + i + "-" + UUID.randomUUID().toString()); identities.add(id); log.info("testSync: Identity=" + id.getName() + " created"); @@ -525,7 +527,7 @@ public class PLockTest extends OlatTestCase { dbInstance.closeSession(); //prepare threads - int numOfThreads = MAX_COUNT + MAX_USERS_MORE; + int numOfThreads = count + maxUsers; final CountDownLatch finishCount = new CountDownLatch(numOfThreads); // try to enrol all in the same group @@ -539,13 +541,13 @@ public class PLockTest extends OlatTestCase { // PLock p2 = pessimisticLockManager.findOrPersistPLock("befinsert"); assertNotNull(p2); - doNoLockingEnrol(id, group2); + doNoLockingEnrol(id, group2, count); dbInstance.commit(); - dbInstance.closeSession(); } catch (Exception e) { - e.printStackTrace(); + log.error("", e); } finally { finishCount.countDown(); + dbInstance.closeSession(); } }}).start(); } @@ -559,23 +561,23 @@ public class PLockTest extends OlatTestCase { // now count dbInstance.closeSession(); int cnt2 = securityGroupDao.countIdentitiesOfSecurityGroup(group2); - assertTrue("cnt should be smaller or eq than allowed since synced with select for update. cnt:"+cnt2+", max "+MAX_COUNT, cnt2 <= MAX_COUNT); - assertTrue("cnt should be eq to allowed since synced with select for update. cnt:"+cnt2+", max "+MAX_COUNT, cnt2 == MAX_COUNT); + assertTrue("cnt should be smaller or eq than allowed since synced with select for update. cnt:"+cnt2+", max "+count, cnt2 <= count); + assertTrue("cnt should be eq to allowed since synced with select for update. cnt:"+cnt2+", max "+count, cnt2 == count); log.info("cnt lock "+cnt2); } - private void doNoLockingEnrol(Identity i, SecurityGroup group) { + private void doNoLockingEnrol(Identity i, SecurityGroup group, int count) { // check that below max try { - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new StringBuilder(128); int cnt = securityGroupDao.countIdentitiesOfSecurityGroup(group); sb.append("enrol:cnt:"+cnt); - if (cnt < MAX_COUNT) { + if (cnt < count) { // now sleep a while to allow others to think also that there is still space left in the group sleep(100); // now add the user to the security group - sb.append(" adding "+i.getName()+": current.. "+cnt+", max = "+MAX_COUNT); + sb.append(" adding " + i.getName() + ": current.. " + cnt + ", max = " + count); securityGroupDao.addIdentityToSecurityGroup(i, group); } log.info(sb.toString()); diff --git a/src/test/profile/oracle/olat.local.properties b/src/test/profile/oracle/olat.local.properties index f2fadc8d4bad6f25b07a4482f925c4e3f159b110..e829406a3b3491bd983edac1d3843ab9d3cf518d 100644 --- a/src/test/profile/oracle/olat.local.properties +++ b/src/test/profile/oracle/olat.local.properties @@ -41,14 +41,16 @@ smtp.host=disabled # if you like to run your tests against mysql just uncomment the following. Please do not commit it! # db.vendor=oracle -db.name=xe -db.user=OLATTEST -db.pass=oracle -db.host=192.168.1.202 -db.host.port=1521 +db.name=${test.env.db.oracle.name:orcl} +db.user=${test.env.db.oracle.user:OLATTEST} +db.pass=${test.env.db.oracle.pass:olat00002} +db.host=localhost +db.host.port=${test.env.db.postgresql.host.port:1521} db.default.schema=olattest auto.upgrade.database=false db.hibernate.hikari.leakDetectionThreshold=120000 +db.hibernate.hikari.minsize=2 +db.hibernate.hikari.maxsize=16 #site we need site.portal.enable=true