diff --git a/src/main/java/de/bps/course/nodes/den/DENListTableDataModel.java b/src/main/java/de/bps/course/nodes/den/DENListTableDataModel.java index de29c0054738a57cf88ec3d562107a05329dc37f..56ea0b5be5dcfd01e4e4c213d9e59d18635fdb19 100644 --- a/src/main/java/de/bps/course/nodes/den/DENListTableDataModel.java +++ b/src/main/java/de/bps/course/nodes/den/DENListTableDataModel.java @@ -94,7 +94,7 @@ public class DENListTableDataModel extends DefaultTableDataModel<KalendarEvent> return ""; for( String participant : event.getParticipants() ) { Identity identity = BaseSecurityManager.getInstance().findIdentityByName(participant); - usernames.append(identity.getName() + "<br>"); + usernames.append(identity.getName() + "<br>");//TODO username } return usernames.toString(); case 7: diff --git a/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java b/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java index a1d822992720b01485b42c9cb8a5e476d44f4737..4fc94a693acfa9e18ce3d5797e3e652e58892ce5 100644 --- a/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java +++ b/src/main/java/de/bps/course/nodes/den/DENManageParticipantsController.java @@ -339,7 +339,7 @@ public class DENManageParticipantsController extends BasicController { ContactMessage cmsg = new ContactMessage(ureq.getIdentity()); ContactList contactList = null; if(participants.size() == 1) { - contactList = new ContactList(participants.get(0).getName()); + contactList = new ContactList(participants.get(0).getName());//TODO username } else { contactList = new ContactList(translate("participants.message.to")); } diff --git a/src/main/java/de/bps/course/nodes/den/DENManager.java b/src/main/java/de/bps/course/nodes/den/DENManager.java index ca08e4b90b49bdeb9f4debdd0532829712337bce..7105f47558048bfb2800abb5e4622ccd9d1071bd 100644 --- a/src/main/java/de/bps/course/nodes/den/DENManager.java +++ b/src/main/java/de/bps/course/nodes/den/DENManager.java @@ -824,7 +824,7 @@ public class DENManager { identity.getUser().getProperty(UserConstants.FIRSTNAME, ureq.getLocale()), identity.getUser().getProperty(UserConstants.LASTNAME, ureq.getLocale()), identity.getUser().getProperty(UserConstants.EMAIL, ureq.getLocale()), - identity.getName(), + identity.getName(), //TODO username subjectStr }; diff --git a/src/main/java/org/olat/admin/UserAdminMainController.java b/src/main/java/org/olat/admin/UserAdminMainController.java index 6c12c884cca152a4badd097738893409e988c5d6..03e31c46b5d47dd3c43f5ee41a8c9692febf4664 100644 --- a/src/main/java/org/olat/admin/UserAdminMainController.java +++ b/src/main/java/org/olat/admin/UserAdminMainController.java @@ -513,6 +513,7 @@ public class UserAdminMainController extends MainLayoutBasicController implement OLATResourceable lockResourceable = OresHelper.createOLATResourceableTypeWithoutCheck(TabbedPaneController.class.getName()); lock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(lockResourceable, ureq.getIdentity(), "deleteGroup"); if (!lock.isSuccess()) { + //TODO username String text = getTranslator().translate("error.deleteworkflow.locked.by", new String[]{lock.getOwner().getName()}); Controller monoCtr = MessageUIFactory.createInfoMessage(ureq, getWindowControl(), null, text); return monoCtr; diff --git a/src/main/java/org/olat/admin/properties/AdvancedPropertiesController.java b/src/main/java/org/olat/admin/properties/AdvancedPropertiesController.java index 914980e5428afe980ca44471242ea0b09dc70083..d96fd1c991aaa2c41be6c44b696ef35bacf90b6b 100644 --- a/src/main/java/org/olat/admin/properties/AdvancedPropertiesController.java +++ b/src/main/java/org/olat/admin/properties/AdvancedPropertiesController.java @@ -27,7 +27,6 @@ package org.olat.admin.properties; import java.util.List; -import org.olat.admin.user.UserSearchController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.panel.Panel; @@ -40,10 +39,9 @@ import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; +import org.olat.properties.Property; import org.olat.properties.PropertyManager; -import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; - /** * Description:<br> * is the controller for @@ -103,7 +101,7 @@ public class AdvancedPropertiesController extends BasicController { String propertyName = searchForm.getPropertyName(); if (propertyName != null && propertyName.equals("")) propertyName = null; - List entries = PropertyManager.getInstance().listProperties(searchForm.getIdentity(), null, resourceTypeName, resTypeId, category, propertyName); + List<Property> entries = PropertyManager.getInstance().listProperties(searchForm.getIdentity(), null, resourceTypeName, resTypeId, category, propertyName); PropertiesTableDataModel ptdm = new PropertiesTableDataModel(entries); TableGuiConfiguration tableConfig = new TableGuiConfiguration(); diff --git a/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java b/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java index b47bf6af683dad0ecfdd03c210eb253e3fce7c64..a4101b89e5a37806b6051f34eb0f7ca0654d9ab4 100644 --- a/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java +++ b/src/main/java/org/olat/admin/properties/AdvancedPropertySearchForm.java @@ -80,14 +80,14 @@ public class AdvancedPropertySearchForm extends FormBasicController { super(ureq, wControl); PropertyManager pm = PropertyManager.getInstance(); - List resourceTypeNames = pm.getAllResourceTypeNames(); + List<String> resourceTypeNames = pm.getAllResourceTypeNames(); int size = resourceTypeNames.size(); theKeys = new String[size+1]; theValues = new String[size+1]; theKeys[0] = "0"; - theValues[0] = null; + theValues[0] = ""; int i = 1; - for (Iterator iter = resourceTypeNames.iterator(); iter.hasNext(); i++) { + for (Iterator<String> iter = resourceTypeNames.iterator(); iter.hasNext(); i++) { theKeys[i] = Integer.toString(i); theValues[i] = (String)iter.next(); } diff --git a/src/main/java/org/olat/admin/properties/PropertiesTableDataModel.java b/src/main/java/org/olat/admin/properties/PropertiesTableDataModel.java index 821003776fdf77719eadeabc0d9057590aa2359c..0464b11c1fa0b6f723d7fe94bd3fae73eadf8596 100644 --- a/src/main/java/org/olat/admin/properties/PropertiesTableDataModel.java +++ b/src/main/java/org/olat/admin/properties/PropertiesTableDataModel.java @@ -25,6 +25,7 @@ package org.olat.admin.properties; +import java.util.ArrayList; import java.util.List; import org.olat.core.gui.components.table.DefaultTableDataModel; @@ -37,21 +38,21 @@ import org.olat.properties.Property; * * @author Alexander Schneider */ -public class PropertiesTableDataModel extends DefaultTableDataModel { +public class PropertiesTableDataModel extends DefaultTableDataModel<Property> { /** * Default constructor. */ public PropertiesTableDataModel() { - super(null); + this(new ArrayList<Property>()); } /** * Initialize table model with objects. * @param objects */ - public PropertiesTableDataModel(List objects) { + public PropertiesTableDataModel(List<Property> objects) { super(objects); } @@ -68,11 +69,11 @@ public class PropertiesTableDataModel extends DefaultTableDataModel { * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) */ public final Object getValueAt(int row, int col) { - Property p = (Property)objects.get(row); + Property p = getObject(row); switch(col) { case 0: Identity id = p.getIdentity(); - return ((id != null) ? (p.getIdentity().getName()): (null)); + return ((id != null) ? (p.getIdentity().getName()): (null));//TODO username case 1: return p.getResourceTypeName(); case 2: diff --git a/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java b/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java index 6b6809e9755338d2d0c3a7d08f305f5f313e4136..b7ce7f970beec3030f99cbfeeeaa01bc7445d410 100644 --- a/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java +++ b/src/main/java/org/olat/admin/securitygroup/gui/GroupController.java @@ -369,7 +369,7 @@ public class GroupController extends BasicController { if (toAdd.size() == 1) { //check if already in group [makes only sense for a single choosen identity] if (securityManager.isIdentityInSecurityGroup(toAdd.get(0), securityGroup)) { - getWindowControl().setInfo(translate("msg.subjectalreadyingroup", new String[]{toAdd.get(0).getName()})); + getWindowControl().setInfo(translate("msg.subjectalreadyingroup", new String[]{toAdd.get(0).getName()}));//TODO username return; } } else if (toAdd.size() > 1) { @@ -384,7 +384,7 @@ public class GroupController extends BasicController { if (!alreadyInGroup.isEmpty()) { StringBuilder names = new StringBuilder(); for(Identity ident: alreadyInGroup) { - names.append(" ").append(ident.getName()); + names.append(" ").append(ident.getName());//TODO username toAdd.remove(ident); } getWindowControl().setInfo(translate("msg.subjectsalreadyingroup", names.toString())); @@ -502,7 +502,7 @@ public class GroupController extends BasicController { if (confirmDelete != null) confirmDelete.dispose(); StringBuilder names = new StringBuilder(); for (Identity identity : toRemove) { - names.append(identity.getName()).append(" "); + names.append(identity.getName()).append(" ");//TODO username } confirmDelete = activateYesNoDialog(ureq, null, translate("remove.text", names.toString()), confirmDelete); return; @@ -561,10 +561,10 @@ public class GroupController extends BasicController { // build info message for identities which could be added. StringBuilder infoMessage = new StringBuilder(); for (Identity identity : identitiesAddedEvent.getIdentitiesWithoutPermission()) { - infoMessage.append(translate("msg.isingroupanonymous", identity.getName())).append("<br />"); + infoMessage.append(translate("msg.isingroupanonymous", identity.getName())).append("<br />");//TODO username } for (Identity identity : identitiesAddedEvent.getIdentitiesAlreadyInGroup()) { - infoMessage.append(translate("msg.subjectalreadyingroup", identity.getName())).append("<br />"); + infoMessage.append(translate("msg.subjectalreadyingroup", identity.getName())).append("<br />");//TODO username } // send the notification mail fro added users StringBuilder errorMessage = new StringBuilder(); diff --git a/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java b/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java index 810f9d25f4f93b64112a87d1e9a18edfc11b8638..d015055f6acc705e47361a5498e2601e0c6ae884 100644 --- a/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java +++ b/src/main/java/org/olat/admin/securitygroup/gui/IdentitiesOfGroupTableDataModel.java @@ -63,7 +63,7 @@ public class IdentitiesOfGroupTableDataModel extends DefaultTableDataModel<Group public final Object getValueAt(int row, int col) { GroupMemberView co = getObject(row); switch(col) { - case 0: return co.getIdentity().getName(); + case 0: return co.getIdentity().getName();//TODO username case 1: return co.getOnlineStatus(); case 2: return co.getAddedAt(); default: { diff --git a/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java b/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java index 7124e3b8fe2d14f9e1ec799eaa89ad5e99e2b266..39cecad254dc1064a7f0d20d4ce736fafe9b6855 100644 --- a/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java +++ b/src/main/java/org/olat/admin/securitygroup/gui/WaitingGroupController.java @@ -28,6 +28,7 @@ package org.olat.admin.securitygroup.gui; import java.util.List; import org.olat.basesecurity.SecurityGroup; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.table.DefaultColumnDescriptor; import org.olat.core.gui.components.table.Table; @@ -63,6 +64,8 @@ public class WaitingGroupController extends GroupController { private MailNotificationEditController transferMailCtr; private CloseableModalController cmc; private List<Identity> toTransfer; + + private final UserManager userManager; /** * @param ureq @@ -75,6 +78,8 @@ public class WaitingGroupController extends GroupController { public WaitingGroupController(UserRequest ureq, WindowControl wControl, boolean mayModifyMembers, boolean keepAtLeastOne, boolean enableTablePreferences, boolean allowDownload, boolean mandatoryEmail, SecurityGroup waitingListGroup) { super(ureq, wControl, mayModifyMembers, keepAtLeastOne, enableTablePreferences, false, allowDownload, mandatoryEmail, waitingListGroup); + + userManager = CoreSpringFactory.getImpl(UserManager.class); } /** @@ -115,7 +120,8 @@ public class WaitingGroupController extends GroupController { fireEvent(ureq, identitiesMoveEvent); StringBuilder infoMessage = new StringBuilder(); for (Identity identity : identitiesMoveEvent.getNotMovedIdentities()) { - infoMessage.append(translate("msg.alreadyinwaiitinggroup", identity.getName())).append("<br />"); + String fullName = userManager.getUserDisplayName(identity); + infoMessage.append(translate("msg.alreadyinwaiitinggroup", fullName)).append("<br />"); } // report any errors on screen if (infoMessage.length() > 0) getWindowControl().setInfo(infoMessage.toString()); diff --git a/src/main/java/org/olat/admin/sysinfo/LockTableModel.java b/src/main/java/org/olat/admin/sysinfo/LockTableModel.java index 751c49c0dc9f482813eab2452c0eb46eac60c696..975156f4aa6abe597f959fb3cbb3e7b446ed773a 100644 --- a/src/main/java/org/olat/admin/sysinfo/LockTableModel.java +++ b/src/main/java/org/olat/admin/sysinfo/LockTableModel.java @@ -60,7 +60,7 @@ public class LockTableModel extends DefaultTableDataModel<LockEntry> { public Object getValueAt(int row, int col) { LockEntry lock = getObject(row); switch (col) { - case 0: return lock.getKey(); + case 0: return lock.getKey();//TODO username case 1: return lock.getOwner().getName() + ", " + lock.getOwner().getUser().getProperty(UserConstants.FIRSTNAME, null) + " " + lock.getOwner().getUser().getProperty(UserConstants.LASTNAME, null); case 2: return Formatter.formatDatetime(new Date(lock.getLockAquiredTime())); diff --git a/src/main/java/org/olat/admin/sysinfo/UserSessionController.java b/src/main/java/org/olat/admin/sysinfo/UserSessionController.java index a2245066789ef2f3ba4372a055d37cacef63a718..5bde6d3d0234395ecd814e63ee4fe6faf918bab2 100644 --- a/src/main/java/org/olat/admin/sysinfo/UserSessionController.java +++ b/src/main/java/org/olat/admin/sysinfo/UserSessionController.java @@ -149,7 +149,7 @@ public class UserSessionController extends BasicController implements StackedCon listenTo(detailsCtrl); String username = usess.getIdentity() == null ? "-" - : UserManager.getInstance().getUserDisplayName(usess.getIdentity().getUser()); + : UserManager.getInstance().getUserDisplayName(usess.getIdentity()); stackController.pushController(username, detailsCtrl); } } diff --git a/src/main/java/org/olat/admin/user/ExtendedIdentitiesTableDataModel.java b/src/main/java/org/olat/admin/user/ExtendedIdentitiesTableDataModel.java index 6f65fff0e9422ea1da647bd3a5acd81fde834ab3..48687de2f51fb8b9adb9c0cdf9b9f1f7405c4c50 100644 --- a/src/main/java/org/olat/admin/user/ExtendedIdentitiesTableDataModel.java +++ b/src/main/java/org/olat/admin/user/ExtendedIdentitiesTableDataModel.java @@ -117,7 +117,7 @@ public class ExtendedIdentitiesTableDataModel extends DefaultTableDataModel { Identity identity = getIdentityAt(row); User user = identity.getUser(); if (col == 0) { - return identity.getName(); + return identity.getName();//TODO username } else if (col > 0 && col < userPropertyHandlers.size() + 1) { // get user property for this column diff --git a/src/main/java/org/olat/admin/user/UserAdminController.java b/src/main/java/org/olat/admin/user/UserAdminController.java index 5761316fc2042e518661da267be2592bd50623a4..a648e3ef4ec56861158c1edb80e79aa5221aacae 100644 --- a/src/main/java/org/olat/admin/user/UserAdminController.java +++ b/src/main/java/org/olat/admin/user/UserAdminController.java @@ -340,7 +340,7 @@ public class UserAdminController extends BasicController implements Activateable */ private void exposeUserDataToVC(UserRequest ureq, Identity identity) { Locale loc = ureq.getLocale(); - myContent.contextPut("foundUserName", identity.getName()); + myContent.contextPut("foundUserName", identity.getName());//TODO username myContent.contextPut("foundFirstName", identity.getUser().getProperty(UserConstants.FIRSTNAME, loc)); myContent.contextPut("foundLastName", identity.getUser().getProperty(UserConstants.LASTNAME, loc)); myContent.contextPut("foundEmail", identity.getUser().getProperty(UserConstants.EMAIL, loc)); diff --git a/src/main/java/org/olat/admin/user/UserAuthenticationsEditorController.java b/src/main/java/org/olat/admin/user/UserAuthenticationsEditorController.java index 5068a95cbe49b0febd8aee32c22c81002cc2c42c..d28f3ba48e066c78f5ecb2f55f1ec9d7113c0f31 100644 --- a/src/main/java/org/olat/admin/user/UserAuthenticationsEditorController.java +++ b/src/main/java/org/olat/admin/user/UserAuthenticationsEditorController.java @@ -118,6 +118,7 @@ public class UserAuthenticationsEditorController extends BasicController{ if (actionid.equals("delete")) { int rowid = te.getRowId(); Authentication auth = (Authentication) authTableModel.getObject(rowid); + //TODO username confirmationDialog = activateYesNoDialog(ureq, null, getTranslator().translate("authedit.delete.confirm", new String[] { auth.getProvider(), changeableIdentity.getName() }), confirmationDialog); confirmationDialog.setUserObject(auth); return; diff --git a/src/main/java/org/olat/admin/user/UserSearchListProvider.java b/src/main/java/org/olat/admin/user/UserSearchListProvider.java index 61311e2f212c862952ad341bd39de1416ec78908..8f055ddc2074e5a26b63fe4ae6522d51256ff564 100644 --- a/src/main/java/org/olat/admin/user/UserSearchListProvider.java +++ b/src/main/java/org/olat/admin/user/UserSearchListProvider.java @@ -30,7 +30,6 @@ import org.olat.core.gui.control.generic.ajax.autocompletion.ListProvider; import org.olat.core.gui.control.generic.ajax.autocompletion.ListReceiver; import org.olat.core.gui.util.CSSHelper; import org.olat.core.id.Identity; -import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.user.UserManager; @@ -64,10 +63,9 @@ public class UserSearchListProvider implements ListProvider { for (Iterator<Identity> it_res = res.iterator(); (hasMore=it_res.hasNext()) && maxEntries > 0;) { maxEntries--; Identity ident = it_res.next(); - User u = ident.getUser(); String key = ident.getKey().toString(); String displayKey = ident.getName(); - String displayText = userManager.getUserDisplayName(u); + String displayText = userManager.getUserDisplayName(ident); receiver.addEntry(key, displayKey, displayText, CSSHelper.CSS_CLASS_USER); } if(hasMore){ diff --git a/src/main/java/org/olat/admin/user/UserTableDataModel.java b/src/main/java/org/olat/admin/user/UserTableDataModel.java index a7ef6ff3b71042251b92ac0a6a87a9b6ee4ecdd8..706b3da4ad3f80d479c90765d1ba50ff1c548ba7 100644 --- a/src/main/java/org/olat/admin/user/UserTableDataModel.java +++ b/src/main/java/org/olat/admin/user/UserTableDataModel.java @@ -92,7 +92,7 @@ public class UserTableDataModel extends DefaultTableDataModel<Identity> { Identity identity = getObject(row); User user = identity.getUser(); if (col == 0) { - return identity.getName(); + return identity.getName();//TODO username } else if ((col-1) < userPropertyHandlers.size()) { UserPropertyHandler userPropertyHandler = userPropertyHandlers.get(col-1); diff --git a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java index a93b7918f53a05e9c5f86d82f80becbe0abaf914..671463cf3d4adf919264f9dd8c5b28bf5c2acafd 100644 --- a/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java +++ b/src/main/java/org/olat/admin/user/bulkChange/UserBulkChangeStep02.java @@ -186,7 +186,7 @@ class UserBulkChangeStep02 extends BasicStep { List<String> userDataArray = new ArrayList<String>(); // add column for login - userDataArray.add(identity.getName()); + userDataArray.add(identity.getName());//TODO username // add columns for password if (attributeChangeMap.containsKey(UserBulkChangeManager.PWD_IDENTIFYER)) { userDataArray.add(attributeChangeMap.get(UserBulkChangeManager.PWD_IDENTIFYER)); diff --git a/src/main/java/org/olat/admin/user/delete/DirectDeleteController.java b/src/main/java/org/olat/admin/user/delete/DirectDeleteController.java index 11dac6a9e1c04d09aed88f5e861a4a8d957e88c8..467c308b832f16b5d3442c3e39132c1dd4b82b4b 100644 --- a/src/main/java/org/olat/admin/user/delete/DirectDeleteController.java +++ b/src/main/java/org/olat/admin/user/delete/DirectDeleteController.java @@ -115,6 +115,7 @@ public class DirectDeleteController extends BasicController { toDelete = new ArrayList<Identity>(); toDelete.add(uce.getChosenIdentity()); + //TODO username deleteConfirmController = activateOkCancelDialog(ureq, null, translate("readyToDelete.delete.confirm", uce.getChosenIdentity().getName()), deleteConfirmController); return; } else { @@ -166,6 +167,7 @@ public class DirectDeleteController extends BasicController { if (buf.length() > 0) { buf.append(","); } + //TODO username buf.append(identity.getName()); } return buf.toString(); diff --git a/src/main/java/org/olat/admin/user/delete/UserDeleteTableModel.java b/src/main/java/org/olat/admin/user/delete/UserDeleteTableModel.java index 6609b18a1313b441e5f38ff0fec6d0fb3d455af1..e498a769b930ba2756a3ada3438aa33c19ddb7c0 100644 --- a/src/main/java/org/olat/admin/user/delete/UserDeleteTableModel.java +++ b/src/main/java/org/olat/admin/user/delete/UserDeleteTableModel.java @@ -103,7 +103,7 @@ public class UserDeleteTableModel extends DefaultTableDataModel { Identity identity = (Identity) getObject(row); User user = identity.getUser(); if (col == 0) { - return identity.getName(); + return identity.getName();//TODO username } else if (col < userPropertyHandlers.size()+1) { UserPropertyHandler userPropertyHandler = userPropertyHandlers.get(col-1); String value = userPropertyHandler.getUserProperty(user, getLocale()); diff --git a/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java b/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java index a1f0063eaffb0ccb7295025c576792f4bc134fd2..e2a82b9756991e3458943dcde6a1e47b7687b355 100644 --- a/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java +++ b/src/main/java/org/olat/admin/user/groups/GroupLeaveDialogBoxController.java @@ -69,7 +69,7 @@ public class GroupLeaveDialogBoxController extends FormBasicController { if(groupToLeaveNames.length() > 0) groupToLeaveNames.append(", "); groupToLeaveNames.append(group.getName()); } - String identityName = UserManager.getInstance().getUserDisplayName(leavingIdentity.getUser()); + String identityName = UserManager.getInstance().getUserDisplayName(leavingIdentity); String leaveText = translate("unsubscribe.text", new String[]{identityName, groupToLeaveNames.toString()}); uifactory.addStaticTextElement("leaving.desc", null, leaveText, formLayout); String[] values = new String[]{ diff --git a/src/main/java/org/olat/admin/user/imp/Model.java b/src/main/java/org/olat/admin/user/imp/Model.java index 4d0a692e179b106fc41b2a9d4eb94926ec6484b5..925016a05b5a888c43e6d8dff6e1829def187240 100644 --- a/src/main/java/org/olat/admin/user/imp/Model.java +++ b/src/main/java/org/olat/admin/user/imp/Model.java @@ -70,7 +70,7 @@ public class Model extends DefaultTableDataModel<Object> { if (col == 0) { // existing return (userExists ? Boolean.FALSE : Boolean.TRUE); } - + //TODO username if (col == 1) { return (userExists ? ident.getName() : userArray.get(col)); } if (col == 2) {// pwd diff --git a/src/main/java/org/olat/catalog/restapi/CatalogWebService.java b/src/main/java/org/olat/catalog/restapi/CatalogWebService.java index dba650b57e520358a97956179710c8e3efb0bf1c..ba37da08211cee707ae7ae160f7e65da21760277 100644 --- a/src/main/java/org/olat/catalog/restapi/CatalogWebService.java +++ b/src/main/java/org/olat/catalog/restapi/CatalogWebService.java @@ -56,6 +56,7 @@ import org.olat.basesecurity.SecurityGroup; import org.olat.catalog.CatalogEntry; import org.olat.catalog.CatalogManager; import org.olat.catalog.ui.CatalogController; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.translator.Translator; @@ -72,6 +73,7 @@ import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.restapi.support.MediaTypeVariants; import org.olat.restapi.support.vo.ErrorVO; +import org.olat.user.UserManager; import org.olat.user.restapi.UserVO; import org.olat.user.restapi.UserVOFactory; @@ -758,7 +760,9 @@ public class CatalogWebService { } Translator translator = Util.createPackageTranslator(CatalogController.class, locale); - String translation = translator.translate("catalog.locked.by", new String[]{lock.getOwner().getName()}); + + String ownerName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(lock.getOwner()); + String translation = translator.translate("catalog.locked.by", new String[]{ ownerName }); ErrorVO vo = new ErrorVO("org.olat.catalog.ui","catalog.locked.by",translation); ErrorVO[] voes = new ErrorVO[]{vo}; return Response.ok(voes).status(Status.UNAUTHORIZED).build(); diff --git a/src/main/java/org/olat/catalog/ui/CatalogController.java b/src/main/java/org/olat/catalog/ui/CatalogController.java index fe1efd418de32ce544c366f9ab61e501793688d5..48627d2d711f948b5b799531ce9bdf0055ea8762 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogController.java +++ b/src/main/java/org/olat/catalog/ui/CatalogController.java @@ -94,6 +94,7 @@ import org.olat.resource.accesscontrol.ACService; import org.olat.resource.accesscontrol.model.OLATResourceAccess; import org.olat.resource.accesscontrol.model.PriceMethodBundle; import org.olat.resource.accesscontrol.ui.PriceFormat; +import org.olat.user.UserManager; /** * <pre> @@ -229,6 +230,7 @@ public class CatalogController extends BasicController implements Activateable2 public static final String LOCK_TOKEN = "catalogeditlock"; private final MarkManager markManager; + private final UserManager userManager; /** * Init with catalog root @@ -245,6 +247,7 @@ public class CatalogController extends BasicController implements Activateable2 acService = CoreSpringFactory.getImpl(ACService.class); markManager = CoreSpringFactory.getImpl(MarkManager.class); repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); + userManager = CoreSpringFactory.getImpl(UserManager.class); List<CatalogEntry> rootNodes = cm.getRootCatalogEntries(); CatalogEntry rootce; @@ -422,7 +425,8 @@ public class CatalogController extends BasicController implements Activateable2 if (event.getCommand().equals(ACTION_ADD_CTLGCATEGORY)) { catModificationLock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(OresHelper.createOLATResourceableType(CatalogController.class), ureq.getIdentity(), LOCK_TOKEN); if ( ! catModificationLock.isSuccess()) { - showError("catalog.locked.by", catModificationLock.getOwner().getName()); + String ownerName = userManager.getUserDisplayName(catModificationLock.getOwner()); + showError("catalog.locked.by", ownerName); return; } removeAsListenerAndDispose(addEntryForm); @@ -464,7 +468,8 @@ public class CatalogController extends BasicController implements Activateable2 else if (event.getCommand().equals(ACTION_EDIT_CTLGCATEGORY)) { catModificationLock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(OresHelper.createOLATResourceableType(CatalogController.class), ureq.getIdentity(), LOCK_TOKEN); if ( ! catModificationLock.isSuccess()) { - showError("catalog.locked.by", catModificationLock.getOwner().getName()); + String ownerName = userManager.getUserDisplayName(catModificationLock.getOwner()); + showError("catalog.locked.by", ownerName); return; } removeAsListenerAndDispose(editEntryForm); @@ -513,7 +518,8 @@ public class CatalogController extends BasicController implements Activateable2 else if (event.getCommand().equals(ACTION_DELETE_CTLGCATEGORY)) { catModificationLock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(OresHelper.createOLATResourceableType(CatalogController.class), ureq.getIdentity(), LOCK_TOKEN); if ( ! catModificationLock.isSuccess()) { - showError("catalog.locked.by", catModificationLock.getOwner().getName()); + String ownerName = userManager.getUserDisplayName(catModificationLock.getOwner()); + showError("catalog.locked.by", ownerName); return; } String[] trnslP = { currentCatalogEntry.getName() }; @@ -592,7 +598,8 @@ public class CatalogController extends BasicController implements Activateable2 // catModificationLock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(OresHelper.createOLATResourceableType(CatalogController.class), ureq.getIdentity(), LOCK_TOKEN); if (!catModificationLock.isSuccess()) { - showError("catalog.locked.by", catModificationLock.getOwner().getName()); + String ownerName = userManager.getUserDisplayName(catModificationLock.getOwner()); + showError("catalog.locked.by", ownerName); return; } diff --git a/src/main/java/org/olat/catalog/ui/CatalogNodeController.java b/src/main/java/org/olat/catalog/ui/CatalogNodeController.java index f73c00db4e80fdb78cacabb0e0345b0f6e57e5e9..c3fc4f149950c4140c213fc38e51d70ac57ba1e8 100644 --- a/src/main/java/org/olat/catalog/ui/CatalogNodeController.java +++ b/src/main/java/org/olat/catalog/ui/CatalogNodeController.java @@ -73,6 +73,7 @@ import org.olat.repository.RepositoryManager; import org.olat.repository.RepositoryTableModel; import org.olat.repository.SearchRepositoryEntryParameters; import org.olat.repository.controllers.RepositorySearchController; +import org.olat.user.UserManager; /** * @@ -107,6 +108,7 @@ public class CatalogNodeController extends BasicController implements Activateab private final CatalogManager cm; private final BaseSecurity securityManager; private final RepositoryManager repositoryManager; + private final UserManager userManager; private boolean localTreeAdmin; @@ -119,6 +121,7 @@ public class CatalogNodeController extends BasicController implements Activateab cm = CatalogManager.getInstance(); securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); + userManager = CoreSpringFactory.getImpl(UserManager.class); this.catalogEntry = catalogEntry; @@ -302,7 +305,8 @@ public class CatalogNodeController extends BasicController implements Activateab private boolean acquireLock() { catModificationLock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(OresHelper.createOLATResourceableType(CatalogController.class), getIdentity(), LOCK_TOKEN); if (!catModificationLock.isSuccess()) { - showError("catalog.locked.by", catModificationLock.getOwner().getName()); + String ownerName = userManager.getUserDisplayName(catModificationLock.getOwner()); + showError("catalog.locked.by", ownerName); return false; } return true; diff --git a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java index 399ad60c6233da7ff6068d1e816bf8aea2176f83..35f4650694418184ce430cbe41681732cb17bfa0 100644 --- a/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java +++ b/src/main/java/org/olat/core/commons/editor/htmleditor/HTMLEditorController.java @@ -169,7 +169,7 @@ public class HTMLEditorController extends FormBasicController { VelocityContainer vc = (VelocityContainer) flc.getComponent(); if (!lock.isSuccess()) { vc.contextPut("locked", Boolean.TRUE); - vc.contextPut("lockOwner", lock.getOwner().getName()); + vc.contextPut("lockOwner", lock.getOwner().getName());//TODO username this.editable = false; return; } else { diff --git a/src/main/java/org/olat/core/commons/fullWebApp/DefaultFooterController.java b/src/main/java/org/olat/core/commons/fullWebApp/DefaultFooterController.java index 39fba925bc2bd3eabab68b2b44724200e1ce9732..6a0a9ac204ec96bf3bdf1c039af16bac935d23cb 100644 --- a/src/main/java/org/olat/core/commons/fullWebApp/DefaultFooterController.java +++ b/src/main/java/org/olat/core/commons/fullWebApp/DefaultFooterController.java @@ -29,6 +29,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.helpers.Settings; import org.olat.core.util.session.UserSessionManager; +import org.olat.user.UserManager; /** * <h3>Description:</h3> @@ -72,7 +73,8 @@ public class DefaultFooterController extends BasicController { // Push information about user if (ureq.getUserSession().isAuthenticated()) { footerVC.contextPut("loggedIn", Boolean.TRUE); - footerVC.contextPut("username", ureq.getIdentity().getName()); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(getIdentity()); + footerVC.contextPut("username", fullName); } else { footerVC.contextPut("loggedIn", Boolean.FALSE); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileCopyController.java b/src/main/java/org/olat/core/commons/modules/bc/FileCopyController.java index 7c9f2a7f16482b21c464b535b5675e8eed722628..5c212fbbc14ef1e8a513f984c66d7b9dc7cc3736 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/FileCopyController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/FileCopyController.java @@ -307,7 +307,7 @@ public class FileCopyController extends LinkChooserController { if (metaDataCtr != null) { meta = metaDataCtr.getMetaInfo(meta); } - meta.setAuthor(ureq.getIdentity().getName()); + meta.setAuthor(ureq.getIdentity()); meta.clearThumbnails();//if overwrite an older file meta.write(); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java index d823f45af8968d655726e97483cbc3fedd565bd8..306894e5b55f51f1b3342ebb2ae6a47b111a7fdf 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java @@ -691,7 +691,7 @@ public class FileUploadController extends FormBasicController { if (metaDataCtr != null) { meta = metaDataCtr.getMetaInfo(meta); } - meta.setAuthor(ureq.getIdentity().getName()); + meta.setAuthor(ureq.getIdentity()); meta.clearThumbnails();//if overwrite an older file meta.write(); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java index 712e8d6b2c6a96a3f9e7477a91a5374f98f351e8..c6442627437b255eb58d8a46a963d5650715ec4c 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java @@ -217,7 +217,7 @@ public class CmdCreateFile extends BasicController implements FolderCommand { if (item instanceof OlatRelPathImpl) { // update meta data MetaInfo meta = MetaInfoFactory.createMetaInfoFor((OlatRelPathImpl)item); - meta.setAuthor(ureq.getIdentity().getName()); + meta.setAuthor(ureq.getIdentity()); meta.write(); } fileName = getItemName(); diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFolder.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFolder.java index 78f3983711aff74e3da2c9107a91c7d904a53f7e..b3b27e6bc1ea92c325b2fd5b9482de566032bd3c 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFolder.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFolder.java @@ -159,7 +159,7 @@ private static Map<String,String> i18nkeyMap; if (item instanceof OlatRelPathImpl) { // update meta data MetaInfo meta = MetaInfoFactory.createMetaInfoFor((OlatRelPathImpl)item); - meta.setAuthor(ureq.getIdentity().getName()); + meta.setAuthor(ureq.getIdentity()); meta.write(); } fireEvent(ureq, Event.DONE_EVENT); diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java index 5ceac221e849107933d40314ecf37e3e9a621aa8..e4c8eacb72bd195783d4e6ce99dda651645a6884 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdEditMeta.java @@ -38,7 +38,6 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.translator.Translator; -import org.olat.core.util.FileUtils; import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.VFSConstants; import org.olat.core.util.vfs.VFSContainer; diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUnzip.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUnzip.java index bb300f9bbda4f522377ce5eb33bf696159f45f27..2be72b0870d7af4b31744de534e7f5a7fd35f8a7 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUnzip.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdUnzip.java @@ -177,7 +177,7 @@ public class CmdUnzip extends BasicController implements FolderCommand { } else if (zipContainer instanceof MetaTagged) { MetaInfo info = ((MetaTagged)zipContainer).getMetaInfo(); if(info != null && ureq.getIdentity() != null) { - info.setAuthor(ureq.getIdentity().getName()); + info.setAuthor(ureq.getIdentity()); info.write(); } } diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdZip.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdZip.java index 42b9ded5e21fd1c4c0887d0d4d3101bfc790c988..279bb3d7a7eead37c33c8a443b3d1b714ed473ca 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdZip.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdZip.java @@ -113,7 +113,7 @@ public class CmdZip extends BasicController implements FolderCommand { /** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) */ - @SuppressWarnings("unused") + @Override public void event(UserRequest ureq, Component source, Event event) { //empty } @@ -199,7 +199,7 @@ public class CmdZip extends BasicController implements FolderCommand { if(zipFile instanceof MetaTagged) { MetaInfo info = ((MetaTagged)zipFile).getMetaInfo(); if(info != null) { - info.setAuthor(ureq.getIdentity().getName()); + info.setAuthor(ureq.getIdentity()); info.write(); } } diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java index 755baa7a989f0140e756068ebf89e2afeecc4788..89c6721096aa0faa110a0a1160fac6c60b248d45 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java +++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java @@ -55,6 +55,7 @@ import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.version.Versionable; import org.olat.core.util.vfs.version.Versions; +import org.olat.user.UserManager; /** * Initial Date: Feb 12, 2004 @@ -304,6 +305,9 @@ public class ListRenderer { String author = metaInfo.getAuthor(); if (StringHelper.containsNonWhitespace(author)) { + if(!"-".equals(author)) { + author = UserManager.getInstance().getUserDisplayName(author); + } sb.append("<p>").append(Formatter.escapeDoubleQuotes(translator.translate("mf.author"))); sb.append(": ").append(Formatter.escapeDoubleQuotes(author)).append("</p>"); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfo.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfo.java index e78daf4c1126eada4a08b0acef3504ac67a16228..3ecd61b8411431a8027d4097443dd21889c9854e 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfo.java +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfo.java @@ -203,7 +203,10 @@ public interface MetaInfo { /** * @param string */ + @Deprecated public void setAuthor(String username); + + public void setAuthor(Identity identy); /** * @param string diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFileImpl.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFileImpl.java index 48985c48ad40cc21542d8736934e8dccaebdd9b6..125983208b4bbd2c35b941bd2f07a613e87db8c7 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFileImpl.java +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFileImpl.java @@ -587,7 +587,7 @@ public class MetaInfoFileImpl extends DefaultHandler implements MetaInfo { log.warn("Found no idenitiy with key='" + authorIdentKey + "'"); return "-"; } - return identity.getName(); + return identity.getName(); } catch (Exception e) { return "-"; } @@ -630,7 +630,7 @@ public class MetaInfoFileImpl extends DefaultHandler implements MetaInfo { String formattedName = user.getProperty(UserConstants.FIRSTNAME, null); formattedName = formattedName + " " + user.getProperty(UserConstants.LASTNAME, null); //TODO: add link to user profile when checking in 4289/4295 and remove reference to loginname - formattedName = formattedName + " (" + identity.getName() + ")"; + formattedName = formattedName + " (" + identity.getName() + ")";//TODO username return formattedName; } } @@ -678,6 +678,16 @@ public class MetaInfoFileImpl extends DefaultHandler implements MetaInfo { authorIdentKey = identity.getKey(); } + @Override + public void setAuthor(Identity identity) { + if (identity == null) { + log.warn("Found no idenity"); + authorIdentKey = null; + return; + } + authorIdentKey = identity.getKey(); + } + /** * @param string */ diff --git a/src/main/java/org/olat/core/commons/modules/bc/version/DeletedFileListController.java b/src/main/java/org/olat/core/commons/modules/bc/version/DeletedFileListController.java index ae64337a40513b6542c226e9b126b856f62700b2..69041589b1b90c3ef8aae4aaf388863c4ef12862 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/version/DeletedFileListController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/version/DeletedFileListController.java @@ -24,14 +24,12 @@ import java.util.ArrayList; import java.util.BitSet; import java.util.Calendar; import java.util.Collection; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; -import org.olat.basesecurity.BaseSecurityManager; -import org.olat.basesecurity.IdentityShort; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.modules.bc.commands.FolderCommand; import org.olat.core.commons.modules.bc.commands.FolderCommandStatus; import org.olat.core.gui.UserRequest; @@ -60,6 +58,7 @@ import org.olat.core.util.vfs.callbacks.VFSSecurityCallback; import org.olat.core.util.vfs.version.VFSRevision; import org.olat.core.util.vfs.version.Versions; import org.olat.core.util.vfs.version.VersionsManager; +import org.olat.user.UserManager; /** * @@ -91,11 +90,13 @@ public class DeletedFileListController extends BasicController { private DialogBoxController dialogCtr; private boolean isAdmin; + private UserManager userManager; public DeletedFileListController(UserRequest ureq, WindowControl wControl, VFSContainer container) { super(ureq, wControl); this.container = container; deletedFiles = VersionsManager.getInstance().getDeletedFiles(container); + userManager = CoreSpringFactory.getImpl(UserManager.class); isAdmin = ureq.getUserSession().getRoles().isOLATAdmin(); @@ -135,21 +136,17 @@ public class DeletedFileListController extends BasicController { private void loadModel(UserRequest ureq) { Collection<String> names = new HashSet<String>(); for(Versions deletedFile:deletedFiles) { - if(deletedFile.getCreator() != null) { + if(deletedFile.getCreator() != null && !"-".equals(deletedFile.getCreator())) { names.add(deletedFile.getCreator()); } VFSRevision lastRevision = getLastRevision(deletedFile); - if(lastRevision != null && lastRevision.getAuthor() != null) { + if(lastRevision != null && lastRevision.getAuthor() != null && !"-".equals(lastRevision.getAuthor())) { names.add(lastRevision.getAuthor()); } } - Map<String, IdentityShort> mappedIdentities = new HashMap<String, IdentityShort>(); - for(IdentityShort identity :BaseSecurityManager.getInstance().findShortIdentitiesByName(names)) { - mappedIdentities.put(identity.getName(), identity); - } - - DeletedFileListDataModel model = new DeletedFileListDataModel(deletedFiles, mappedIdentities, ureq.getLocale()); + Map<String, String> mappedFullnames = userManager.getUserDisplayNamesByUserName(names); + DeletedFileListDataModel model = new DeletedFileListDataModel(deletedFiles, mappedFullnames, ureq.getLocale()); deletedFilesListTableCtr.setTableDataModel(model); } @@ -217,6 +214,7 @@ public class DeletedFileListController extends BasicController { } } else if (source == dialogCtr) { if (DialogBoxUIFactory.isYesEvent(event)) { + @SuppressWarnings("unchecked") List<Versions> versionsToDelete = (List<Versions>)dialogCtr.getUserObject(); VersionsManager.getInstance().deleteVersions(versionsToDelete); status = FolderCommandStatus.STATUS_SUCCESS; @@ -271,15 +269,15 @@ public class DeletedFileListController extends BasicController { return lastRevision; } - public class DeletedFileListDataModel extends BaseTableDataModelWithoutFilter implements TableDataModel { + public class DeletedFileListDataModel extends BaseTableDataModelWithoutFilter<Versions> implements TableDataModel<Versions> { private final DateFormat format; private final List<Versions> versionList; private final Calendar cal = Calendar.getInstance(); - private final Map<String, IdentityShort> mappedIdentities; + private final Map<String, String> mappedFullnames; - public DeletedFileListDataModel(List<Versions> versionList, Map<String, IdentityShort> mappedIdentities, Locale locale) { + public DeletedFileListDataModel(List<Versions> versionList, Map<String, String> mappedFullnames, Locale locale) { this.versionList = versionList; - this.mappedIdentities = mappedIdentities; + this.mappedFullnames = mappedFullnames; format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale); } @@ -319,16 +317,13 @@ public class DeletedFileListController extends BasicController { if(!StringHelper.containsNonWhitespace(name)) { return null; } - IdentityShort id = mappedIdentities.get(name); - if(id == null) { + String fullName = mappedFullnames.get(name); + if(fullName == null) { return null; } StringBuilder sb = new StringBuilder(); - sb.append(id.getFirstName()) - .append(" ") - .append(id.getLastName()); - + sb.append(fullName); if(isAdmin) { sb.append(" (").append(name).append(")"); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/version/RevisionListController.java b/src/main/java/org/olat/core/commons/modules/bc/version/RevisionListController.java index ff5953609e9b83c7a383033b1cf5b388feea9210..57af17e98a04c3e756da98ba859a1d7a68edb8a4 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/version/RevisionListController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/version/RevisionListController.java @@ -33,6 +33,7 @@ import java.util.Map; import org.olat.basesecurity.BaseSecurityManager; import org.olat.basesecurity.IdentityShort; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.modules.bc.commands.FolderCommand; import org.olat.core.commons.modules.bc.commands.FolderCommandStatus; import org.olat.core.gui.UserRequest; @@ -60,6 +61,7 @@ import org.olat.core.util.vfs.VFSRevisionMediaResource; import org.olat.core.util.vfs.version.VFSRevision; import org.olat.core.util.vfs.version.Versionable; import org.olat.core.util.vfs.version.Versions; +import org.olat.user.UserManager; /** * @@ -88,6 +90,7 @@ public class RevisionListController extends BasicController { private DialogBoxController confirmDeleteBoxCtr; private final VelocityContainer mainVC; private final boolean isAdmin; + private final UserManager userManager; public RevisionListController(UserRequest ureq, WindowControl wControl, Versionable versionedFile) { this(ureq, wControl, versionedFile, null, null); @@ -97,6 +100,7 @@ public class RevisionListController extends BasicController { super(ureq, wControl); isAdmin = ureq.getUserSession().getRoles().isOLATAdmin(); + userManager = CoreSpringFactory.getImpl(UserManager.class); //reload the file with all possible precautions VFSLeaf versionedLeaf = null; @@ -251,6 +255,7 @@ public class RevisionListController extends BasicController { } } else if (source == confirmDeleteBoxCtr) { if (DialogBoxUIFactory.isYesEvent(event)) { + @SuppressWarnings("unchecked") List<VFSRevision> selectedVersions = (List<VFSRevision>) confirmDeleteBoxCtr.getUserObject(); versionedFile.getVersions().delete(ureq.getIdentity(), selectedVersions); status = FolderCommandStatus.STATUS_SUCCESS; @@ -275,7 +280,7 @@ public class RevisionListController extends BasicController { return results; } - public class RevisionListDataModel extends BaseTableDataModelWithoutFilter implements TableDataModel { + public class RevisionListDataModel extends BaseTableDataModelWithoutFilter<VFSRevision> implements TableDataModel<VFSRevision> { private final DateFormat format; private final List<VFSRevision> versionList; private final Calendar cal = Calendar.getInstance(); @@ -329,12 +334,9 @@ public class RevisionListController extends BasicController { } StringBuilder sb = new StringBuilder(); - sb.append(id.getFirstName()) - .append(" ") - .append(id.getLastName()); - + sb.append(userManager.getUserDisplayName(id)); if(isAdmin) { - sb.append(" (").append(name).append(")"); + sb.append(" (").append(name).append(")");//TODO username } return sb.toString(); } diff --git a/src/main/java/org/olat/core/commons/modules/glossary/Author.java b/src/main/java/org/olat/core/commons/modules/glossary/Author.java index 7f283cda722eb436d80dbb78d638ae7eab985bc2..17051bf3a12d58511c67b58722ce235a694d2e89 100644 --- a/src/main/java/org/olat/core/commons/modules/glossary/Author.java +++ b/src/main/java/org/olat/core/commons/modules/glossary/Author.java @@ -46,7 +46,7 @@ public class Author { public Author(Identity identity) { firstname = identity.getUser().getProperty(UserConstants.FIRSTNAME, null); surname = identity.getUser().getProperty(UserConstants.LASTNAME, null); - link = "[Identity:" + identity.getKey() + "][Username:" + identity.getName() + "]"; + link = "[Identity:" + identity.getKey() + "][Username:" + identity.getName() + "]";//TODO username } public Long extractKey() { diff --git a/src/main/java/org/olat/core/commons/modules/glossary/GlossaryMainController.java b/src/main/java/org/olat/core/commons/modules/glossary/GlossaryMainController.java index 65033add568ab39e5f751719edb9866aa7b5aa9f..dfbf191ffef043de753e0cc0fab29cdb9b82e513 100644 --- a/src/main/java/org/olat/core/commons/modules/glossary/GlossaryMainController.java +++ b/src/main/java/org/olat/core/commons/modules/glossary/GlossaryMainController.java @@ -28,9 +28,9 @@ import java.util.List; import java.util.Properties; import java.util.Set; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.velocity.VelocityContainer; @@ -56,6 +56,7 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.coordinate.LockResult; import org.olat.core.util.vfs.VFSContainer; +import org.olat.user.UserManager; /** * Description:<br> @@ -336,7 +337,8 @@ public class GlossaryMainController extends BasicController implements Activatea // try to get lock for this glossary lockEntry = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(resourceable, ureq.getIdentity(), "GlossaryEdit"); if (!lockEntry.isSuccess()) { - showInfo("glossary.locked", lockEntry.getOwner().getName()); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(lockEntry.getOwner()); + showInfo("glossary.locked", fullName); glistVC.contextPut("editModeEnabled", Boolean.FALSE); } } diff --git a/src/main/java/org/olat/core/commons/services/webdav/manager/VFSDirContext.java b/src/main/java/org/olat/core/commons/services/webdav/manager/VFSDirContext.java index 29cb9abb76a826b11407f15a6f591e246db67c6d..c8395b0143eb89a7c34df25a06eed93e7b824dcc 100644 --- a/src/main/java/org/olat/core/commons/services/webdav/manager/VFSDirContext.java +++ b/src/main/java/org/olat/core/commons/services/webdav/manager/VFSDirContext.java @@ -589,7 +589,7 @@ public class VFSDirContext extends BaseDirContext { if(childLeaf instanceof MetaTagged) { MetaInfo infos = ((MetaTagged)childLeaf).getMetaInfo(); if(infos != null && infos.getAuthorIdentity() == null) { - infos.setAuthor(userSession.getIdentity().getName()); + infos.setAuthor(userSession.getIdentity()); infos.clearThumbnails(); infos.write(); } @@ -649,7 +649,7 @@ public class VFSDirContext extends BaseDirContext { if(file instanceof MetaTagged) { MetaInfo infos = ((MetaTagged)file).getMetaInfo(); if(infos != null && infos.getAuthorIdentity() == null) { - infos.setAuthor(userSession.getIdentity().getName()); + infos.setAuthor(userSession.getIdentity()); infos.clearThumbnails(); infos.write(); } diff --git a/src/main/java/org/olat/core/gui/components/table/ColumnDescriptor.java b/src/main/java/org/olat/core/gui/components/table/ColumnDescriptor.java index d8c2d5149148583e9928274a8c1d5931f7f2451f..ac122d51a25d6e0b30d5208b63c1dc2072df3ffc 100644 --- a/src/main/java/org/olat/core/gui/components/table/ColumnDescriptor.java +++ b/src/main/java/org/olat/core/gui/components/table/ColumnDescriptor.java @@ -142,10 +142,5 @@ public interface ColumnDescriptor { void setHrefGenerator(HrefGenerator h); HrefGenerator getHrefGenerator(); - /** - * String represenation of the value at specified row - * @param rowid - * @return - */ - String toString(int rowid); + } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/table/DefaultColumnDescriptor.java b/src/main/java/org/olat/core/gui/components/table/DefaultColumnDescriptor.java index 94c52b6eab73c255665ec5983281c7c689d848f2..69067ca9500751645bc1bea640205b809d4d25d0 100644 --- a/src/main/java/org/olat/core/gui/components/table/DefaultColumnDescriptor.java +++ b/src/main/java/org/olat/core/gui/components/table/DefaultColumnDescriptor.java @@ -325,14 +325,4 @@ public class DefaultColumnDescriptor implements ColumnDescriptor { this.hrefGenerator = hrefGenerator; } - public String toString(final int rowid) { - Object obj = getModelData(rowid); - if(obj instanceof Date){ - return "[date]"; - } - StringOutput sb = new StringOutput(); - renderValue(sb,rowid,null); - return sb.toString(); - } - } diff --git a/src/main/java/org/olat/core/gui/control/generic/modal/DialogBoxUIFactory.java b/src/main/java/org/olat/core/gui/control/generic/modal/DialogBoxUIFactory.java index ed046818e6c92b1a3025557e175079bfca2b53b5..021a55bf184d5445cc2bf09e8ee921f4405b58ce 100644 --- a/src/main/java/org/olat/core/gui/control/generic/modal/DialogBoxUIFactory.java +++ b/src/main/java/org/olat/core/gui/control/generic/modal/DialogBoxUIFactory.java @@ -28,6 +28,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -36,6 +37,7 @@ import org.olat.core.logging.AssertException; import org.olat.core.util.Formatter; import org.olat.core.util.Util; import org.olat.core.util.coordinate.LockResult; +import org.olat.user.UserManager; /** * <h3>Description:</h3> @@ -116,7 +118,8 @@ public class DialogBoxUIFactory { if(lockEntry.isSuccess()){ throw new AssertException("do not create a 'is locked message' if lock was succesfull! concerns lock:"+lockEntry.getOwner()); } - String[] i18nParams = new String[] { lockEntry.getOwner().getName(), + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(lockEntry.getOwner()); + String[] i18nParams = new String[] { fullName, Formatter.getInstance(ureq.getLocale()).formatTime(new Date(lockEntry.getLockAquiredTime())) }; String lockMsg = translator.translate(i18nLockMsgKey, i18nParams); diff --git a/src/main/java/org/olat/core/id/Identity.java b/src/main/java/org/olat/core/id/Identity.java index 6dc0a49a94755cb743813c303e8bffa9826cdab0..5066d9b4ec338202bf75cd2f48a504e0b71cf880 100644 --- a/src/main/java/org/olat/core/id/Identity.java +++ b/src/main/java/org/olat/core/id/Identity.java @@ -52,13 +52,13 @@ public interface Identity extends CreateInfo, Persistable { /** * @return The username, (login name, nickname..) */ - public abstract String getName(); + public String getName(); /** * @return The user object associated with this identity. The user * encapsulates the user data (profile and preferences) */ - public abstract User getUser(); + public User getUser(); /** * @return Last date when the user logged in. diff --git a/src/main/java/org/olat/core/util/ZipUtil.java b/src/main/java/org/olat/core/util/ZipUtil.java index dd8bb5397d0c31ea58de0b9c6f15675a3a80822c..2a4cbed46875d852d32ccabb083b108607cbeaf6 100644 --- a/src/main/java/org/olat/core/util/ZipUtil.java +++ b/src/main/java/org/olat/core/util/ZipUtil.java @@ -227,7 +227,7 @@ public class ZipUtil { if(newEntry instanceof MetaTagged) { MetaInfo info = ((MetaTagged)newEntry).getMetaInfo(); if(info != null) { - info.setAuthor(identity.getName()); + info.setAuthor(identity); info.write(); } } @@ -242,7 +242,7 @@ public class ZipUtil { if(newEntry instanceof MetaTagged) { MetaInfo info = ((MetaTagged)newEntry).getMetaInfo(); if(info != null && identity != null) { - info.setAuthor(identity.getName()); + info.setAuthor(identity); info.write(); } } @@ -335,7 +335,7 @@ public class ZipUtil { if(newEntry instanceof MetaTagged) { MetaInfo info = ((MetaTagged)newEntry).getMetaInfo(); if(info != null) { - info.setAuthor(identity.getName()); + info.setAuthor(identity); info.write(); } } @@ -350,7 +350,7 @@ public class ZipUtil { if(newEntry instanceof MetaTagged) { MetaInfo info = ((MetaTagged)newEntry).getMetaInfo(); if(info != null && identity != null) { - info.setAuthor(identity.getName()); + info.setAuthor(identity); info.write(); } } @@ -530,7 +530,7 @@ public class ZipUtil { if (identity != null && vfsSubpath instanceof MetaTagged) { MetaInfo info = ((MetaTagged)vfsSubpath).getMetaInfo(); if(info != null) { - info.setAuthor(identity.getName()); + info.setAuthor(identity); info.write(); } } diff --git a/src/main/java/org/olat/core/util/mail/MailHelper.java b/src/main/java/org/olat/core/util/mail/MailHelper.java index b5a31bd154dfae6fb0f471c2b77397236b347b45..f265da30f50e254991ec0bc3b44daaa3f9ba8b7d 100644 --- a/src/main/java/org/olat/core/util/mail/MailHelper.java +++ b/src/main/java/org/olat/core/util/mail/MailHelper.java @@ -198,7 +198,7 @@ public class MailHelper { User user = identity.getUser(); warnings.append("<li>"); warnings.append(trans.translate("mailhelper.error.failedusers.user", new String[] { user.getProperty(UserConstants.FIRSTNAME, null), user.getProperty(UserConstants.LASTNAME, null), - user.getProperty(UserConstants.EMAIL, null), identity.getName() })); + user.getProperty(UserConstants.EMAIL, null), identity.getName() }));//TODO username warnings.append("</li>"); } warnings.append("</ul></p>"); diff --git a/src/main/java/org/olat/core/util/mail/ui/SendDocumentsByEMailController.java b/src/main/java/org/olat/core/util/mail/ui/SendDocumentsByEMailController.java index 3b10e860b39b2494e5e055e3f65f5697822aea30..0ca1eb4385c3cb9f3c733e6a3eb70dcad7e54291 100644 --- a/src/main/java/org/olat/core/util/mail/ui/SendDocumentsByEMailController.java +++ b/src/main/java/org/olat/core/util/mail/ui/SendDocumentsByEMailController.java @@ -488,7 +488,7 @@ public class SendDocumentsByEMailController extends FormBasicController implemen protected String formatIdentity(Identity ident) { User u = ident.getUser(); - String login = ident.getName(); + String login = ident.getName();//TODO username String first = u.getProperty(UserConstants.FIRSTNAME, null); String last = u.getProperty(UserConstants.LASTNAME, null); String mail = u.getProperty(UserConstants.EMAIL, null); @@ -509,7 +509,7 @@ public class SendDocumentsByEMailController extends FormBasicController implemen boolean hasMore = false; for (Identity ident : res) { maxEntries--; - String login = ident.getName(); + String login = ident.getName();//TODO username resMap.put(formatIdentity(ident), login); if (maxEntries <= 0) { hasMore = true; diff --git a/src/main/java/org/olat/course/CourseFactory.java b/src/main/java/org/olat/course/CourseFactory.java index 2aebb83a5ca6303cee6e4d826b9062fdc6d76b1a..5688a416524d02f52d7b257206ae413c817d8cf1 100644 --- a/src/main/java/org/olat/course/CourseFactory.java +++ b/src/main/java/org/olat/course/CourseFactory.java @@ -130,6 +130,7 @@ import org.olat.resource.OLATResourceManager; import org.olat.resource.references.ReferenceImpl; import org.olat.resource.references.ReferenceManager; import org.olat.testutils.codepoints.server.Codepoint; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; @@ -214,7 +215,8 @@ public class CourseFactory extends BasicManager { // already locked by another person Translator translator = Util.createPackageTranslator(RunMainController.class, ureq.getLocale()); - wControl.setWarning(translator.translate("error.editoralreadylocked", new String[] { emc.getLockEntry().getOwner().getName() })); + String lockerName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(emc.getLockEntry().getOwner()); + wControl.setWarning(translator.translate("error.editoralreadylocked", new String[] { lockerName })); return null; } //set the logger if editor is started diff --git a/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java b/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java index 380330477ff36849f6dfeeaf6dd6baeb8da0dcd1..d86580a0a5bd7ed9b4bd3b2dad4d8d8343d5f97d 100644 --- a/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java +++ b/src/main/java/org/olat/course/archiver/ScoreAccountingHelper.java @@ -136,7 +136,7 @@ public class ScoreAccountingHelper { Formatter formatter = Formatter.getInstance(locale); for (Identity identity:identities) { - String uname = identity.getName(); + String uname = identity.getName();//TODO username tableContent.append(rowNumber); tableContent.append("\t"); diff --git a/src/main/java/org/olat/course/assessment/AssessedIdentitiesTableDataModel.java b/src/main/java/org/olat/course/assessment/AssessedIdentitiesTableDataModel.java index 7bf5902d63eaf405c193392edf28c7335ab98957..107acd347225bc10030cbb4b81d70b1c49bea4b2 100644 --- a/src/main/java/org/olat/course/assessment/AssessedIdentitiesTableDataModel.java +++ b/src/main/java/org/olat/course/assessment/AssessedIdentitiesTableDataModel.java @@ -168,7 +168,7 @@ public class AssessedIdentitiesTableDataModel extends DefaultTableDataModel { // lookup the column name first and // deliver value based on the column name String colName = colMapping.get(col); - if (colName.equals(COL_NAME)) return identity.getName(); + if (colName.equals(COL_NAME)) return identity.getName();//TODO username else if (userPropertyNameList.contains(colName)) return identity.getUser().getProperty(colName, getLocale()); else if (colName.equals(COL_DETAILS)) return wrappedIdentity.getDetailsListView(); else if (colName.equals(COL_ATTEMPTS)) return wrappedIdentity.getNodeAttempts(); diff --git a/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java b/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java index b0e727779d7e1ccbb043b4daf10b73bbe943197c..662c6bdad2610b8745efd3c8360e10d73d8900ea 100644 --- a/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java +++ b/src/main/java/org/olat/course/assessment/EfficiencyStatementManager.java @@ -146,7 +146,7 @@ public class EfficiencyStatementManager extends BasicManager implements UserData efficiencyStatement.setCourseTitle(userCourseEnv.getCourseEnvironment().getCourseTitle()); efficiencyStatement.setCourseRepoEntryKey(repoEntryKey); User user = identity.getUser(); - efficiencyStatement.setDisplayableUserInfo(user.getProperty(UserConstants.FIRSTNAME, null) + " " + user.getProperty(UserConstants.LASTNAME, null) + " (" + identity.getName() + ")"); + efficiencyStatement.setDisplayableUserInfo(user.getProperty(UserConstants.FIRSTNAME, null) + " " + user.getProperty(UserConstants.LASTNAME, null) + " (" + identity.getName() + ")");//TODO username efficiencyStatement.setLastUpdated(System.currentTimeMillis()); UserEfficiencyStatementImpl efficiencyProperty = getUserEfficiencyStatementFull(repoEntryKey, identity); diff --git a/src/main/java/org/olat/course/member/MemberInfoController.java b/src/main/java/org/olat/course/member/MemberInfoController.java deleted file mode 100644 index 4b8c05cabfb58b7e4ca869e2febd53866fae2df4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/course/member/MemberInfoController.java +++ /dev/null @@ -1,169 +0,0 @@ -/** - * <a href="http://www.openolat.org"> - * OpenOLAT - Online Learning and Training</a><br> - * <p> - * Licensed under the Apache License, Version 2.0 (the "License"); <br> - * you may not use this file except in compliance with the License.<br> - * You may obtain a copy of the License at the - * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> - * <p> - * Unless required by applicable law or agreed to in writing,<br> - * software distributed under the License is distributed on an "AS IS" BASIS, <br> - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> - * See the License for the specific language governing permissions and <br> - * limitations under the License. - * <p> - * Initial code contributed and copyrighted by<br> - * frentix GmbH, http://www.frentix.com - * <p> - */ -package org.olat.course.member; - -import java.util.Date; -import java.util.List; - -import org.olat.NewControllerFactory; -import org.olat.core.CoreSpringFactory; -import org.olat.core.gui.UserRequest; -import org.olat.core.gui.components.form.flexible.FormItem; -import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.FormLink; -import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; -import org.olat.core.gui.components.form.flexible.impl.Form; -import org.olat.core.gui.components.form.flexible.impl.FormBasicController; -import org.olat.core.gui.components.form.flexible.impl.FormEvent; -import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; -import org.olat.core.gui.control.Controller; -import org.olat.core.gui.control.WindowControl; -import org.olat.core.id.Identity; -import org.olat.core.util.Formatter; -import org.olat.core.util.Util; -import org.olat.course.assessment.UserCourseInformations; -import org.olat.course.assessment.manager.UserCourseInformationsManager; -import org.olat.repository.RepositoryEntry; -import org.olat.user.DisplayPortraitController; -import org.olat.user.UserManager; -import org.olat.user.propertyhandlers.UserPropertyHandler; - -/** - * - * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com - */ -public class MemberInfoController extends FormBasicController { - - private FormLink homeLink, contactLink, assessmentLink; - private StaticTextElement membershipCreationEl; - - private final Identity identity; - private final Long repoEntryKey; - private final UserCourseInformations courseInfos; - - private final UserManager userManager; - private final UserCourseInformationsManager efficiencyStatementManager; - - public MemberInfoController(UserRequest ureq, WindowControl wControl, Identity identity, - RepositoryEntry repoEntry, Form rootForm) { - super(ureq, wControl, LAYOUT_CUSTOM, "info_member", rootForm); - setTranslator(Util.createPackageTranslator(UserPropertyHandler.class, ureq.getLocale(), getTranslator())); - - userManager = CoreSpringFactory.getImpl(UserManager.class); - efficiencyStatementManager = CoreSpringFactory.getImpl(UserCourseInformationsManager.class); - - this.identity = identity; - repoEntryKey = repoEntry.getKey(); - - courseInfos = efficiencyStatementManager.getUserCourseInformations(repoEntry.getOlatResource().getResourceableId(), identity); - - initForm(ureq); - } - - @Override - protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { - if(formLayout instanceof FormLayoutContainer) { - FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout; - - Controller dpc = new DisplayPortraitController(ureq, getWindowControl(), identity, true, false); - listenTo(dpc); // auto dispose - layoutCont.put("image", dpc.getInitialComponent()); - layoutCont.contextPut("fullname", userManager.getUserDisplayName(identity.getUser())); - } - - //user properties - FormLayoutContainer userPropertiesContainer = FormLayoutContainer.createDefaultFormLayout("userProperties", getTranslator()); - formLayout.add("userProperties", userPropertiesContainer); - - List<UserPropertyHandler> userPropertyHandlers = userManager.getUserPropertyHandlersFor(getClass().getCanonicalName(), false); - for (UserPropertyHandler userPropertyHandler : userPropertyHandlers) { - if (userPropertyHandler == null) continue; - - String propName = userPropertyHandler.getName(); - String value = userPropertyHandler.getUserProperty(identity.getUser(), getLocale()); - String key = userPropertyHandler.i18nFormElementLabelKey(); - if(value == null) { - value = ""; - } - uifactory.addStaticTextElement("up_" + propName, key, value, userPropertiesContainer); - } - - //course informations - FormLayoutContainer courseInfosContainer = FormLayoutContainer.createDefaultFormLayout("courseInfos", getTranslator()); - formLayout.add("courseInfos", courseInfosContainer); - - Formatter formatter = Formatter.getInstance(getLocale()); - - String lastVisit = ""; - String numOfVisits = "0"; - if(courseInfos != null) { - if(courseInfos.getRecentLaunch() != null) { - lastVisit = formatter.formatDate(courseInfos.getRecentLaunch()); - } - if(courseInfos.getVisit() >= 0) { - numOfVisits = Integer.toString(courseInfos.getVisit()); - } - } - membershipCreationEl = uifactory.addStaticTextElement("firstTime", "course.membership.creation", "", courseInfosContainer); - uifactory.addStaticTextElement("lastTime", "course.lastTime", lastVisit, courseInfosContainer); - uifactory.addStaticTextElement("numOfVisits", "course.numOfVisits", numOfVisits, courseInfosContainer); - - //links - homeLink = uifactory.addFormLink("home", formLayout, "b_link_left_icon b_link_to_home"); - formLayout.add("home", homeLink); - contactLink = uifactory.addFormLink("contact", formLayout, "b_link_left_icon b_link_mail"); - formLayout.add("contact", contactLink); - assessmentLink = uifactory.addFormLink("assessment", formLayout, "b_link_left_icon b_link_assessment"); - formLayout.add("assessment", assessmentLink); - } - - public void setMembershipCreation(Date date) { - if(date != null) { - Formatter formatter = Formatter.getInstance(getLocale()); - membershipCreationEl.setValue(formatter.formatDate(date)); - } - } - - @Override - protected void doDispose() { - // - } - - @Override - protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { - if(source == homeLink) { - String businessPath = "[Identity:" + identity.getKey() + "]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); - } else if (source == contactLink) { - String businessPath = "[Identity:" + identity.getKey() + "][Contact:0]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); - } else if (source == assessmentLink) { - String businessPath = "[RepositoryEntry:" + repoEntryKey + "][assessmentTool:0][Identity:" + identity.getKey() + "]"; - NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl()); - } else { - super.formInnerEvent(ureq, source, event); - } - } - - @Override - protected void formOK(UserRequest ureq) { - // - } -} \ No newline at end of file diff --git a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java index e25efb9d61b0a3783baca6adbc0d8e415ac9fb6e..f45fd8e72753b8776bbb8699b19ff6ffe7752565 100644 --- a/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/members/MembersCourseNodeRunController.java @@ -385,7 +385,7 @@ public class MembersCourseNodeRunController extends FormBasicController { } public String getFullName() { - return UserManagerImpl.getInstance().getUserDisplayName(identity.getUser()); + return UserManagerImpl.getInstance().getUserDisplayName(identity); } public Long getKey() { diff --git a/src/main/java/org/olat/course/nodes/ta/DropboxController.java b/src/main/java/org/olat/course/nodes/ta/DropboxController.java index d95590540a0b6ef74a54da9b6dd63ff1547a533f..1e68317bd93f49515df36c9a8f236f3b0f89ce8f 100644 --- a/src/main/java/org/olat/course/nodes/ta/DropboxController.java +++ b/src/main/java/org/olat/course/nodes/ta/DropboxController.java @@ -258,7 +258,7 @@ public class DropboxController extends BasicController { if(fOut instanceof MetaTagged) { MetaInfo info = ((MetaTagged)fOut).getMetaInfo(); if(info != null) { - info.setAuthor(ureq.getIdentity().getName()); + info.setAuthor(ureq.getIdentity()); info.write(); } } diff --git a/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java b/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java index f25a2095f8e16d40433a44329159defe68d4153f..cf233f22dca5d72adc101e1b187e7bda5a38c5f2 100644 --- a/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java +++ b/src/main/java/org/olat/course/nodes/ta/TACourseNodeEditController.java @@ -510,7 +510,7 @@ public class TACourseNodeEditController extends ActivateableTabbableDefaultContr Context c = new VelocityContext(); Identity identity = ureq.getIdentity(); - c.put("login", identity.getName()); + c.put("login", identity.getName());//TODO username c.put("first", identity.getUser().getProperty(UserConstants.FIRSTNAME, getLocale())); c.put("last", identity.getUser().getProperty(UserConstants.LASTNAME, getLocale())); c.put("email", identity.getUser().getProperty(UserConstants.EMAIL, getLocale())); diff --git a/src/main/java/org/olat/course/run/preview/PreviewCoursePropertyManager.java b/src/main/java/org/olat/course/run/preview/PreviewCoursePropertyManager.java index 146128bae4095a8cfea5da3182c2a01e6fba8a6d..4596ae5455ed725d15ca31529c9e5707fd764c0a 100644 --- a/src/main/java/org/olat/course/run/preview/PreviewCoursePropertyManager.java +++ b/src/main/java/org/olat/course/run/preview/PreviewCoursePropertyManager.java @@ -180,7 +180,7 @@ final class PreviewCoursePropertyManager extends BasicManager implements CourseP return propertyList; } - private String buildPropertyHashKey(Property p) { + private String buildPropertyHashKey(Property p) {//TODO username return buildPropertyHashKey(p.getCategory(), (p.getIdentity() == null) ? "" : p.getIdentity().getName(), p.getGrp(), p.getName()); } diff --git a/src/main/java/org/olat/group/manager/BusinessGroupArchiver.java b/src/main/java/org/olat/group/manager/BusinessGroupArchiver.java index ab8d38b6ca9dfbd8bc4af1c829154fab9defd1c9..b6a3800edf40a886d706cc5d7cb6fd8be9fd44f1 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupArchiver.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupArchiver.java @@ -737,7 +737,7 @@ public class BusinessGroupArchiver { */ private void appendMember(StringBuffer buf, Member member, List<String> columnList, List<OrganisationalEntity> groupList, String role) { if(columnList.contains("username")) { - buf.append(member.getIdentity().getName()); + buf.append(member.getIdentity().getName()); //TODO username buf.append(DELIMITER); } diff --git a/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java b/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java index 931c129b06056c350c1e434bb9524a627be98dd5..5c6a69e8e79c7e30f0d392fbd8fbacef4c5b3205 100644 --- a/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java +++ b/src/main/java/org/olat/group/ui/main/MemberChangeConfirmationController.java @@ -68,7 +68,7 @@ public class MemberChangeConfirmationController extends FormBasicController { StringBuilder sb = new StringBuilder(identities.size() * 25); for(Identity id:identities) { if(sb.length() > 0) sb.append(" / "); - sb.append(userManager.getUserDisplayName(id.getUser())); + sb.append(userManager.getUserDisplayName(id)); } ((FormLayoutContainer)formLayout).contextPut("identities", sb.toString()); } diff --git a/src/main/java/org/olat/group/ui/main/MemberInfoController.java b/src/main/java/org/olat/group/ui/main/MemberInfoController.java index 93dd982b6d807f28e74d4893c2ec11ea4f66a633..99137702ba8aadd5edfe63a32286984e7b6d6d6d 100644 --- a/src/main/java/org/olat/group/ui/main/MemberInfoController.java +++ b/src/main/java/org/olat/group/ui/main/MemberInfoController.java @@ -85,7 +85,7 @@ public class MemberInfoController extends FormBasicController { Controller dpc = new DisplayPortraitController(ureq, getWindowControl(), identity, true, false); listenTo(dpc); // auto dispose layoutCont.put("image", dpc.getInitialComponent()); - layoutCont.contextPut("fullname", userManager.getUserDisplayName(identity.getUser())); + layoutCont.contextPut("fullname", userManager.getUserDisplayName(identity)); } //user properties diff --git a/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java b/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java index 1fa0d180a9a400afc19aae47538c20e42c6b54fb..5c744495250e383d5db252d8126887c3380cbf9c 100644 --- a/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java +++ b/src/main/java/org/olat/group/ui/main/MemberLeaveConfirmationController.java @@ -68,7 +68,7 @@ public class MemberLeaveConfirmationController extends FormBasicController { StringBuilder sb = new StringBuilder(identities.size() * 25); for(Identity id:identities) { if(sb.length() > 0) sb.append(" / "); - sb.append(userManager.getUserDisplayName(id.getUser())); + sb.append(userManager.getUserDisplayName(id)); } ((FormLayoutContainer)formLayout).contextPut("identities", sb.toString()); } diff --git a/src/main/java/org/olat/gui/control/OlatFooterController.java b/src/main/java/org/olat/gui/control/OlatFooterController.java index 226bf700856a1517aa1ddc12e410554c43998d2d..e5bda4dc1857f4c8d4f1d053b242e532cb53ebc3 100644 --- a/src/main/java/org/olat/gui/control/OlatFooterController.java +++ b/src/main/java/org/olat/gui/control/OlatFooterController.java @@ -41,6 +41,7 @@ import org.olat.core.util.Util; import org.olat.core.util.WebappHelper; import org.olat.social.SocialModule; import org.olat.social.shareLink.ShareLinkController; +import org.olat.user.UserManager; /** * Overrides the default footer of the webapplication framework showing the @@ -89,7 +90,8 @@ public class OlatFooterController extends BasicController { if(isInvitee) { olatFootervc.contextPut("username", translate("invitee")); } else { - olatFootervc.contextPut("username", ureq.getIdentity().getName()); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(ureq.getIdentity()); + olatFootervc.contextPut("username", fullName); } } else { olatFootervc.contextPut("loggedIn", Boolean.FALSE); diff --git a/src/main/java/org/olat/gui/demo/HelloWorldController.java b/src/main/java/org/olat/gui/demo/HelloWorldController.java index 365b42577b1da885ac28b69b4e6c6beecf413ca2..1e8b20d25c9e740481415301b4c4416d5349aad8 100644 --- a/src/main/java/org/olat/gui/demo/HelloWorldController.java +++ b/src/main/java/org/olat/gui/demo/HelloWorldController.java @@ -25,6 +25,7 @@ package org.olat.gui.demo; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -36,6 +37,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.gui.dev.controller.SourceViewController; +import org.olat.user.UserManager; /** * @@ -56,9 +58,14 @@ public class HelloWorldController extends BasicController { private Panel panel = new Panel("panel"); private Link link; private Link button; + + private final UserManager userManager; public HelloWorldController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); + + userManager = CoreSpringFactory.getImpl(UserManager.class); + // we pass a variable to the velocity container // which can be accessed in our helloworld.html file myContent.contextPut("myContentVariable", myString); @@ -99,7 +106,8 @@ public class HelloWorldController extends BasicController { logInfo("Someone asked us to say hello... so we do.", null); // we say hello to the and display the userName which is part of the // user identity and stored in the user session - getWindowControl().setInfo("Hi, your name is " + ureq.getIdentity().getName()); + String fullName = userManager.getUserDisplayName(getIdentity()); + getWindowControl().setInfo("Hi, your name is " + fullName); } else if (source == button) { // someone pressed the button panel.setContent(newsVc); diff --git a/src/main/java/org/olat/home/UserSearchAndInfoController.java b/src/main/java/org/olat/home/UserSearchAndInfoController.java index 051a74f441581abc57028867ac2d3af425dd35b1..83bc1db91908c11b50128aa6694c42be9e4bafaf 100644 --- a/src/main/java/org/olat/home/UserSearchAndInfoController.java +++ b/src/main/java/org/olat/home/UserSearchAndInfoController.java @@ -79,7 +79,7 @@ public class UserSearchAndInfoController extends BasicController { DTab dt = dts.getDTab(ores); if (dt == null) { // does not yet exist -> create and add - String name = UserManager.getInstance().getUserDisplayName(chosenIdentity.getUser()); + String name = UserManager.getInstance().getUserDisplayName(chosenIdentity); dt = dts.createDTab(ores, null, name); if (dt == null) return; UserInfoMainController uimc = new UserInfoMainController(ureq, dt.getWindowControl(), chosenIdentity); diff --git a/src/main/java/org/olat/ims/qti/QTIResultDetailsController.java b/src/main/java/org/olat/ims/qti/QTIResultDetailsController.java index ec36cd7c8ff01cfcf30b9c62daf19fb90ca17440..bd62323fa823a0be72517d9ac8b779476c54f8d3 100644 --- a/src/main/java/org/olat/ims/qti/QTIResultDetailsController.java +++ b/src/main/java/org/olat/ims/qti/QTIResultDetailsController.java @@ -176,7 +176,7 @@ public class QTIResultDetailsController extends BasicController { } else if(tEvent.getActionId().equals("ret")) { updateTableModel(); if(tableModel.isTestRunning()) { - String fullname = UserManager.getInstance().getUserDisplayName(assessedIdentity.getUser()); + String fullname = UserManager.getInstance().getUserDisplayName(assessedIdentity); String title = translate("retrievetest.confirm.title"); String text = translate("retrievetest.confirm.text", new String[]{fullname}); retrieveConfirmationCtr = activateYesNoDialog(ureq, title, text, retrieveConfirmationCtr); diff --git a/src/main/java/org/olat/ims/qti/editor/QTIEditorMainController.java b/src/main/java/org/olat/ims/qti/editor/QTIEditorMainController.java index 9363aba39853be7e6bab69f7c76804e35616cf05..015eea3fa469f3b9bd972f499c095234063543c1 100644 --- a/src/main/java/org/olat/ims/qti/editor/QTIEditorMainController.java +++ b/src/main/java/org/olat/ims/qti/editor/QTIEditorMainController.java @@ -109,13 +109,13 @@ import org.olat.modules.co.ContactFormController; import org.olat.modules.iq.IQDisplayController; import org.olat.modules.iq.IQManager; import org.olat.modules.iq.IQPreviewSecurityCallback; -import org.olat.modules.qpool.QPoolService; import org.olat.modules.qpool.QuestionItemView; import org.olat.modules.qpool.ui.SelectItemController; import org.olat.modules.qpool.ui.events.QItemViewEvent; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.resource.references.ReferenceImpl; +import org.olat.user.UserManager; /** * Description: <br> @@ -231,12 +231,14 @@ public class QTIEditorMainController extends MainLayoutBasicController implement private Link notEditableButton; private Set<String> deletableMediaFiles; + private final UserManager userManager; private final QTIQPoolServiceProvider qtiQpoolServiceProvider; public QTIEditorMainController(List<ReferenceImpl> referencees, UserRequest ureq, WindowControl wControl, FileResource fileResource) { super(ureq, wControl); qtiQpoolServiceProvider = (QTIQPoolServiceProvider)CoreSpringFactory.getBean("qtiPoolServiceProvider"); + userManager = CoreSpringFactory.getImpl(UserManager.class); for(Iterator<ReferenceImpl> iter = referencees.iterator(); iter.hasNext(); ) { ReferenceImpl ref = iter.next(); @@ -272,7 +274,8 @@ public class QTIEditorMainController extends MainLayoutBasicController implement // init(ureq); // initialize the gui } else { - wControl.setWarning( getTranslator().translate("error.lock", new String[] { lockEntry.getOwner().getName(), + String fullName = userManager.getUserDisplayName(lockEntry.getOwner()); + wControl.setWarning( getTranslator().translate("error.lock", new String[] { fullName, Formatter.formatDatetime(new Date(lockEntry.getLockAquiredTime())) }) ); } } @@ -532,7 +535,7 @@ public class QTIEditorMainController extends MainLayoutBasicController implement String userN = ureq.getIdentity().getName(); String lastN = ureq.getIdentity().getUser().getProperty(UserConstants.LASTNAME, ureq.getLocale()); String firstN = ureq.getIdentity().getUser().getProperty(UserConstants.FIRSTNAME, ureq.getLocale()); - String changeMsg = "Changed by: " + firstN + " " + lastN + " [" + userN + "]\n"; + String changeMsg = "Changed by: " + firstN + " " + lastN + " [" + userN + "]\n";//TODO username changeMsg += createChangeMessage(); changeEmail.setBodyText(changeMsg); chngMsgFormVC.contextPut("chngMsg", changeEmail.getBodyText()); diff --git a/src/main/java/org/olat/ims/qti/export/QTIExportFormatterCSVType1.java b/src/main/java/org/olat/ims/qti/export/QTIExportFormatterCSVType1.java index ff9eae42d5a3b081858217046b8a41336989dd44..65cc8600d26a1a2945cb61d9d7559e7ff79e8fda 100644 --- a/src/main/java/org/olat/ims/qti/export/QTIExportFormatterCSVType1.java +++ b/src/main/java/org/olat/ims/qti/export/QTIExportFormatterCSVType1.java @@ -185,7 +185,7 @@ public class QTIExportFormatterCSVType1 extends QTIExportFormatter { String firstName = set.getFirstName(); String lastName = set.getLastName(); - String login = set.getLogin(); + String login = set.getLogin();//TODO username String instUsrIdent = set.getInstitutionalUserIdentifier(); if (instUsrIdent == null) { instUsrIdent = translator.translate("column.field.notavailable"); diff --git a/src/main/java/org/olat/ims/qti/render/ResultsBuilder.java b/src/main/java/org/olat/ims/qti/render/ResultsBuilder.java index 96b847276a7acf105d61565959086b32e667c643..5414e22d3c3b112ea77ce09f244e9ba9f83635ec 100644 --- a/src/main/java/org/olat/ims/qti/render/ResultsBuilder.java +++ b/src/main/java/org/olat/ims/qti/render/ResultsBuilder.java @@ -117,6 +117,7 @@ public class ResultsBuilder { // Add User information Element context = result.addElement("context"); User user = identity.getUser(); + //TODO username String name = user.getProperty(UserConstants.FIRSTNAME, locale) + " " + user.getProperty(UserConstants.LASTNAME, locale) + " (" + identity.getName() + ")"; String instId = user.getProperty(UserConstants.INSTITUTIONALUSERIDENTIFIER, locale); String instName = user.getProperty(UserConstants.INSTITUTIONALNAME, locale); diff --git a/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java b/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java index 1bbf5a6446bdc70a4290c1b23655a672bb505255..e03b442cdbfc59c1f0b81bdc4ae967ffd2dc5c4f 100644 --- a/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java +++ b/src/main/java/org/olat/instantMessaging/manager/InstantMessagingServiceImpl.java @@ -171,7 +171,7 @@ public class InstantMessagingServiceImpl extends BasicManager implements Instant @Override public InstantMessage sendPrivateMessage(Identity from, Long toIdentityKey, String body, OLATResourceable chatResource) { - String name = userManager.getUserDisplayName(from.getUser()); + String name = userManager.getUserDisplayName(from); InstantMessage message = imDao.createMessage(from, name, false, body, chatResource); imDao.createNotification(from.getKey(), toIdentityKey, chatResource); dbInstance.commit();//commit before sending event @@ -203,7 +203,7 @@ public class InstantMessagingServiceImpl extends BasicManager implements Instant if(StringHelper.containsNonWhitespace(nickName)) { event.setName(nickName); } - String fullName = userManager.getUserDisplayName(me.getUser()); + String fullName = userManager.getUserDisplayName(me); rosterDao.updateRosterEntry(chatResource, me, fullName, nickName, anonym, vip); dbInstance.commit();//commit before sending event @@ -281,7 +281,7 @@ public class InstantMessagingServiceImpl extends BasicManager implements Instant addBuddyToGroupList(participant, me, groupMap, groups, identityKeyToStatus, false, offlineUsers); } - Map<Long,String> nameMap = userManager.getUserDisplayNames(identityKeyToStatus.keySet()); + Map<Long,String> nameMap = userManager.getUserDisplayNamesByKey(identityKeyToStatus.keySet()); for(BuddyGroup group:groups) { for(Buddy buddy:group.getBuddy()) { buddy.setName(nameMap.get(buddy.getIdentityKey())); @@ -378,7 +378,7 @@ public class InstantMessagingServiceImpl extends BasicManager implements Instant @Override public void listenChat(Identity identity, OLATResourceable chatResource, boolean anonym, boolean vip, GenericEventListener listener) { - String fullName = userManager.getUserDisplayName(identity.getUser()); + String fullName = userManager.getUserDisplayName(identity); rosterDao.updateRosterEntry(chatResource, identity, fullName, null, anonym, vip); dbInstance.commit(); coordinator.getCoordinator().getEventBus().registerFor(listener, identity, chatResource); diff --git a/src/main/java/org/olat/instantMessaging/ui/ChatController.java b/src/main/java/org/olat/instantMessaging/ui/ChatController.java index 143c587a84bf3b6514a284c114eb491d37e932e6..7dc51f1e0eb9ea903b8c2a5e3872b49340962ea2 100644 --- a/src/main/java/org/olat/instantMessaging/ui/ChatController.java +++ b/src/main/java/org/olat/instantMessaging/ui/ChatController.java @@ -279,7 +279,7 @@ public class ChatController extends BasicController implements GenericEventListe fromName = rosterCtrl.getNickName(); } else { anonym = false; - fromName = userManager.getUserDisplayName(getIdentity().getUser()); + fromName = userManager.getUserDisplayName(getIdentity()); } InstantMessage message; if(privateReceiverKey == null) { diff --git a/src/main/java/org/olat/instantMessaging/ui/RosterForm.java b/src/main/java/org/olat/instantMessaging/ui/RosterForm.java index cadf942bd54391dcd57e92a07f29cc78cd385520..43597bc6b49c5403e87fd550ba7f5ecd949bdc29 100644 --- a/src/main/java/org/olat/instantMessaging/ui/RosterForm.java +++ b/src/main/java/org/olat/instantMessaging/ui/RosterForm.java @@ -56,7 +56,7 @@ public class RosterForm extends FormBasicController { this.defaultAnonym = defaultAnonym; this.offerAnonymMode = offerAnonymMode; this.buddyList = buddyList; - fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(getIdentity().getUser()); + fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(getIdentity()); initForm(ureq); } diff --git a/src/main/java/org/olat/ldap/ui/IdentitySelectionTreeModel.java b/src/main/java/org/olat/ldap/ui/IdentitySelectionTreeModel.java index 7848ee4b3921e13059d5bddea4c329f95467b0be..fb16c6db8c3ed612c93dd0bb7417c8cb2cb46331 100644 --- a/src/main/java/org/olat/ldap/ui/IdentitySelectionTreeModel.java +++ b/src/main/java/org/olat/ldap/ui/IdentitySelectionTreeModel.java @@ -66,7 +66,7 @@ public class IdentitySelectionTreeModel extends GenericTreeModel implements INo for (Identity identity : identities) { // collect user name information StringBuffer sb = new StringBuffer(); - sb.append(identity.getName()).append(": "); + sb.append(identity.getName()).append(": ");//TODO username boolean first = true; // collect user properties information for (UserPropertyHandler userProperty : properHandlerList) { diff --git a/src/main/java/org/olat/modules/co/ContactForm.java b/src/main/java/org/olat/modules/co/ContactForm.java index 30cfed36344e766cc1a2db2b17a01926999c8b12..51ace2414d8bbaab3486d5e98c7a38c0247985a8 100644 --- a/src/main/java/org/olat/modules/co/ContactForm.java +++ b/src/main/java/org/olat/modules/co/ContactForm.java @@ -52,9 +52,11 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.util.CSSHelper; import org.olat.core.id.Identity; import org.olat.core.util.FileUtils; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.mail.ContactList; import org.olat.core.util.mail.MailModule; +import org.olat.user.UserManager; /** * highly configurable contact form. Depending on each field value the @@ -107,8 +109,9 @@ public class ContactForm extends FormBasicController { private Map<String,String> attachmentCss = new HashMap<String,String>(); private Map<String,String> attachmentNames = new HashMap<String,String>(); private Map<String,ContactList> contactLists = new Hashtable<String,ContactList>(); - + private final UserManager userManager; + public ContactForm(UserRequest ureq, WindowControl wControl, Identity emailFrom, boolean readOnly, boolean isCancellable, boolean hasRecipientsEditable) { super(ureq, wControl); this.emailFrom = emailFrom; @@ -116,6 +119,7 @@ public class ContactForm extends FormBasicController { this.recipientsAreEditable = hasRecipientsEditable; this.hasMsgCancel = isCancellable; this.contactAttachmentMaxSizeInMb = CoreSpringFactory.getImpl(MailModule.class).getMaxSizeForAttachement(); + userManager = CoreSpringFactory.getImpl(UserManager.class); initForm(ureq); } @@ -127,6 +131,7 @@ public class ContactForm extends FormBasicController { this.hasMsgCancel = isCancellable; this.hasMsgSave = isSaveable; this.contactAttachmentMaxSizeInMb = CoreSpringFactory.getImpl(MailModule.class).getMaxSizeForAttachement(); + userManager = CoreSpringFactory.getImpl(UserManager.class); initForm(ureq); } @@ -366,9 +371,11 @@ public class ContactForm extends FormBasicController { @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { setFormTitle("header.newcntctmsg"); - - tfrom = uifactory.addTextElement("ttfrom", NLS_CONTACT_FROM, 255, "", formLayout); - tfrom.setValue(emailFrom.getName()); + String fullName = userManager.getUserDisplayName(emailFrom); + if(StringHelper.containsNonWhitespace(fullName)) { + fullName = "<" + fullName + ">"; + } + tfrom = uifactory.addTextElement("ttfrom", NLS_CONTACT_FROM, 255, fullName, formLayout); tfrom.setEnabled(false); tto = uifactory.addTextElement("tto", NLS_CONTACT_TO, 255, "", formLayout); diff --git a/src/main/java/org/olat/modules/fo/FilterForUserController.java b/src/main/java/org/olat/modules/fo/FilterForUserController.java index 597ca831485a8fcc18bedffa7dc712e61372ae01..a390eba44b0a0c126e47105b2b56057939c34d6e 100644 --- a/src/main/java/org/olat/modules/fo/FilterForUserController.java +++ b/src/main/java/org/olat/modules/fo/FilterForUserController.java @@ -480,7 +480,7 @@ public class FilterForUserController extends BasicController { searchValue = searchValue == null ? null : searchValue.toLowerCase(); for(UserInfo info:stats) { Identity identity = info.getIdentity(); - String name = identity.getName(); + String name = identity.getName();//TODO username if(identity.getName().startsWith(searchValue)) { receiver.addEntry(name, name, info.getLastName() + " " + info.getFirstName(), CSSHelper.CSS_CLASS_USER); @@ -540,7 +540,7 @@ public class FilterForUserController extends BasicController { public UserInfo getUserInfo(String username) { for(UserInfo info:infos) { Identity id = info.getIdentity(); - if(username.equals(id.getName())) { + if(username.equals(id.getName())) {//TODO username return info; } } diff --git a/src/main/java/org/olat/modules/fo/ForumController.java b/src/main/java/org/olat/modules/fo/ForumController.java index 516f743b979456df1b10539468fe99df710e42c0..d72ef0a18d70707c27d3aba672d500224cd6241b 100644 --- a/src/main/java/org/olat/modules/fo/ForumController.java +++ b/src/main/java/org/olat/modules/fo/ForumController.java @@ -103,6 +103,7 @@ import org.olat.portfolio.EPUIFactory; import org.olat.search.SearchServiceUIFactory; import org.olat.search.SearchServiceUIFactory.DisplayOption; import org.olat.user.DisplayPortraitController; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -192,7 +193,7 @@ public class ForumController extends BasicController implements GenericEventList private final OLATResourceable forumOres; private final BaseSecurityModule securityModule; - + private final UserManager userManager; /** * @param forum @@ -207,6 +208,8 @@ public class ForumController extends BasicController implements GenericEventList securityModule = CoreSpringFactory.getImpl(BaseSecurityModule.class); addLoggingResourceable(LoggingResourceable.wrap(forum)); + userManager = CoreSpringFactory.getImpl(UserManager.class); + forumOres = OresHelper.createOLATResourceableInstance(Forum.class,forum.getKey()); f = Formatter.getInstance(ureq.getLocale()); fm = ForumManager.getInstance(); @@ -851,9 +854,7 @@ public class ForumController extends BasicController implements GenericEventList if (m.getCreator().getStatus().equals(Identity.STATUS_DELETED)) { return m.getCreator().getName(); } else { - String last = m.getCreator().getUser().getProperty(UserConstants.LASTNAME, getLocale()); - String first = m.getCreator().getUser().getProperty(UserConstants.FIRSTNAME, getLocale()); - return last + " " + first; + return userManager.getUserDisplayName(m.getCreator()); } case 2 : Date mod = m.getLastModified(); diff --git a/src/main/java/org/olat/modules/fo/ForumManager.java b/src/main/java/org/olat/modules/fo/ForumManager.java index bba41f7f071ce7c11dd3ba36f8d62eb68a087376..b2cab63af4831addc46fdd561667843e6f3be7c4 100644 --- a/src/main/java/org/olat/modules/fo/ForumManager.java +++ b/src/main/java/org/olat/modules/fo/ForumManager.java @@ -34,6 +34,8 @@ import java.util.List; import java.util.Locale; import java.util.Set; +import javax.persistence.TemporalType; + import org.hibernate.type.StandardBasicTypes; import org.hibernate.type.Type; import org.olat.core.CoreSpringFactory; @@ -284,11 +286,11 @@ public class ForumManager extends BasicManager { .append(" inner join fetch msg.creator as creator") .append(" where msg.forum.key =:forumKey and msg.lastModified>:latestRead order by msg.lastModified desc"); - DBQuery dbquery = DBFactory.getInstance().createQuery(query.toString()); - dbquery.setLong("forumKey", forumKey.longValue()); - dbquery.setTimestamp("latestRead", latestRead); - dbquery.setCacheable(true); - return dbquery.list(); + return DBFactory.getInstance().getCurrentEntityManager() + .createQuery(query.toString(), Message.class) + .setParameter("forumKey", forumKey.longValue()) + .setParameter("latestRead", latestRead, TemporalType.TIMESTAMP) + .getResultList(); } /** diff --git a/src/main/java/org/olat/modules/fo/ThreadColumnDescriptor.java b/src/main/java/org/olat/modules/fo/ThreadColumnDescriptor.java index c15bb9d217c753f255075d001ef48106f1b74cdf..4270e683948433c6c5133d09875dc179f68def4a 100644 --- a/src/main/java/org/olat/modules/fo/ThreadColumnDescriptor.java +++ b/src/main/java/org/olat/modules/fo/ThreadColumnDescriptor.java @@ -52,7 +52,7 @@ public class ThreadColumnDescriptor extends DefaultColumnDescriptor { private static final int MAXINDENTS = 20; private static final String[] INDENTS; - private List messages; + private List<Message> messages; private TreeWalker tw; private boolean toIndent; @@ -165,7 +165,7 @@ public class ThreadColumnDescriptor extends DefaultColumnDescriptor { // need the // traversal order // after sorting - Iterator mit = messages.iterator(); + Iterator<Message> mit = messages.iterator(); while (mit.hasNext()) { Message m = (Message) mit.next(); tw.addRelationship(m, m.getParent()); @@ -224,12 +224,5 @@ public class ThreadColumnDescriptor extends DefaultColumnDescriptor { public void otherColumnDescriptorSorted() { toIndent = false; } - - - public String toString(int rowid) { - String retVal = super.toString(rowid); - Message m = (Message)messages.get(getTable().getSortedRow(rowid)); - return retVal+m.getTitle()+m.getCreator().getName(); - } } diff --git a/src/main/java/org/olat/modules/iq/IQManager.java b/src/main/java/org/olat/modules/iq/IQManager.java index 5dc8d17baed657c392e0d7940e358b3495346721..785902f61f66d7df7fd44c1f94aebe357e08eb5d 100644 --- a/src/main/java/org/olat/modules/iq/IQManager.java +++ b/src/main/java/org/olat/modules/iq/IQManager.java @@ -87,6 +87,7 @@ import org.olat.modules.ModuleConfiguration; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; import org.olat.user.UserDataDeletable; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -97,6 +98,8 @@ public class IQManager extends BasicManager implements UserDataDeletable { private static IQManager INSTANCE; + private UserManager userManager; + /** * [spring] */ @@ -111,8 +114,14 @@ public class IQManager extends BasicManager implements UserDataDeletable { return INSTANCE; } - - //--- methods for controller creation + /** + * [user by Spring] + * @param userManager + */ + public void setUserManager(UserManager userManager) { + this.userManager = userManager; + } + /** * IMS QTI Display Controller from within course -> moduleConfiguration * @@ -131,8 +140,9 @@ public class IQManager extends BasicManager implements UserDataDeletable { Translator translator = Util.createPackageTranslator(this.getClass(), ureq.getLocale()); //so this resource is locked, let's find out who locked it LockResult lockResult = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(re.getOlatResource(), ureq.getIdentity(), null); + String fullName = userManager.getUserDisplayName(lockResult.getOwner()); return MessageUIFactory.createInfoMessage(ureq, wControl, translator.translate("status.currently.locked.title"), - translator.translate("status.currently.locked", new String[] {lockResult.getOwner().getName()})); + translator.translate("status.currently.locked", new String[] { fullName })); }else{ ThreadLocalUserActivityLogger.addLoggingResourceInfo(LoggingResourceable.wrap(re, OlatResourceableType.iq)); return new IQDisplayController(moduleConfiguration, secCallback, ureq, wControl, callingResId, callingResDetail, delegate); diff --git a/src/main/java/org/olat/modules/iq/_spring/iqContext.xml b/src/main/java/org/olat/modules/iq/_spring/iqContext.xml index f9a6bf8a842dcf62cf367dda150d69c9b41cf160..d8b00d9e474c1ee0b18a8b98e0393402d227c3f5 100644 --- a/src/main/java/org/olat/modules/iq/_spring/iqContext.xml +++ b/src/main/java/org/olat/modules/iq/_spring/iqContext.xml @@ -6,5 +6,7 @@ http://www.springframework.org/schema/beans/spring-beans.xsd"> - <bean id="iQManager" class="org.olat.modules.iq.IQManager"/> + <bean id="iQManager" class="org.olat.modules.iq.IQManager"> + <property name="userManager" ref="userManager" /> + </bean> </beans> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java index ce54de2d5653e13e34d06f61efcd4915e01ac9dd..fd37b4755aba70a5f29a8206328838fea61a426f 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataController.java @@ -120,7 +120,7 @@ public class RightsMetadataController extends FormBasicController { List<String> authorLinks = new ArrayList<String>(authors.size()); int pos = 0; for(Identity author:authors) { - String name = userManager.getUserDisplayName(author.getUser()); + String name = userManager.getUserDisplayName(author); FormLink link = uifactory.addFormLink("author_" + pos++, name, null, authorCont, Link.NONTRANSLATED); link.setUserObject(author); authorLinks.add(link.getComponent().getComponentName()); diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataEditController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataEditController.java index 686023cb5a196f8bd9819fb6b6ee01c7ba1b8cea..8d0244bfb38f31a5e0d633bb14a315c8e59554ec 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataEditController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/RightsMetadataEditController.java @@ -138,7 +138,7 @@ public class RightsMetadataEditController extends FormBasicController { List<String> authorLinks = new ArrayList<String>(authors.size()); int pos = 0; for(Identity author:authors) { - String name = userManager.getUserDisplayName(author.getUser()); + String name = userManager.getUserDisplayName(author); FormLink link = uifactory.addFormLink("author_" + pos++, name, null, authorCont, Link.NONTRANSLATED); link.setUserObject(author); authorLinks.add(link.getComponent().getComponentName()); diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java index 5948082992cf93ad040e13516269ccbcf294aa87..494938d3a6762d930b4c5bc3a7b0ab8fee8aa9f1 100644 --- a/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java +++ b/src/main/java/org/olat/modules/qpool/ui/metadata/SharingController.java @@ -169,7 +169,7 @@ public class SharingController extends FormBasicController { public Object getValueAt(int row, int col) { Identity id = getObject(row); if(col == 0) { - return UserManager.getInstance().getUserDisplayName(id.getUser()); + return UserManager.getInstance().getUserDisplayName(id); } return null; } diff --git a/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java b/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java index e016fe7e75bed932e5b34f36e618177d21274b43..29d5de14f99dddc46845bb3e1a9788204547d5e4 100644 --- a/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java +++ b/src/main/java/org/olat/modules/scorm/ScormAPIMapper.java @@ -132,7 +132,7 @@ public class ScormAPIMapper implements Mapper, ScormAPICallback, Serializable { if(scormAdapter == null) { try { scormAdapter = new OLATApiAdapter(); - String fullname = UserManager.getInstance().getUserDisplayName(identity.getUser()); + String fullname = UserManager.getInstance().getUserDisplayName(identity); scormAdapter.init(cpRoot, resourceId, courseIdNodeId, FolderConfig.getCanonicalRoot(), identity.getName(), fullname, lesson_mode, credit_mode, hashCode()); scormAdapter.addAPIListener(this); } catch (IOException e) { diff --git a/src/main/java/org/olat/modules/scorm/ScormAPIandDisplayController.java b/src/main/java/org/olat/modules/scorm/ScormAPIandDisplayController.java index ad6adb8a724b5324c753009ff0f084868d7acd54..78aa463444b487b8ef19ed1b948f2027921bc8f5 100644 --- a/src/main/java/org/olat/modules/scorm/ScormAPIandDisplayController.java +++ b/src/main/java/org/olat/modules/scorm/ScormAPIandDisplayController.java @@ -129,7 +129,7 @@ public class ScormAPIandDisplayController extends MainLayoutBasicController impl try { scormAdapter = new OLATApiAdapter(); scormAdapter.addAPIListener(apiCallback); - String fullname = UserManager.getInstance().getUserDisplayName(getIdentity().getUser()); + String fullname = UserManager.getInstance().getUserDisplayName(getIdentity()); String scormResourceIdStr = scormResourceId == null ? null : scormResourceId.toString(); scormAdapter.init(cpRoot, scormResourceIdStr, courseIdNodeId, FolderConfig.getCanonicalRoot(), username, fullname, lesson_mode, credit_mode, hashCode()); } catch (IOException e) { diff --git a/src/main/java/org/olat/modules/tu/TunnelComponent.java b/src/main/java/org/olat/modules/tu/TunnelComponent.java index 6d239554aabeb56ad59e0b35dffec6d7c3436dce..ddfa5f82bd5d14c3e51406f3c6d0835418dec353 100644 --- a/src/main/java/org/olat/modules/tu/TunnelComponent.java +++ b/src/main/java/org/olat/modules/tu/TunnelComponent.java @@ -175,7 +175,7 @@ public class TunnelComponent extends Component implements AsyncMediaResponsible * @param userRequest */ private void fillTURequestWithUserInfo(TURequest tuRequest, UserRequest userRequest){ - String userName = userRequest.getIdentity().getName(); + String userName = userRequest.getIdentity().getName();//TODO username User u = userRequest.getIdentity().getUser(); String lastName = u.getProperty(UserConstants.LASTNAME, loc); String firstName = u.getProperty(UserConstants.FIRSTNAME, loc); diff --git a/src/main/java/org/olat/modules/webFeed/models/Item.java b/src/main/java/org/olat/modules/webFeed/models/Item.java index 674d3e87914168bb0e34e1de3eca363d30532c0b..5d0e9c737fa1fcb2f0e7b3602d91dead0e055efa 100644 --- a/src/main/java/org/olat/modules/webFeed/models/Item.java +++ b/src/main/java/org/olat/modules/webFeed/models/Item.java @@ -23,12 +23,14 @@ import java.io.Serializable; import java.util.Date; import org.olat.basesecurity.BaseSecurityManager; +import org.olat.core.CoreSpringFactory; import org.olat.core.commons.controllers.navigation.Dated; import org.olat.core.gui.components.form.flexible.elements.FileElement; import org.olat.core.id.Identity; import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.util.StringHelper; +import org.olat.user.UserManager; /** * This is the feed item class. A feed has many items. Implements Serializable @@ -40,6 +42,8 @@ import org.olat.core.util.StringHelper; * @authorKey Gregor Wassmann */ public class Item implements Serializable, Dated { + + private static final long serialVersionUID = 8856863396847065934L; private String title; private String description, content; // The authorKey corresponds to the olat identity key of the user that created @@ -175,7 +179,7 @@ public class Item implements Serializable, Dated { if (user == null) { modifierName = modifier = identity.getName(); } else { - modifierName = modifier = user.getProperty(UserConstants.FIRSTNAME, null) + " " + user.getProperty(UserConstants.LASTNAME, null); + modifierName = modifier = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(identity); } } } diff --git a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java index f83d9c6998478c52c37c53f16afb05dd0dd96a19..223cdda9771c49712d120b71b50261a9e5e5fcd6 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java @@ -21,6 +21,7 @@ package org.olat.modules.webFeed.ui; import java.util.List; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.elements.FileElement; @@ -47,6 +48,7 @@ import org.olat.modules.webFeed.FeedViewHelper; import org.olat.modules.webFeed.managers.FeedManager; import org.olat.modules.webFeed.models.Feed; import org.olat.modules.webFeed.models.Item; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -75,6 +77,8 @@ public class FeedMainController extends BasicController implements Activateable2 // needed for comparison private String oldFeedUrl; + private final UserManager userManager; + /** * Constructor for learning resource (not course nodes) * @@ -103,6 +107,7 @@ public class FeedMainController extends BasicController implements Activateable2 super(ureq, wControl); this.uiFactory = uiFactory; this.callback = callback; + userManager = CoreSpringFactory.getImpl(UserManager.class); setTranslator(uiFactory.getTranslator()); feed = feedManager.getFeed(ores); helper = new FeedViewHelper(feed, getIdentity(), uiFactory.getTranslator(), courseId, nodeId, callback); @@ -182,7 +187,8 @@ public class FeedMainController extends BasicController implements Activateable2 feedFormCtr = new FeedFormController(ureq, getWindowControl(), feed, uiFactory); activateModalDialog(feedFormCtr); } else { - showInfo("feed.is.being.edited.by", lock.getOwner().getName()); + String fullName = userManager.getUserDisplayName(lock.getOwner()); + showInfo("feed.is.being.edited.by", fullName); } } } diff --git a/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java b/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java index d4cff5b914175b014397b929e16b3ca3bf8ebad5..b10c47992c6a2e754d578f5d27654b57389e4290 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/ItemsController.java @@ -72,6 +72,7 @@ import org.olat.portfolio.EPUIFactory; import org.olat.user.HomePageConfigManager; import org.olat.user.HomePageConfigManagerImpl; import org.olat.user.UserInfoMainController; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -110,6 +111,8 @@ public class ItemsController extends BasicController implements Activateable2 { private FeedItemDisplayConfig displayConfig; public static Event HANDLE_NEW_EXTERNAL_FEED_DIALOG_EVENT = new Event("cmd.handle.new.external.feed.dialog"); public static Event FEED_INFO_IS_DIRTY_EVENT = new Event("cmd.feed.info.is.dirty"); + + private final UserManager userManager; /** * default constructor, with full FeedItemDisplayConfig @@ -140,6 +143,8 @@ public class ItemsController extends BasicController implements Activateable2 { public ItemsController(final UserRequest ureq, final WindowControl wControl, final Feed feed, final FeedViewHelper helper, final FeedUIFactory uiFactory, final FeedSecurityCallback callback, final VelocityContainer vcRightColumn, FeedItemDisplayConfig displayConfig) { super(ureq, wControl); + + userManager = CoreSpringFactory.getImpl(UserManager.class); if (displayConfig == null) { displayConfig = new FeedItemDisplayConfig(true, true, true); } @@ -409,7 +414,8 @@ public class ItemsController extends BasicController implements Activateable2 { itemFormCtr = uiFactory.createItemFormController(ureq, getWindowControl(), currentItem, feed); activateModalDialog(itemFormCtr); } else { - showInfo("feed.item.is.being.edited.by", lock.getOwner().getName()); + String fullName = userManager.getUserDisplayName(lock.getOwner()); + showInfo("feed.item.is.being.edited.by", fullName); } } else { showInfo("feed.item.is.being.edited.by", "unknown"); @@ -586,7 +592,8 @@ public class ItemsController extends BasicController implements Activateable2 { ThreadLocalUserActivityLogger.log(FeedLoggingAction.FEED_ITEM_DELETE, getClass(), LoggingResourceable.wrap(item)); } else { - showInfo("feed.item.is.being.edited.by", lock.getOwner().getName()); + String fullName = userManager.getUserDisplayName(lock.getOwner()); + showInfo("feed.item.is.being.edited.by", fullName); } } else if (source == itemFormCtr) { diff --git a/src/main/java/org/olat/modules/wiki/MediaFilesTableModel.java b/src/main/java/org/olat/modules/wiki/MediaFilesTableModel.java index f2590a5806f87836889bd7d72822c2f2554e8e60..eb86a7a4088bb6cdc12d25ee5c247588f87e6950 100644 --- a/src/main/java/org/olat/modules/wiki/MediaFilesTableModel.java +++ b/src/main/java/org/olat/modules/wiki/MediaFilesTableModel.java @@ -28,6 +28,7 @@ import java.util.Date; import java.util.List; import org.olat.basesecurity.BaseSecurityManager; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.components.table.CustomCssCellRenderer; import org.olat.core.gui.components.table.CustomRenderColumnDescriptor; import org.olat.core.gui.components.table.DefaultColumnDescriptor; @@ -35,6 +36,7 @@ import org.olat.core.gui.components.table.DefaultTableDataModel; import org.olat.core.gui.components.table.TableController; import org.olat.core.gui.translator.Translator; import org.olat.core.util.Formatter; +import org.olat.user.UserManager; /** * Description:<br> @@ -44,13 +46,15 @@ import org.olat.core.util.Formatter; * * @author guido */ -public class MediaFilesTableModel extends DefaultTableDataModel { +public class MediaFilesTableModel extends DefaultTableDataModel<MediaFileElement> { private static final int COLUMN_COUNT = 5; private Formatter formatter; + private UserManager userManager; - public MediaFilesTableModel(List objects, Translator trans) { + public MediaFilesTableModel(List<MediaFileElement> objects, Translator trans) { super(objects); setLocale(trans.getLocale()); + userManager = CoreSpringFactory.getImpl(UserManager.class); formatter = Formatter.getInstance(trans.getLocale()); } @@ -82,13 +86,13 @@ public class MediaFilesTableModel extends DefaultTableDataModel { case 1: long identKey = entry.getCreatedBy(); if (identKey == 0) return "---"; - return BaseSecurityManager.getInstance().loadIdentityByKey(identKey).getName(); + return userManager.getUserDisplayName(new Long(identKey));//TODO username case 2: return formatter.formatDateAndTime(new Date(entry.getCreationDate())); case 3: long key = entry.getDeletedBy(); if (key == 0) return "---"; - return BaseSecurityManager.getInstance().loadIdentityByKey(key).getName(); + return userManager.getUserDisplayName(new Long(key));//TODO username case 4: long delDate = entry.getDeletionDate(); if (delDate == 0) return "---"; diff --git a/src/main/java/org/olat/modules/wiki/versioning/HistoryTableDateModel.java b/src/main/java/org/olat/modules/wiki/versioning/HistoryTableDateModel.java index 1644fb8dd4743758fa9a6bb48dc7691f7846ea5f..ee92de4b59c5ccb0324e1f973a5404a47925e5cd 100644 --- a/src/main/java/org/olat/modules/wiki/versioning/HistoryTableDateModel.java +++ b/src/main/java/org/olat/modules/wiki/versioning/HistoryTableDateModel.java @@ -29,7 +29,7 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import org.olat.basesecurity.BaseSecurityManager; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.components.table.DefaultColumnDescriptor; import org.olat.core.gui.components.table.DefaultTableDataModel; import org.olat.core.gui.components.table.TableController; @@ -37,6 +37,7 @@ import org.olat.core.gui.components.table.TableDataModel; import org.olat.core.gui.translator.Translator; import org.olat.modules.wiki.WikiMainController; import org.olat.modules.wiki.WikiPage; +import org.olat.user.UserManager; /** * Description:<br> @@ -46,13 +47,15 @@ import org.olat.modules.wiki.WikiPage; * * @author guido */ -public class HistoryTableDateModel extends DefaultTableDataModel implements TableDataModel { +public class HistoryTableDateModel extends DefaultTableDataModel<WikiPage> implements TableDataModel<WikiPage> { - private Translator trans; + private final Translator trans; + private final UserManager userManager; - public HistoryTableDateModel(List entries, Translator trans) { + public HistoryTableDateModel(List<WikiPage> entries, Translator trans) { super(entries); this.trans = trans; + userManager = CoreSpringFactory.getImpl(UserManager.class); } private static final int COLUMN_COUNT = 3; @@ -68,7 +71,7 @@ public class HistoryTableDateModel extends DefaultTableDataModel implements Tabl * @see org.olat.core.gui.components.table.TableDataModel#getValueAt(int, int) */ public Object getValueAt(int row, int col) { - WikiPage page = (WikiPage) objects.get(row); + WikiPage page = getObject(row); switch (col) { case 0: return String.valueOf(page.getVersion()); @@ -78,8 +81,7 @@ public class HistoryTableDateModel extends DefaultTableDataModel implements Tabl return String.valueOf(page.getViewCount()); case 3: long key = page.getModifyAuthor(); - return key != 0 ? BaseSecurityManager.getInstance().loadIdentityByKey(Long.valueOf(page.getModifyAuthor())).getName() :"n/a"; - //TODO:gs:a loadIdenitiesByKeys(List keys) would be much more performant as each lookup get one database lookup + return userManager.getUserDisplayName(new Long(key)); case 4: int v = page.getVersion(); if(v == 0) return new String(""); diff --git a/src/main/java/org/olat/note/NoteController.java b/src/main/java/org/olat/note/NoteController.java index 590c3d66d0381df9de52b59060e2adeb061e6dc8..98916c2363aca4692d6ba2d25f95a790c0c73918 100644 --- a/src/main/java/org/olat/note/NoteController.java +++ b/src/main/java/org/olat/note/NoteController.java @@ -137,7 +137,7 @@ public class NoteController extends FormBasicController implements GenericEventL nm.saveNote(n); Long newKey = n.getKey(); OLATResourceable ores = OresHelper.createOLATResourceableInstance(Note.class, newKey); - sec.fireEventToListenersOf(new NoteEvent(getIdentity().getName()), ores); + sec.fireEventToListenersOf(new NoteEvent(getIdentity().getKey()), ores); } else { nm.updateNote(n); } diff --git a/src/main/java/org/olat/note/NoteEvent.java b/src/main/java/org/olat/note/NoteEvent.java index b85c4b918006ec7123ca57be95ed8d0dc9dae825..a72286368279590edea8310128c9fb395ed1ea2b 100644 --- a/src/main/java/org/olat/note/NoteEvent.java +++ b/src/main/java/org/olat/note/NoteEvent.java @@ -37,16 +37,19 @@ import org.olat.core.util.event.MultiUserEvent; */ public class NoteEvent extends MultiUserEvent { - private final String username; + private static final long serialVersionUID = -9028075258477862700L; + private final Long identityKey; + /** * @param username */ - public NoteEvent(String username) { + public NoteEvent(Long identityKey) { super("note_event"); - this.username = username; + this.identityKey = identityKey; } - - public String getUsername() { - return username; + public Long getIdentityKey() { + return identityKey; } + + } diff --git a/src/main/java/org/olat/note/NoteManager.java b/src/main/java/org/olat/note/NoteManager.java index 1f7e565d7c56f4a1598c6091150b9647b18d7ac5..52b568a37d7ffa912885a40c2553f145713b21fb 100644 --- a/src/main/java/org/olat/note/NoteManager.java +++ b/src/main/java/org/olat/note/NoteManager.java @@ -177,7 +177,7 @@ public class NoteManager extends BasicManager implements UserDataDeletable { */ private void fireBookmarkEvent(Identity identity) { //event this identity - NoteEvent noteEvent = new NoteEvent(identity.getName()); + NoteEvent noteEvent = new NoteEvent(identity.getKey()); OLATResourceable eventBusOres = OresHelper.createOLATResourceableInstance(Identity.class, identity.getKey()); //TODO: LD: use SingleUserEventCenter CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(noteEvent, eventBusOres); diff --git a/src/main/java/org/olat/note/NotesPortletRunController.java b/src/main/java/org/olat/note/NotesPortletRunController.java index 751d34c1bb6555f060d2c037c71604e3f8143984..ffb7fe115f78411120daf18e1bf80bfb8af815bd 100644 --- a/src/main/java/org/olat/note/NotesPortletRunController.java +++ b/src/main/java/org/olat/note/NotesPortletRunController.java @@ -188,7 +188,7 @@ public class NotesPortletRunController extends AbstractPortletRunController<Note */ public void event(Event event) { if(event instanceof NoteEvent) { - if(((NoteEvent)event).getUsername().equals(getIdentity().getName())) { + if(((NoteEvent)event).getIdentityKey().equals(getIdentity().getKey())) { reloadModel(sortingCriteria); } } diff --git a/src/main/java/org/olat/notifications/PersonalRSSFeed.java b/src/main/java/org/olat/notifications/PersonalRSSFeed.java index 5000b50569006adea99f849f9c4b0a780328e4e2..c671e92395dc46b6016cb802b2e15881e7100698 100644 --- a/src/main/java/org/olat/notifications/PersonalRSSFeed.java +++ b/src/main/java/org/olat/notifications/PersonalRSSFeed.java @@ -76,9 +76,9 @@ public class PersonalRSSFeed extends SyndFeedImpl { NotificationsManager man = NotificationsManager.getInstance(); //TODO bookmark List<Bookmark> bookmarks = BookmarkManager.getInstance().findBookmarksByIdentity(identity); - setTitle(translator.translate("rss.title", new String[] { identity.getName() })); + setTitle(translator.translate("rss.title", new String[] { identity.getName() }));//TODO username setLink(RSSUtil.URI_SERVER); - setDescription(translator.translate("rss.description", new String[] { identity.getName() })); + setDescription(translator.translate("rss.description", new String[] { identity.getName() }));//TODO username // create and add an image to the feed SyndImage image = new SyndImageImpl(); diff --git a/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java b/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java index c60aee2ed800deda4fb66806b9800d5a1e63bb99..7e04b6b23918a2a901113e63d545d8a42ed0653b 100755 --- a/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java +++ b/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java @@ -1255,7 +1255,7 @@ public class EPFrontendManager extends BasicManager { List<Identity> ownerIdents = securityManager.getIdentitiesOfSecurityGroup(map.getOwnerGroup(), 0, 1); if(ownerIdents.size() > 0){ Identity id = ownerIdents.get(0); - return userManager.getUserDisplayName(id.getUser()); + return userManager.getUserDisplayName(id); } return "n/a"; } diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/ArtefactTableDataModel.java b/src/main/java/org/olat/portfolio/ui/artefacts/view/ArtefactTableDataModel.java index 4d4cf1c79d96e25fd694816b98a4100f0435e9bd..4d8aa236a045859675bc59f5e19c4c962b822870 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/view/ArtefactTableDataModel.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/ArtefactTableDataModel.java @@ -26,6 +26,7 @@ import org.olat.core.gui.components.table.DefaultTableDataModel; import org.olat.core.util.StringHelper; import org.olat.portfolio.manager.EPFrontendManager; import org.olat.portfolio.model.artefacts.AbstractArtefact; +import org.olat.user.UserManager; /** * Description:<br> @@ -36,12 +37,14 @@ import org.olat.portfolio.model.artefacts.AbstractArtefact; * * @author Roman Haag, roman.haag@frentix.com, http://www.frentix.com */ -public class ArtefactTableDataModel extends DefaultTableDataModel { +public class ArtefactTableDataModel extends DefaultTableDataModel<AbstractArtefact> { - private EPFrontendManager ePFMgr; + private final UserManager userManager; + private final EPFrontendManager ePFMgr; public ArtefactTableDataModel(List<AbstractArtefact> artefacts) { super(artefacts); + userManager = CoreSpringFactory.getImpl(UserManager.class); ePFMgr = (EPFrontendManager) CoreSpringFactory.getBean("epFrontendManager"); } @@ -68,7 +71,7 @@ public class ArtefactTableDataModel extends DefaultTableDataModel { case 2: return artefact.getCreationDate(); case 3: - return artefact.getAuthor().getName(); + return userManager.getUserDisplayName(artefact.getAuthor()); case 4: List<String> artTags = ePFMgr.getArtefactTags(artefact); return StringHelper.formatAsCSVString(artTags); diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPMultipleArtefactsAsTableController.java b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPMultipleArtefactsAsTableController.java index 51ab1d3460f2878befe2c76d8057c3b7f3eb4e18..6a96b3fa180451f464f3dd9be7bbb38860f97f86 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPMultipleArtefactsAsTableController.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPMultipleArtefactsAsTableController.java @@ -209,7 +209,6 @@ public class EPMultipleArtefactsAsTableController extends BasicController implem /** * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event) */ - @SuppressWarnings("unused") @Override protected void event(UserRequest ureq, Component source, Event event) { // diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPShareListController.java b/src/main/java/org/olat/portfolio/ui/structel/EPShareListController.java index 1da5bb1dbc7fdb424f97d5aa36a5a8549474457e..6db4fa486e8e457b5655e146db69aa73a4b2c8b8 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/EPShareListController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/EPShareListController.java @@ -593,7 +593,7 @@ public class EPShareListController extends FormBasicController { protected String formatIdentity(Identity ident) { User u = ident.getUser(); - String login = ident.getName(); + String login = ident.getName();//TODO username String first = u.getProperty(UserConstants.FIRSTNAME, null); String last = u.getProperty(UserConstants.LASTNAME, null); return login + ": " + last + " " + first; @@ -613,7 +613,7 @@ public class EPShareListController extends FormBasicController { boolean hasMore = false; for (Identity ident:res) { maxEntries--; - String login = ident.getName(); + String login = ident.getName();//TODO username resMap.put(formatIdentity(ident), login); if(maxEntries <= 0) { hasMore = true; @@ -767,7 +767,7 @@ public class EPShareListController extends FormBasicController { Map<String,String> values = new HashMap<String,String>(); for(Identity identity:mapPolicy.getIdentities()) { - String login = identity.getName(); + String login = identity.getName();//TODO username values.put(formatIdentity(identity), login); } return values; diff --git a/src/main/java/org/olat/registration/PwChangeController.java b/src/main/java/org/olat/registration/PwChangeController.java index 0dc96daf286ee7df8357715f2e10c5733e268a98..761f0589b986603af56a5417bb782efd1defa51c 100644 --- a/src/main/java/org/olat/registration/PwChangeController.java +++ b/src/main/java/org/olat/registration/PwChangeController.java @@ -226,7 +226,7 @@ public class PwChangeController extends BasicController { TemporaryKey tk = rm.loadTemporaryKeyByEmail(emailAdress); if (tk == null) tk = rm.createTemporaryKeyByEmail(emailAdress, ip, RegistrationManager.PW_CHANGE); myContent.contextPut("pwKey", tk.getRegistrationKey()); - body = userTrans.translate("pwchange.intro", new String[] { identity.getName() }) + body = userTrans.translate("pwchange.intro", new String[] { identity.getName() })//TODO username + userTrans.translate("pwchange.body", new String[] { serverpath, tk.getRegistrationKey(), I18nManager.getInstance().getLocaleKey(ureq.getLocale()) }) + SEPARATOR + userTrans.translate("reg.wherefrom", new String[] { serverpath, today, ip }); diff --git a/src/main/java/org/olat/repository/RepositoryMailing.java b/src/main/java/org/olat/repository/RepositoryMailing.java index 1a5f6894899ea07536bb2087b43d69e8bce60a7d..d273166f52bb486b518b4daf9ead65e71d8ca72d 100644 --- a/src/main/java/org/olat/repository/RepositoryMailing.java +++ b/src/main/java/org/olat/repository/RepositoryMailing.java @@ -168,7 +168,7 @@ public class RepositoryMailing { User user = identity.getUser(); context.put("firstname", user.getProperty(UserConstants.FIRSTNAME, null)); context.put("lastname", user.getProperty(UserConstants.LASTNAME, null)); - context.put("login", identity.getName()); + context.put("login", identity.getName());//TODO username // Put variables from greater context context.put("coursename", reName); context.put("coursedescription", redescription); diff --git a/src/main/java/org/olat/repository/RepositoryTableModel.java b/src/main/java/org/olat/repository/RepositoryTableModel.java index 039a0fb231ac564812f14bdd315d496c3ef58bf8..d1b8d260be23e14d4a0cfc120c903d9dfb14c6ab 100644 --- a/src/main/java/org/olat/repository/RepositoryTableModel.java +++ b/src/main/java/org/olat/repository/RepositoryTableModel.java @@ -34,8 +34,6 @@ import java.util.Locale; import java.util.Map; import java.util.Set; -import org.olat.basesecurity.BaseSecurity; -import org.olat.basesecurity.IdentityShort; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.components.table.ColumnDescriptor; import org.olat.core.gui.components.table.CustomCellRenderer; @@ -46,10 +44,8 @@ import org.olat.core.gui.components.table.StaticColumnDescriptor; import org.olat.core.gui.components.table.TableController; import org.olat.core.gui.translator.PackageTranslator; import org.olat.core.gui.translator.Translator; -import org.olat.core.id.Identity; import org.olat.core.util.StringHelper; import org.olat.login.LoginModule; -import org.olat.properties.Property; import org.olat.resource.accesscontrol.ACService; import org.olat.resource.accesscontrol.model.OLATResourceAccess; import org.olat.user.UserManager; @@ -82,7 +78,6 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> private final Translator translator; // package-local to avoid synthetic accessor method. private final ACService acService; private final UserManager userManager; - private final BaseSecurity securityManager; private final Map<Long,OLATResourceAccess> repoEntriesWithOffer = new HashMap<Long,OLATResourceAccess>();; private final Map<String,String> fullNames = new HashMap<String, String>(); @@ -97,7 +92,6 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> acService = CoreSpringFactory.getImpl(ACService.class); userManager = CoreSpringFactory.getImpl(UserManager.class); - securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); } /** @@ -254,10 +248,8 @@ public class RepositoryTableModel extends DefaultTableDataModel<RepositoryEntry> } if(!newNames.isEmpty()) { - for(IdentityShort identity: securityManager.findShortIdentitiesByName(newNames)) { - String fullname = userManager.getUserDisplayName(identity); - fullNames.put(identity.getName(), fullname); - } + Map<String,String> newFullnames = userManager.getUserDisplayNamesByUserName(newNames); + fullNames.putAll(newFullnames); } } diff --git a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java index f48f45c10efb8026826f8b5d1c1248fb6df22c85..d4f03e6c2f49799dd49f09437e809746f9e090af 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryDetailsController.java @@ -750,10 +750,12 @@ public class RepositoryDetailsController extends BasicController implements Gene fireEvent(ureq, Event.FAILED_EVENT); } } else if(lockResult!=null && lockResult.isSuccess() && isAlreadyLocked) { - showInfo("warning.course.alreadylocked.bySameUser", lockResult.getOwner().getName()); + String fullName = userManager.getUserDisplayName(lockResult.getOwner()); + showInfo("warning.course.alreadylocked.bySameUser", fullName); lockResult = null; //invalid lock, it was already locked } else { - showInfo("warning.course.alreadylocked", lockResult.getOwner().getName()); + String fullName = userManager.getUserDisplayName(lockResult.getOwner()); + showInfo("warning.course.alreadylocked", fullName); } } finally { @@ -787,8 +789,9 @@ public class RepositoryDetailsController extends BasicController implements Gene } else if (lockResult!=null && lockResult.isSuccess() && isAlreadyLocked) { showWarning("warning.course.alreadylocked.bySameUser"); lockResult = null; - } else { - showWarning("warning.course.alreadylocked", lockResult.getOwner().getName()); + } else { + String fullName = userManager.getUserDisplayName(lockResult.getOwner()); + showWarning("warning.course.alreadylocked", fullName); } } diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java b/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java index a7e2ee1887b4a788139afe6913bff7d3eec7203f..31b468420c14acd4733a4452ce6f4be19ff01789 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryEditDescriptionController.java @@ -31,7 +31,6 @@ import java.util.Set; import java.util.UUID; import org.olat.ControllerFactory; -import org.olat.basesecurity.BaseSecurity; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; @@ -49,7 +48,6 @@ import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.media.NamedFileMediaResource; -import org.olat.core.id.Identity; import org.olat.core.util.StringHelper; import org.olat.core.util.WebappHelper; import org.olat.core.util.vfs.LocalFolderImpl; @@ -83,7 +81,6 @@ public class RepositoryEditDescriptionController extends FormBasicController { private FormLink deleteImage; private final UserManager userManager; - private final BaseSecurity securityManager; private final RepositoryManager repositoryManager; /** @@ -97,7 +94,6 @@ public class RepositoryEditDescriptionController extends FormBasicController { super(ureq, wControl, "bgrep"); setBasePackage(RepositoryManager.class); userManager = CoreSpringFactory.getImpl(UserManager.class); - securityManager = CoreSpringFactory.getImpl(BaseSecurity.class); repositoryManager = CoreSpringFactory.getImpl(RepositoryManager.class); this.isSubWorkflow = isSubWorkflow; this.repositoryEntry = entry; @@ -118,10 +114,9 @@ public class RepositoryEditDescriptionController extends FormBasicController { String id = repositoryEntry.getResourceableId() == null ? "-" : repositoryEntry.getResourceableId().toString(); uifactory.addStaticTextElement("cif.id", id, descCont); - String initalAuthor = repositoryEntry.getInitialAuthor() == null ? "-" : repositoryEntry.getInitialAuthor().toString(); - Identity authorId = securityManager.findIdentityByName(initalAuthor); - if(authorId != null) { - initalAuthor = userManager.getUserDisplayName(authorId.getUser()); + String initalAuthor = repositoryEntry.getInitialAuthor() == null ? "-" : repositoryEntry.getInitialAuthor(); + if(repositoryEntry.getInitialAuthor() != null) { + initalAuthor = userManager.getUserDisplayName(initalAuthor); } uifactory.addStaticTextElement("cif.initialAuthor", initalAuthor, descCont); // Add resource type diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java index 185859e6c5389e8f5388b63894cee96c2d6aaf5b..6760f8d193d97d6c2c70ed479fc1cfb324a841a3 100644 --- a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java +++ b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java @@ -95,6 +95,7 @@ import org.olat.repository.RepositoryManager; import org.olat.resource.accesscontrol.ui.AccessConfigurationController; import org.olat.resource.references.ReferenceImpl; import org.olat.resource.references.ReferenceManager; +import org.olat.user.UserManager; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -192,11 +193,12 @@ public class RepositoryEditPropertiesController extends BasicController implemen //try to acquire edit lock for this course and show dialog box on failure.. courseLockEntry = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(repositoryEntry.getOlatResource(), ureq.getIdentity(), CourseFactory.COURSE_EDITOR_LOCK); if (!courseLockEntry.isSuccess()){ - this.showWarning("error.course.alreadylocked", courseLockEntry.getOwner().getName()); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(courseLockEntry.getOwner()); + showWarning("error.course.alreadylocked", fullName); //beware: the controller is not properly initialized - the initial component is null return; } else if(courseLockEntry.isSuccess() && isAlreadyLocked) { - this.showWarning("warning.course.alreadylocked.bySameUser"); + showWarning("warning.course.alreadylocked.bySameUser"); //beware: the controller is not properly initialized - the initial component is null courseLockEntry = null; //invalid lock return; diff --git a/src/main/java/org/olat/repository/delete/TabbedPaneController.java b/src/main/java/org/olat/repository/delete/TabbedPaneController.java index 6f071a1eb366f900ad046c633ec9d371134db24e..d3a7e81f3eeaebb50f3b722b9e5f481de7b0651e 100644 --- a/src/main/java/org/olat/repository/delete/TabbedPaneController.java +++ b/src/main/java/org/olat/repository/delete/TabbedPaneController.java @@ -25,6 +25,7 @@ package org.olat.repository.delete; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.panel.Panel; @@ -42,6 +43,7 @@ import org.olat.core.util.WebappHelper; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.coordinate.LockResult; import org.olat.core.util.resource.OresHelper; +import org.olat.user.UserManager; /** * Learning-resource deletion tabbed pane controller. @@ -77,7 +79,8 @@ public class TabbedPaneController extends BasicController implements ControllerE OLATResourceable lockResourceable = OresHelper.createOLATResourceableTypeWithoutCheck(this.getClass().getName()); lock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(lockResourceable, ureq.getIdentity(), "deleteGroup"); if (!lock.isSuccess()) { - String text = getTranslator().translate("error.deleteworkflow.locked.by", new String[]{lock.getOwner().getName()}); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(lock.getOwner()); + String text = getTranslator().translate("error.deleteworkflow.locked.by", new String[]{ fullName }); Controller uiInfoMsgCtrl = MessageUIFactory.createInfoMessage(ureq, wControl, null, text); listenTo(uiInfoMsgCtrl);//register to let dispose on dispose of this controller putInitialPanel(uiInfoMsgCtrl.getInitialComponent()); diff --git a/src/main/java/org/olat/repository/delete/service/RepositoryDeletionManager.java b/src/main/java/org/olat/repository/delete/service/RepositoryDeletionManager.java index b7c04efd2291c1f1433f6942c2d4dc57bc09cfde..1ef1b191a93e377becb714914e18fa5b09aa7b42 100644 --- a/src/main/java/org/olat/repository/delete/service/RepositoryDeletionManager.java +++ b/src/main/java/org/olat/repository/delete/service/RepositoryDeletionManager.java @@ -255,6 +255,7 @@ public class RepositoryDeletionManager extends BasicManager implements UserDataD } return null; // Send ok => return null } else { + //TODO username return pT.translate("email.error.send.failed", new String[] {identity.getUser().getProperty(UserConstants.EMAIL, null), identity.getName()} ); } } diff --git a/src/main/java/org/olat/restapi/repository/course/CourseResourceFolderWebService.java b/src/main/java/org/olat/restapi/repository/course/CourseResourceFolderWebService.java index 99b305124a4b8caac604b07927310b841de727c4..fc411e537ab6426feac0b7156573d0cca576bd93 100644 --- a/src/main/java/org/olat/restapi/repository/course/CourseResourceFolderWebService.java +++ b/src/main/java/org/olat/restapi/repository/course/CourseResourceFolderWebService.java @@ -354,7 +354,7 @@ public class CourseResourceFolderWebService { if(newFile instanceof MetaTagged && ((MetaTagged)newFile).getMetaInfo() != null) { MetaInfo infos = ((MetaTagged)newFile).getMetaInfo(); - infos.setAuthor(ureq.getIdentity().getName()); + infos.setAuthor(ureq.getIdentity()); infos.write(); } diff --git a/src/main/java/org/olat/search/service/document/InfoMessageDocument.java b/src/main/java/org/olat/search/service/document/InfoMessageDocument.java index 32dbc0368328cf71ed56d5a4d69d8189a8b5054b..8ccde62c8bc1cc3d94e360071486ef951e11b651 100644 --- a/src/main/java/org/olat/search/service/document/InfoMessageDocument.java +++ b/src/main/java/org/olat/search/service/document/InfoMessageDocument.java @@ -44,7 +44,7 @@ public class InfoMessageDocument extends OlatDocument { messageDocument.setTitle(message.getTitle()); messageDocument.setContent(message.getMessage()); - messageDocument.setAuthor(message.getAuthor().getName()); + messageDocument.setAuthor(message.getAuthor().getName());//TODO username messageDocument.setCreatedDate(message.getCreationDate()); messageDocument.setLastChange(message.getCreationDate()); messageDocument.setResourceUrl(searchResourceContext.getResourceUrl()); diff --git a/src/main/java/org/olat/search/ui/StandardResultController.java b/src/main/java/org/olat/search/ui/StandardResultController.java index 2c4fff9f8aa9bb474527b2a25adb3ed86a533240..4a02969865b640d670d295f87314243a9f2f4710 100644 --- a/src/main/java/org/olat/search/ui/StandardResultController.java +++ b/src/main/java/org/olat/search/ui/StandardResultController.java @@ -20,6 +20,11 @@ package org.olat.search.ui; +import java.util.Collections; +import java.util.List; + +import org.olat.basesecurity.BaseSecurityManager; +import org.olat.basesecurity.IdentityShort; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -34,6 +39,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.util.Formatter; import org.olat.core.util.StringHelper; import org.olat.search.model.ResultDocument; +import org.olat.user.UserManager; /** * Description:<br> @@ -64,8 +70,17 @@ public class StandardResultController extends FormBasicController implements Res if(formLayout instanceof FormLayoutContainer) { FormLayoutContainer formLayoutCont = (FormLayoutContainer)formLayout; formLayoutCont.contextPut("result", document); - formLayoutCont.contextPut("id", this.hashCode()); + formLayoutCont.contextPut("id", hashCode()); formLayoutCont.contextPut("formatter", Formatter.getInstance(getLocale())); + + String author = document.getAuthor(); + if(StringHelper.containsNonWhitespace(author)) { + List<IdentityShort> identities = BaseSecurityManager.getInstance().findShortIdentitiesByName(Collections.singleton(author)); + if(identities.size() > 0) { + author = UserManager.getInstance().getUserDisplayName(identities.get(0)); + } + } + formLayoutCont.contextPut("author", author); } String highlightLabel = document.getHighlightTitle(); diff --git a/src/main/java/org/olat/search/ui/_content/standardResult.html b/src/main/java/org/olat/search/ui/_content/standardResult.html index 3554f05ac4da42dadb0910ef41c43370bbc89981..e864394bbaa451faf3a1e44aa1439e44855ffce5 100644 --- a/src/main/java/org/olat/search/ui/_content/standardResult.html +++ b/src/main/java/org/olat/search/ui/_content/standardResult.html @@ -25,9 +25,9 @@ #end <div class="o_search_result_details" style="display: none" id="o_search_result_$id"> - #if (!$result.author.equals("") ) + #if (!$author.equals("") ) <div class="o_search_result_author"> - <strong>$r.translate("label.search.author"):</strong> $result.author. + <strong>$r.translate("label.search.author"):</strong> $author. </div> #end #if ($result.lastChange ) diff --git a/src/main/java/org/olat/user/ChangePrefsController.java b/src/main/java/org/olat/user/ChangePrefsController.java index 3c75fb94915ecd3c725c2c9e3acb227cff57232e..67aa96139145d06ccae74b7117a05a9dde39b97a 100644 --- a/src/main/java/org/olat/user/ChangePrefsController.java +++ b/src/main/java/org/olat/user/ChangePrefsController.java @@ -207,7 +207,8 @@ class SpecialPrefsForm extends FormBasicController { // OLAT-6429 don't change another users GUI prefs when he is logged in if (!ureq.getIdentity().equalsByPersistableKey(tobeChangedIdentity)) { if (sessionManager.isSignedOnIdentity(tobeChangedIdentity.getKey())) { - showError("error.user.logged.in", tobeChangedIdentity.getName()); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(tobeChangedIdentity); + showError("error.user.logged.in",fullName); prefsElement.reset(); return; } diff --git a/src/main/java/org/olat/user/HomePageContextEntryControllerCreator.java b/src/main/java/org/olat/user/HomePageContextEntryControllerCreator.java index 0e8468736fea784f907ed5ff34ee7b79f4a2d281..c5e41256a323c87be17cf8568136d58722fa59e1 100644 --- a/src/main/java/org/olat/user/HomePageContextEntryControllerCreator.java +++ b/src/main/java/org/olat/user/HomePageContextEntryControllerCreator.java @@ -67,7 +67,7 @@ public class HomePageContextEntryControllerCreator extends DefaultContextEntryCo public String getTabName(ContextEntry ce, UserRequest ureq) { Identity identity = extractIdentity(ce); if (identity == null) return null; - return UserManagerImpl.getInstance().getUserDisplayName(identity.getUser()); + return UserManagerImpl.getInstance().getUserDisplayName(identity); } /** diff --git a/src/main/java/org/olat/user/HomePageDisplayController.java b/src/main/java/org/olat/user/HomePageDisplayController.java index b573824540214037181ea8ecdc0c4a9f8ec767b8..15bdb7b9efb6069b3041b3ca9d77dea66f7af8b2 100644 --- a/src/main/java/org/olat/user/HomePageDisplayController.java +++ b/src/main/java/org/olat/user/HomePageDisplayController.java @@ -77,7 +77,6 @@ public class HomePageDisplayController extends BasicController { setTranslator(UserManager.getInstance().getPropertyHandlerTranslator(getTranslator())); VelocityContainer mainVC = createVelocityContainer("homepagedisplay"); - mainVC.contextPut("userName", homeIdentity.getName()); mainVC.contextPut("deleted", homeIdentity.getStatus().equals(Identity.STATUS_DELETED)); mainVC.contextPut("user", homeIdentity.getUser()); mainVC.contextPut("locale", getLocale()); diff --git a/src/main/java/org/olat/user/IdentityContextEntryControllerCreator.java b/src/main/java/org/olat/user/IdentityContextEntryControllerCreator.java index 7c3130762d72ec502677399afa2a6a5f804fa8c8..c85fc8c9614e0d26c2c62cb8d589ab6c95e7b8d2 100644 --- a/src/main/java/org/olat/user/IdentityContextEntryControllerCreator.java +++ b/src/main/java/org/olat/user/IdentityContextEntryControllerCreator.java @@ -72,7 +72,7 @@ public class IdentityContextEntryControllerCreator extends DefaultContextEntryCo public String getTabName(ContextEntry ce, UserRequest ureq) { Identity identity = extractIdentity(ce); if (identity == null) return null; - return UserManagerImpl.getInstance().getUserDisplayName(identity.getUser()); + return UserManagerImpl.getInstance().getUserDisplayName(identity); } /** diff --git a/src/main/java/org/olat/user/UserInfoMainController.java b/src/main/java/org/olat/user/UserInfoMainController.java index c163629b28fea060b07cab6db4dbd87fe0840665..8d3513dd48e8f90c717b613e7c485b3d6d197414 100644 --- a/src/main/java/org/olat/user/UserInfoMainController.java +++ b/src/main/java/org/olat/user/UserInfoMainController.java @@ -255,9 +255,8 @@ public class UserInfoMainController extends MainLayoutBasicController implements myContent = createVelocityContainer("userinfo"); if (menuCommand.equals(CMD_HOMEPAGE)) { - String userName = identity.getName(); HomePageConfigManager hpcm = HomePageConfigManagerImpl.getInstance(); - HomePageConfig homePageConfig = hpcm.loadConfigFor(userName); + HomePageConfig homePageConfig = hpcm.loadConfigFor(identity.getName()); removeAsListenerAndDispose(homePageDisplayController); homePageDisplayController = new HomePageDisplayController(ureq, getWindowControl(), identity, homePageConfig); listenTo(homePageDisplayController); diff --git a/src/main/java/org/olat/user/UserManager.java b/src/main/java/org/olat/user/UserManager.java index 766d4a4124bf76966db51a8092f4ba104d6edf88..052145a6d808a24faa01775bde73ff949a6137cd 100644 --- a/src/main/java/org/olat/user/UserManager.java +++ b/src/main/java/org/olat/user/UserManager.java @@ -139,7 +139,7 @@ public abstract class UserManager extends BasicManager { * @param usr The user object to be updated * @return The true if successfully updated */ - public abstract void updateUser(User usr); + public abstract User updateUser(User usr); /** * Updates the user object for a given identity @@ -247,12 +247,19 @@ public abstract class UserManager extends BasicManager { */ public abstract String getUserDisplayName(User user); + /** + * + * @param identity + * @return + */ + public abstract String getUserDisplayName(Identity identity); + /** * * @param identityKeys * @return */ - public abstract Map<Long,String> getUserDisplayNames(Collection<Long> identityKeys); + public abstract Map<Long,String> getUserDisplayNamesByKey(Collection<Long> identityKeys); /** * Returns the users displayable name, e.g. "Firstname Lastname" @@ -261,4 +268,16 @@ public abstract class UserManager extends BasicManager { * @return */ public abstract String getUserDisplayName(IdentityShort user); + + public abstract String getUserDisplayName(String username); + + public abstract String getUserDisplayName(Long identityKey); + + /** + * Return a map where the key is the username and the value is + * the full name + * @param usernames + * @return + */ + public abstract Map<String,String> getUserDisplayNamesByUserName(Collection<String> usernames); } diff --git a/src/main/java/org/olat/user/UserManagerImpl.java b/src/main/java/org/olat/user/UserManagerImpl.java index cebac7c619911a0c7a0a97332bc616a7ce89da3c..53b2528437afcd82533fe47cb7feead8dce900c4 100644 --- a/src/main/java/org/olat/user/UserManagerImpl.java +++ b/src/main/java/org/olat/user/UserManagerImpl.java @@ -19,6 +19,7 @@ */ package org.olat.user; +import java.io.Serializable; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; @@ -29,6 +30,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import javax.annotation.PostConstruct; import javax.persistence.TypedQuery; import org.olat.basesecurity.BaseSecurity; @@ -44,6 +46,8 @@ import org.olat.core.id.User; import org.olat.core.id.UserConstants; import org.olat.core.logging.AssertException; import org.olat.core.util.WebappHelper; +import org.olat.core.util.cache.CacheWrapper; +import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.i18n.I18nModule; import org.olat.core.util.mail.MailHelper; import org.olat.properties.Property; @@ -69,6 +73,10 @@ public class UserManagerImpl extends UserManager { private DB dbInstance; @Autowired private BaseSecurity securityManager; + @Autowired + private CoordinatorManager coordinatorManager; + + private CacheWrapper<Serializable,String> usernameCache; /** * Use UserManager.getInstance(), this is a spring factory method to load the @@ -77,6 +85,12 @@ public class UserManagerImpl extends UserManager { private UserManagerImpl() { INSTANCE = this; } + + @PostConstruct + public void init() { + usernameCache = coordinatorManager.getCoordinator().getCacher() + .getCache(UserManager.class.getSimpleName(), "username"); + } /** * @see org.olat.user.UserManager#createUser(java.lang.String, java.lang.String, java.lang.String) @@ -295,7 +309,7 @@ public class UserManagerImpl extends UserManager { * @see org.olat.user.UserManager#loadUserByKey(java.lang.Long) */ public User loadUserByKey(Long key) { - return (UserImpl) DBFactory.getInstance().loadObject(UserImpl.class, key); + return DBFactory.getInstance().loadObject(UserImpl.class, key); // User not loaded yet (lazy initialization). Need to access // a field first to really load user from database. } @@ -303,15 +317,23 @@ public class UserManagerImpl extends UserManager { /** * @see org.olat.user.UserManager#updateUser(org.olat.core.id.User) */ - public void updateUser(User usr) { + @Override + public User updateUser(User usr) { if (usr == null) throw new AssertException("User object is null!"); - DBFactory.getInstance().updateObject(usr); + return dbInstance.getCurrentEntityManager().merge(usr); } /** * @see org.olat.user.UserManager#updateUserFromIdentity(org.olat.core.id.Identity) */ + @Override public boolean updateUserFromIdentity(Identity identity) { + try { + String fullName = getUserDisplayName(identity); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + } catch (Exception e) { + logWarn("Error update usernames cache", e); + } updateUser(identity.getUser()); return true; } @@ -374,34 +396,122 @@ public class UserManagerImpl extends UserManager { updateUser(user); if(isLogDebugEnabled()) logDebug("Delete all user-attributtes for user=" + user); } + + + + @Override + public String getUserDisplayName(String username) { + String fullName = usernameCache.get(username); + if(fullName == null) { + List<IdentityShort> identities = securityManager.findShortIdentitiesByName(Collections.singletonList(username)); + for(IdentityShort identity:identities) { + fullName = getUserDisplayName(identity); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + } + } + return fullName; + } + + @Override + public String getUserDisplayName(Long identityKey) { + if(identityKey == null || identityKey.longValue() <= 0) { + return ""; + } + + String fullName = usernameCache.get(identityKey); + if(fullName == null) { + IdentityShort identity = securityManager.loadIdentityShortByKey(identityKey); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + } + return fullName; + } + + @Override + public Map<String, String> getUserDisplayNamesByUserName(Collection<String> usernames) { + if(usernames == null | usernames.isEmpty()) { + return Collections.emptyMap(); + } + + Map<String, String> fullNames = new HashMap<String,String>(); + List<String> newUsernames = new ArrayList<String>(); + for(String username:usernames) { + String fullName = usernameCache.get(username); + if(fullName != null) { + fullNames.put(username, fullName); + } else { + newUsernames.add(username); + } + } + + List<IdentityShort> identities = securityManager.findShortIdentitiesByName(newUsernames); + for(IdentityShort identity:identities) { + String fullName = getUserDisplayName(identity); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + fullNames.put(identity.getName(), fullName); + } + + return fullNames; + } + + @Override + public String getUserDisplayName(Identity identity) { + if (userDisplayNameCreator == null) return ""; + String fullName = userDisplayNameCreator.getUserDisplayName(identity.getUser()); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + return fullName; + } /** * @see org.olat.user.UserManager#getUserDisplayName(org.olat.core.id.User) */ @Override public String getUserDisplayName(User user) { - if (this.userDisplayNameCreator == null) return ""; - return this.userDisplayNameCreator.getUserDisplayName(user); + if (userDisplayNameCreator == null) return ""; + return userDisplayNameCreator.getUserDisplayName(user); } /** * @see org.olat.user.UserManager#getUserDisplayName(org.olat.core.id.IdentityShort) */ @Override - public String getUserDisplayName(IdentityShort user) { - if (this.userDisplayNameCreator == null) return ""; - return this.userDisplayNameCreator.getUserDisplayName(user); + public String getUserDisplayName(IdentityShort identity) { + if (userDisplayNameCreator == null) return ""; + String fullName = userDisplayNameCreator.getUserDisplayName(identity); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + return fullName; } @Override - public Map<Long, String> getUserDisplayNames(Collection<Long> identityKeys) { + public Map<Long, String> getUserDisplayNamesByKey(Collection<Long> identityKeys) { + + if(identityKeys == null | identityKeys.isEmpty()) { + return Collections.emptyMap(); + } + + Map<Long, String> fullNames = new HashMap<Long,String>(); + List<Long> newIdentityKeys = new ArrayList<Long>(); + for(Long identityKey:identityKeys) { + String fullName = usernameCache.get(identityKey); + if(fullName != null) { + fullNames.put(identityKey, fullName); + } else { + newIdentityKeys.add(identityKey); + } + } + List<IdentityShort> identities = securityManager.loadIdentityShortByKeys(identityKeys); - Map<Long,String> namesMap = new HashMap<Long,String>(identities.size()); for(IdentityShort identity:identities) { - String displayName = this.getUserDisplayName(identity); - namesMap.put(identity.getKey(), displayName); + String fullName = getUserDisplayName(identity); + updateUsernameCache(identity.getKey(), identity.getName(), fullName); + fullNames.put(identity.getKey(), fullName); } - return namesMap; + + return fullNames; + } + + private void updateUsernameCache(Long identityKey, String username, String fullName) { + usernameCache.put(identityKey, fullName); + usernameCache.put(username, fullName); } /** diff --git a/src/main/java/org/olat/user/UserPropertiesController.java b/src/main/java/org/olat/user/UserPropertiesController.java index 2925d4e804534dc83636554b9df031b1ee30fcbb..ce03410bc7574476bd2cc2361cb475eb1c3f4abf 100644 --- a/src/main/java/org/olat/user/UserPropertiesController.java +++ b/src/main/java/org/olat/user/UserPropertiesController.java @@ -28,6 +28,7 @@ package org.olat.user; import java.util.Date; import java.util.List; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.table.DefaultColumnDescriptor; @@ -124,7 +125,8 @@ public class UserPropertiesController extends BasicController { else if (actionid.equals("delete")) { int rowid = te.getRowId(); foundProp = (Property) tdm.getObject(rowid); - activateYesNoDialog(ureq, translate("propdelete.yesno.title"),translate("propdelete.yesno.text",new String[]{foundProp.getName(),displayedIdentity.getName()}), null); + String fullName = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(displayedIdentity); + activateYesNoDialog(ureq, translate("propdelete.yesno.title"),translate("propdelete.yesno.text",new String[]{foundProp.getName(), fullName}), null); } } } diff --git a/src/main/resources/database/mysql/alter_8_4_0_to_9_0_0.sql b/src/main/resources/database/mysql/alter_8_4_0_to_9_0_0.sql index 5d97dd8569d0439b69297965cb39361dedd16431..d472e67ef5a82ea254a2b16d486320ea0d912b54 100644 --- a/src/main/resources/database/mysql/alter_8_4_0_to_9_0_0.sql +++ b/src/main/resources/database/mysql/alter_8_4_0_to_9_0_0.sql @@ -347,7 +347,7 @@ alter table o_mail_attachment add column datas_checksum bigint; alter table o_mail_attachment add column datas_path varchar(1024); alter table o_mail_attachment add column datas_lastmodified datetime; create index idx_mail_att_checksum_idx on o_mail_attachment (datas_checksum); -create index idx_mail_path_idx on o_mail_attachment (datas_path); +create index idx_mail_path_idx on o_mail_attachment (datas_path(255)); create index idx_mail_att_siblings_idx on o_mail_attachment (datas_checksum, mimetype, datas_size, datas_name); diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index d45f194c39bbb6be05b953dd0658d1b23bcbbd8a..9808a36e95cf261c841baa1c87639074650017fc 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1992,7 +1992,7 @@ alter table o_mail add constraint FKF86663165A4FA5DC foreign key (fk_from_id) re alter table o_mail_to_recipient add constraint FKF86663165A4FA5DD foreign key (fk_recipient_id) references o_mail_recipient (recipient_id); alter table o_mail_attachment add constraint FKF86663165A4FA5DF foreign key (fk_att_mail_id) references o_mail (mail_id); create index idx_mail_att_checksum_idx on o_mail_attachment (datas_checksum); -create index idx_mail_path_idx on o_mail_attachment (datas_path); +create index idx_mail_path_idx on o_mail_attachment (datas_path(255)); create index idx_mail_att_siblings_idx on o_mail_attachment (datas_checksum, mimetype, datas_size, datas_name); create index ac_offer_to_resource_idx on o_ac_offer (fk_resource_id); diff --git a/src/main/resources/infinispan-config.xml b/src/main/resources/infinispan-config.xml index 4ba5419195db9b355c4f00deb52c2bf95f2e3a86..17692b431e0c88075146eb6e21917e9381a48f49 100644 --- a/src/main/resources/infinispan-config.xml +++ b/src/main/resources/infinispan-config.xml @@ -52,7 +52,13 @@ <expiration maxIdle="900000" wakeUpInterval="5000"/> <transaction transactionMode="NON_TRANSACTIONAL" /> </namedCache> - + + <namedCache name="UserManager@username"> + <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000" useLockStriping="false"/> + <eviction maxEntries="20000" strategy="LIRS"/> + <expiration maxIdle="2700000" wakeUpInterval="15000"/> + <transaction transactionMode="NON_TRANSACTIONAL" /> + </namedCache> <!-- Hibernate cache diff --git a/src/test/java/org/olat/core/util/vfs/version/VersionManagerTest.java b/src/test/java/org/olat/core/util/vfs/version/VersionManagerTest.java index e6da09c9283692601b6f159ecbf0a8769bb6bfb6..10f906261c60ad63a74ec2bcf03b405227b7f7a8 100644 --- a/src/test/java/org/olat/core/util/vfs/version/VersionManagerTest.java +++ b/src/test/java/org/olat/core/util/vfs/version/VersionManagerTest.java @@ -325,7 +325,7 @@ public class VersionManagerTest extends OlatTestCase { //set the author MetaTagged metaTagged = (MetaTagged)file; MetaInfo metaInfo = metaTagged.getMetaInfo(); - metaInfo.setAuthor(id1.getName()); + metaInfo.setAuthor(id1); metaInfo.setCreator(id1.getName()); metaInfo.write(); @@ -386,7 +386,7 @@ public class VersionManagerTest extends OlatTestCase { //set the author MetaTagged metaTagged = (MetaTagged)file; MetaInfo metaInfo = metaTagged.getMetaInfo(); - metaInfo.setAuthor(id1.getName()); + metaInfo.setAuthor(id1); metaInfo.setCreator(id1.getName()); metaInfo.write(); @@ -454,7 +454,7 @@ public class VersionManagerTest extends OlatTestCase { //set the author MetaTagged metaTagged = (MetaTagged)file; MetaInfo metaInfo = metaTagged.getMetaInfo(); - metaInfo.setAuthor(id1.getName()); + metaInfo.setAuthor(id1); metaInfo.setCreator(id1.getName()); metaInfo.write(); diff --git a/src/test/java/org/olat/modules/fo/ForumManagerTest.java b/src/test/java/org/olat/modules/fo/ForumManagerTest.java index 0514d3d6dffcf7785f6e519cd9f71105bea14357..4d09c78de5be1368bec1ce864d70a13bbd69c870 100644 --- a/src/test/java/org/olat/modules/fo/ForumManagerTest.java +++ b/src/test/java/org/olat/modules/fo/ForumManagerTest.java @@ -29,6 +29,7 @@ package org.olat.modules.fo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.util.Calendar; import java.util.Date; import java.util.Iterator; import java.util.List; @@ -168,12 +169,15 @@ public class ForumManagerTest extends OlatTestCase { @Test public void testGetNewMessageInfo() { log.debug("Start testGetNewMessageInfo()"); ForumManager foma = ForumManager.getInstance(); - Date now = new Date(); - List<Message> msgList = foma.getNewMessageInfo(fo.getKey(), new Date() ); - assertEquals(0,msgList.size()); - Date before = new Date(now.getTime() - 3600); - msgList = foma.getNewMessageInfo(fo.getKey(), before ); - assertEquals(14,msgList.size()); + + sleep(1500);//we must ensure a lap of 1 second + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + List<Message> msgList = foma.getNewMessageInfo(fo.getKey(), cal.getTime()); + assertEquals(0, msgList.size()); + cal.add(Calendar.HOUR_OF_DAY, - 1); + msgList = foma.getNewMessageInfo(fo.getKey(), cal.getTime()); + assertEquals(14, msgList.size()); } @Test public void testDeleteMessageTree() {