diff --git a/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java b/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java index 5eaf6b7d3c2316dd96a0da6991250a064e146026..983467271e18f7b900badb470a92748cad5d2ee8 100644 --- a/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java +++ b/src/main/java/org/olat/course/certificate/manager/CertificatesManagerImpl.java @@ -314,6 +314,8 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList public CertificateImpl getCertificateById(Long key) { StringBuilder sb = new StringBuilder(); sb.append("select cer from certificate cer") + .append(" inner join fetch cer.identity ident") + .append(" inner join fetch ident.user identUser") .append(" where cer.key=:certificateKey"); List<CertificateImpl> certificates = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), CertificateImpl.class) @@ -896,7 +898,7 @@ public class CertificatesManagerImpl implements CertificatesManager, MessageList private void removeLastFlag(Identity identity, Long resourceKey) { StringBuilder sb = new StringBuilder(); - sb.append("update certificate cer set cer.last=false") + sb.append("update certificate cer set cer.last=false") .append(" where cer.olatResource.key=:resourceKey and cer.identity.key=:identityKey"); dbInstance.getCurrentEntityManager().createQuery(sb.toString()) diff --git a/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java b/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java index 0bc6c5bf97e4919e04688e74124b91881a78cfe5..dbb9736b5945f3d6bd3ac1068f948e42493ea74f 100644 --- a/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java +++ b/src/main/java/org/olat/modules/coach/manager/CoachingDAO.java @@ -619,8 +619,12 @@ public class CoachingDAO { protected List<StudentStatEntry> getStudentsStatisticsNative(Identity coach, List<UserPropertyHandler> userPropertyHandlers) { Map<Long, StudentStatEntry> map = new HashMap<>(); + //long start1 = System.nanoTime(); boolean hasCoachedStudents = getStudentsStastisticInfosForCoach(coach, map, userPropertyHandlers); + //CodeHelper.printNanoTime(start1, "Coached infos"); + //long start2 = System.nanoTime(); boolean hasOwnedStudents = getStudentsStastisticInfosForOwner(coach, map, userPropertyHandlers); + //CodeHelper.printNanoTime(start2, "Owned infos"); if(hasOwnedStudents || hasCoachedStudents) { for(StudentStatEntry entry:map.values()) { entry.setCountRepo(entry.getRepoIds().size()); @@ -628,7 +632,9 @@ public class CoachingDAO { entry.setInitialLaunch(entry.getLaunchIds().size()); entry.setLaunchIds(null); } + //long start3 = System.nanoTime(); getStudentsStatisticStatement(coach, hasCoachedStudents, hasOwnedStudents, map); + //CodeHelper.printNanoTime(start3, "Statistics students"); for(StudentStatEntry entry:map.values()) { int notAttempted = entry.getCountRepo() - entry.getCountPassed() - entry.getCountFailed(); entry.setCountNotAttempted(notAttempted); @@ -706,17 +712,17 @@ public class CoachingDAO { sb.append(" ").appendToArray("sg_re.repositoryentry_id").append(" as re_ids,") .append(" ").appendToArray("pg_initial_launch.id").append(" as pg_ids") .append(" from o_repositoryentry sg_re") + .append(" inner join o_re_to_group owngroup on (owngroup.fk_entry_id = sg_re.repositoryentry_id)") + .append(" inner join o_bs_group_member sg_owner on (sg_owner.fk_group_id=owngroup.fk_group_id ") + .append(" and owngroup.r_defgroup=").appendTrue().append(" and sg_owner.g_role='owner' and sg_owner.fk_identity_id=:coachKey)") .append(" inner join o_re_to_group togroup on (togroup.fk_entry_id = sg_re.repositoryentry_id)") .append(" inner join o_bs_group_member sg_participant on (sg_participant.fk_group_id=togroup.fk_group_id and sg_participant.g_role='participant')") .append(" inner join o_bs_identity sg_participant_id on (sg_participant_id.id=sg_participant.fk_identity_id)") .append(" inner join o_user sg_participant_user on (sg_participant_user.user_id=sg_participant_id.fk_user_id)") .append(" left join o_as_user_course_infos pg_initial_launch") - .append(" on (pg_initial_launch.fk_resource_id = sg_re.fk_olatresource and pg_initial_launch.fk_identity = sg_participant.fk_identity_id)") + .append(" on (pg_initial_launch.fk_resource_id = sg_re.fk_olatresource and pg_initial_launch.fk_identity = sg_participant_id.id)") .append(" where sg_re.accesscode >= ").append(RepositoryEntry.ACC_OWNERS).append(" and sg_re.fk_olatresource in (") .append(" select sg_res.resource_id from o_olatresource sg_res where sg_res.resname = 'CourseModule'") - .append(" ) and exists (") - .append(" select owngroup.id from o_re_to_group owngroup inner join o_bs_group_member sg_owner on (sg_owner.fk_group_id=owngroup.fk_group_id)") - .append(" where owngroup.fk_entry_id = sg_re.repositoryentry_id and owngroup.r_defgroup=").appendTrue().append(" and sg_owner.g_role='owner' and sg_owner.fk_identity_id=:coachKey") .append(" )") .append(" group by sg_participant_id.id, sg_participant_user.user_id"); @@ -745,6 +751,7 @@ public class CoachingDAO { userProperties[i] = (String)rawStat[pos++]; } entry = new StudentStatEntry(identityKey, identityName, userProperties); + map.put(identityKey, entry); } appendArrayToSet(rawStat[pos++], entry.getRepoIds()); @@ -796,12 +803,13 @@ public class CoachingDAO { .append(" distinct sg_statement.id as st_id ") .append(" from o_repositoryentry sg_re ") .append(" inner join o_re_to_group togroup on (togroup.fk_entry_id = sg_re.repositoryentry_id) ") - .append(" inner join o_bs_group_member sg_coach on (sg_coach.fk_group_id=togroup.fk_group_id and sg_coach.g_role = 'coach') ") + .append(" inner join o_bs_group_member sg_coach on (sg_coach.fk_group_id=togroup.fk_group_id") + .append(" and sg_coach.fk_identity_id=:coachKey and sg_coach.g_role = 'coach') ") .append(" inner join o_bs_group_member sg_participant on (sg_participant.fk_group_id=sg_coach.fk_group_id and sg_participant.g_role='participant') ") .append(" inner join o_as_eff_statement sg_statement ") .append(" on (sg_statement.fk_identity = sg_participant.fk_identity_id and sg_statement.fk_resource_id = sg_re.fk_olatresource) ") - .append(" where sg_coach.fk_identity_id=:coachKey and ( ") - .append(" (sg_re.accesscode>2 and sg_coach.g_role = 'coach') ") + .append(" where ( ") + .append(" (sg_re.accesscode>2) ") .append(" or ") .append(" (sg_re.accesscode=1 and sg_re.membersonly=").appendTrue().append(")) ") .append(" )"); @@ -814,13 +822,14 @@ public class CoachingDAO { sb.append(" fin_statement.id in ( select ") .append(" distinct sg_statement.id as st_id ") .append(" from o_repositoryentry sg_re ") - .append(" inner join o_re_to_group owngroup on (owngroup.fk_entry_id = sg_re.repositoryentry_id and owngroup.r_defgroup=").appendTrue().append(") ") - .append(" inner join o_bs_group_member sg_owner on (sg_owner.fk_group_id=owngroup.fk_group_id and sg_owner.g_role = 'owner') ") + .append(" inner join o_re_to_group owngroup on (owngroup.fk_entry_id = sg_re.repositoryentry_id ) ") + .append(" inner join o_bs_group_member sg_owner on (sg_owner.fk_group_id=owngroup.fk_group_id") + .append(" and sg_owner.g_role='owner' and sg_owner.fk_identity_id=:coachKey and owngroup.r_defgroup=").appendTrue().append(")") .append(" inner join o_re_to_group togroup on (togroup.fk_entry_id = sg_re.repositoryentry_id) ") .append(" inner join o_bs_group_member sg_participant on (sg_participant.fk_group_id=togroup.fk_group_id and sg_participant.g_role='participant') ") .append(" inner join o_as_eff_statement sg_statement ") .append(" on (sg_statement.fk_identity = sg_participant.fk_identity_id and sg_statement.fk_resource_id = sg_re.fk_olatresource) ") - .append(" where sg_owner.fk_identity_id=:coachKey and sg_re.accesscode>=").append(RepositoryEntry.ACC_OWNERS).append(") "); + .append(" where sg_re.accesscode>=").append(RepositoryEntry.ACC_OWNERS).append(") "); } sb.append(" group by fin_statement.fk_identity"); diff --git a/src/main/java/org/olat/user/AbstractUserPropertyHandler.java b/src/main/java/org/olat/user/AbstractUserPropertyHandler.java index 8bcaa04d4c19cccd48c6cab05b55b501f5e254a2..988dd5d300170d0ccb1ab7af476a6c72a0eec8ea 100644 --- a/src/main/java/org/olat/user/AbstractUserPropertyHandler.java +++ b/src/main/java/org/olat/user/AbstractUserPropertyHandler.java @@ -152,7 +152,7 @@ public abstract class AbstractUserPropertyHandler implements UserPropertyHandler value = null; } } catch (IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); + log.error("", e); } return value; } else if (user != null) { @@ -165,7 +165,7 @@ public abstract class AbstractUserPropertyHandler implements UserPropertyHandler * @param value The raw value in a 18n independent form */ protected void setInternalValue(User user, String value) { - if (user instanceof UserImpl) { + if (user instanceof UserImpl && getter != null) { try { // remove fields with null or empty value from o_userfield table (hibernate) // sparse data storage @@ -174,9 +174,11 @@ public abstract class AbstractUserPropertyHandler implements UserPropertyHandler } else { getter.set(user, value); } - } catch (IllegalArgumentException |IllegalAccessException e) { - e.printStackTrace(); + } catch (IllegalArgumentException | IllegalAccessException e) { + log.error("", e); } + } else { + log.warn("Set read-only value: " + name, null); } } diff --git a/src/main/java/org/olat/user/UserImpl.java b/src/main/java/org/olat/user/UserImpl.java index 00902f9f05817ad1ae07e9bc0ca1a0c9c8c46c23..4075595af4854bc526033dedfda053feee2def7d 100644 --- a/src/main/java/org/olat/user/UserImpl.java +++ b/src/main/java/org/olat/user/UserImpl.java @@ -121,6 +121,8 @@ public class UserImpl implements Persistable, User { private String socialSecurityNumber; @Column(name="u_userinterests", nullable=true, insertable=true, updatable=true) private String userInterests; + @Column(name="u_usersearchedinterests", nullable=true, insertable=true, updatable=true) + private String userSearchedInterests; @Column(name="u_telprivate", nullable=true, insertable=true, updatable=true) private String telPrivate; diff --git a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java index 30b8d8b43148e3734b00ad9a8e0361999dc2480c..f770c83c5f10a7eaa097ac052b07cc8027c10b47 100644 --- a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java @@ -23,7 +23,6 @@ import java.util.Date; import java.util.Locale; import java.util.Map; -import org.olat.basesecurity.BaseSecurityManager; import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -35,6 +34,7 @@ import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.core.util.StringHelper; import org.olat.user.AbstractUserPropertyHandler; +import org.olat.user.UserImpl; /** * this class displays a static textElement. it always shows one of three dates: @@ -73,10 +73,10 @@ public class DateDisplayPropertyHandler extends AbstractUserPropertyHandler { if (DATE_TYPE_CR.equals(myName)) return user.getCreationDate(); if (DATE_TYPE_LL.equals(myName)) { - Identity id = BaseSecurityManager.getInstance().findIdentityByUser(user); - if (id != null) + Identity id = ((UserImpl)user).getIdentity(); + if (id != null) { return id.getLastLogin(); - + } // huh, we didn't find this identity log.warn("Couldn't find Identity for given User: " + user.getKey()); return new Date(0); @@ -107,6 +107,11 @@ public class DateDisplayPropertyHandler extends AbstractUserPropertyHandler { return ""; } + @Override + protected void setInternalValue(User user, String value) { + //read-only + } + @Override public void updateUserFromFormItem(User user, FormItem formItem) { // we do nothing here, its read-only diff --git a/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0_user.sql b/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0_user.sql index 488970c47dec17daa3b28553561ac00eeacc9c11..e2161502383a3c76179c348b861693cecaa70250 100644 --- a/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0_user.sql +++ b/src/main/resources/database/mysql/alter_10_x_0_to_11_0_0_user.sql @@ -34,6 +34,7 @@ alter table o_user add column u_rank varchar(255); alter table o_user add column u_degree varchar(255); alter table o_user add column u_position varchar(255); alter table o_user add column u_userinterests varchar(255); +alter table o_user add column u_usersearchedinterests varchar(255); alter table o_user add column u_officestreet varchar(255); alter table o_user add column u_extendedofficeaddress varchar(255); alter table o_user add column u_officepobox varchar(255); @@ -147,6 +148,7 @@ update o_user set u_rank=(select propvalue from o_userproperty where user_id=fk_ update o_user set u_degree=(select propvalue from o_userproperty where user_id=fk_user_id and propname='degree') where u_degree is null; update o_user set u_position=(select propvalue from o_userproperty where user_id=fk_user_id and propname='position') where u_position is null; update o_user set u_userinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userInterests') where u_userinterests is null; +update o_user set u_usersearchedinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userSearchedInterests') where u_usersearchedinterests is null; update o_user set u_officestreet=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officeStreet') where u_officestreet is null; update o_user set u_extendedofficeaddress=(select propvalue from o_userproperty where user_id=fk_user_id and propname='extendedOfficeAddress') where u_extendedofficeaddress is null; update o_user set u_officepobox=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officePoBox') where u_officepobox is null; @@ -167,6 +169,7 @@ update o_user set u_swissedupersonstudybranch1=(select propvalue from o_userprop update o_user set u_swissedupersonstudybranch2=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch2') where u_swissedupersonstudybranch2 is null; update o_user set u_swissedupersonstudybranch3=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch3') where u_swissedupersonstudybranch3 is null; +alter table o_userproperty drop foreign key FK4B04D83FD1A80C95; drop view o_bs_identity_short_v; create view o_bs_identity_short_v as ( diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 269fd95b0a20724c08074a0eb57b87ea0b19e450..111fb42cdf371747c731f7ac5f7a9ed59b5ae626 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -249,6 +249,7 @@ create table if not exists o_user ( u_degree varchar(255), u_position varchar(255), u_userinterests varchar(255), + u_usersearchedinterests varchar(255), u_officestreet varchar(255), u_extendedofficeaddress varchar(255), u_officepobox varchar(255), @@ -2084,9 +2085,6 @@ alter table o_bs_invitation add constraint inv_to_group_group_ctx foreign key (f -- user create index usr_notification_interval_idx on o_user (notification_interval); -alter table o_userproperty add index FK4B04D83FD1A80C95 (fk_user_id), add constraint FK4B04D83FD1A80C95 foreign key (fk_user_id) references o_user (user_id); -create index propvalue_idx on o_userproperty (propvalue); - -- pub sub create index name_idx on o_noti_pub (resname, resid, subident); diff --git a/src/main/resources/database/oracle/alter_10_x_0_to_11_0_0_user.sql b/src/main/resources/database/oracle/alter_10_x_0_to_11_0_0_user.sql index e20d44d563970060aa7f943e131f5f722ba58596..11057eb8fb4b5b329ee81ecb359236205d11d1e3 100644 --- a/src/main/resources/database/oracle/alter_10_x_0_to_11_0_0_user.sql +++ b/src/main/resources/database/oracle/alter_10_x_0_to_11_0_0_user.sql @@ -34,6 +34,7 @@ alter table o_user add u_rank varchar2(255 char); alter table o_user add u_degree varchar2(255 char); alter table o_user add u_position varchar2(255 char); alter table o_user add u_userinterests varchar2(255 char); +alter table o_user add u_usersearchedinterests varchar2(255 char); alter table o_user add u_officestreet varchar2(255 char); alter table o_user add u_extendedofficeaddress varchar2(255 char); alter table o_user add u_officepobox varchar2(255 char); @@ -147,6 +148,7 @@ update o_user set u_rank=(select propvalue from o_userproperty where user_id=fk_ update o_user set u_degree=(select propvalue from o_userproperty where user_id=fk_user_id and propname='degree') where u_degree is null; update o_user set u_position=(select propvalue from o_userproperty where user_id=fk_user_id and propname='position') where u_position is null; update o_user set u_userinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userInterests') where u_userinterests is null; +update o_user set u_usersearchedinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userSearchedInterests') where u_usersearchedinterests is null; update o_user set u_officestreet=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officeStreet') where u_officestreet is null; update o_user set u_extendedofficeaddress=(select propvalue from o_userproperty where user_id=fk_user_id and propname='extendedOfficeAddress') where u_extendedofficeaddress is null; update o_user set u_officepobox=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officePoBox') where u_officepobox is null; @@ -167,6 +169,7 @@ update o_user set u_swissedupersonstudybranch1=(select propvalue from o_userprop update o_user set u_swissedupersonstudybranch2=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch2') where u_swissedupersonstudybranch2 is null; update o_user set u_swissedupersonstudybranch3=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch3') where u_swissedupersonstudybranch3 is null; +alter table o_userproperty drop constraint FK4B04D83FD1A80C95; drop view o_bs_identity_short_v; create view o_bs_identity_short_v as ( diff --git a/src/main/resources/database/oracle/setupDatabase.sql b/src/main/resources/database/oracle/setupDatabase.sql index 1b029d2accc96135998fae415686a6579376bda2..14ab79e99a52068c7b9dc82d868860ee4a5d0856 100644 --- a/src/main/resources/database/oracle/setupDatabase.sql +++ b/src/main/resources/database/oracle/setupDatabase.sql @@ -280,6 +280,7 @@ CREATE TABLE o_user ( u_degree varchar2(255 char), u_position varchar2(255 char), u_userinterests varchar2(255 char), + u_usersearchedinterests varchar2(255 char), u_officestreet varchar2(255 char), u_extendedofficeaddress varchar2(255 char), u_officepobox varchar2(255 char), @@ -2152,8 +2153,6 @@ create index idx_inv_to_group_group_ctx on o_bs_invitation (fk_group_id); -- user create index usr_notification_interval_idx on o_user (notification_interval); -alter table o_userproperty add constraint FK4B04D83FD1A80C95 foreign key (fk_user_id) references o_user (user_id); -create index FK4B04D83FD1A80C95 on o_userproperty (fk_user_id); create index propvalue_idx on o_userproperty (propvalue); -- pub sub diff --git a/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0_user.sql b/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0_user.sql index d244390e88279af8829c53164196939b4888761e..d0e26325f8fa4c2cd4a32feba9730842064de3eb 100644 --- a/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0_user.sql +++ b/src/main/resources/database/postgresql/alter_10_x_0_to_11_0_0_user.sql @@ -34,6 +34,7 @@ alter table o_user add column u_rank varchar(255); alter table o_user add column u_degree varchar(255); alter table o_user add column u_position varchar(255); alter table o_user add column u_userinterests varchar(255); +alter table o_user add column u_usersearchedinterests varchar(255); alter table o_user add column u_officestreet varchar(255); alter table o_user add column u_extendedofficeaddress varchar(255); alter table o_user add column u_officepobox varchar(255); @@ -147,6 +148,7 @@ update o_user set u_rank=(select propvalue from o_userproperty where user_id=fk_ update o_user set u_degree=(select propvalue from o_userproperty where user_id=fk_user_id and propname='degree') where u_degree is null; update o_user set u_position=(select propvalue from o_userproperty where user_id=fk_user_id and propname='position') where u_position is null; update o_user set u_userinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userInterests') where u_userinterests is null; +update o_user set u_usersearchedinterests=(select propvalue from o_userproperty where user_id=fk_user_id and propname='userSearchedInterests') where u_usersearchedinterests is null; update o_user set u_officestreet=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officeStreet') where u_officestreet is null; update o_user set u_extendedofficeaddress=(select propvalue from o_userproperty where user_id=fk_user_id and propname='extendedOfficeAddress') where u_extendedofficeaddress is null; update o_user set u_officepobox=(select propvalue from o_userproperty where user_id=fk_user_id and propname='officePoBox') where u_officepobox is null; @@ -167,7 +169,7 @@ update o_user set u_swissedupersonstudybranch1=(select propvalue from o_userprop update o_user set u_swissedupersonstudybranch2=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch2') where u_swissedupersonstudybranch2 is null; update o_user set u_swissedupersonstudybranch3=(select propvalue from o_userproperty where user_id=fk_user_id and propname='swissEduPersonStudyBranch3') where u_swissedupersonstudybranch3 is null; - +alter table o_userproperty drop constraint FK4B04D83FD1A80C95; drop view o_bs_identity_short_v; create view o_bs_identity_short_v as ( diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 54e7ab4fdf50cacb61e264bd21c8b84fbd2e8e4e..696118b7bc475d0541e003ba599891e65fff42dc 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -247,6 +247,7 @@ create table o_user ( u_degree varchar(255), u_position varchar(255), u_userinterests varchar(255), + u_usersearchedinterests varchar(255), u_officestreet varchar(255), u_extendedofficeaddress varchar(255), u_officepobox varchar(255), @@ -2001,8 +2002,6 @@ create index idx_user_instid_idx on o_user (u_institutionaluseridentifier); create index idx_user_instemail_idx on o_user (u_institutionalemail); create index idx_user_creationdate_idx on o_user (creationdate); -alter table o_userproperty add constraint FK4B04D83FD1A80C95 foreign key (fk_user_id) references o_user; -create index FK4B04D83FD1A80C95 on o_userproperty (fk_user_id); create index propvalue_idx on o_userproperty (propvalue); -- pub sub 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 23a8cfc5f07d66104baa79869998e19616a36633..edeede09513962dc47bc31bdb9eaf015a9e31573 100644 --- a/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java +++ b/src/test/java/org/olat/resource/lock/pessimistic/PLockTest.java @@ -466,10 +466,10 @@ public class PLockTest extends OlatTestCase { // 4. wait till all are finished or it takes too long try { - doneSignal.await(20, TimeUnit.SECONDS); + doneSignal.await(60, TimeUnit.SECONDS); log.info("perf for Plocktest:testPerf(): "+(System.currentTimeMillis()-start)); } catch (InterruptedException e) { - fail("Test takes too long (more than 20s)"); + fail("Test takes too long (more than 60s)"); } // repeat the same again - this time it should/could be faster @@ -496,9 +496,9 @@ public class PLockTest extends OlatTestCase { // 4. wait till all are finished or it takes too long try { - boolean interrupt = doneSignal.await(20, TimeUnit.SECONDS); + boolean interrupt = doneSignal.await(60, TimeUnit.SECONDS); log.info("perf (again) for Plocktest:testPerf(): "+(System.currentTimeMillis()-start2)); - assertTrue("Test takes too long (more than 20s)", interrupt); + assertTrue("Test takes too long (more than 60s)", interrupt); } catch (InterruptedException e) { fail("" + e.getMessage()); }