diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java index 41659f7e096ee4cc700c6ca8d1b85e1b4eef375e..eaf4964268b35d910844c27d56d3b2dbec9aa852 100644 --- a/src/main/java/org/olat/repository/RepositoryManager.java +++ b/src/main/java/org/olat/repository/RepositoryManager.java @@ -2044,6 +2044,7 @@ public class RepositoryManager extends BasicManager { .append(" where bgroup.partipiciantGroup=vmember.securityGroup and res=bresource.resource and bgroup=bresource.group and vmember.identity=:identityKey") .append(" )") .append(" )"); + appendOrderBy(sb, "v", orderby); /* query based on permission StringBuilder sb3 = new StringBuilder(400); @@ -2174,7 +2175,8 @@ public class RepositoryManager extends BasicManager { return query.getSingleResult().intValue(); } - public List<RepositoryEntry> getFavoritLearningResourcesAsTeacher(Identity identity, List<String> types, int firstResult, int maxResults) { + public List<RepositoryEntry> getFavoritLearningResourcesAsTeacher(Identity identity, List<String> types, int firstResult, int maxResults, + RepositoryEntryOrder... orderby) { StringBuilder sb = new StringBuilder(); sb.append("select distinct v from ").append(RepositoryEntry.class.getName()).append(" v ") .append(" inner join fetch v.olatResource as res ") @@ -2188,6 +2190,7 @@ public class RepositoryManager extends BasicManager { if(types != null && !types.isEmpty()) { sb.append(" and res.resName in (:types)"); } + this.appendOrderBy(sb, "v", orderby); TypedQuery<RepositoryEntry> query = dbInstance.getCurrentEntityManager() .createQuery(sb.toString(), RepositoryEntry.class) @@ -2298,8 +2301,8 @@ public class RepositoryManager extends BasicManager { sb.append(" order by "); for(RepositoryEntryOrder o:orderby) { switch(o) { - case nameAsc: sb.append(var).append(".key asc").append(","); break; - case nameDesc: sb.append(var).append(".key desc").append(","); break; + case nameAsc: sb.append(var).append(".displayname asc").append(","); break; + case nameDesc: sb.append(var).append(".displayname desc").append(","); break; } } sb.append(var).append(".key asc"); diff --git a/src/main/java/org/olat/restapi/group/LearningGroupWebService.java b/src/main/java/org/olat/restapi/group/LearningGroupWebService.java index 748991325b93920db0e5d6359fe8b790630e4d07..fceac7deb957839d55ee95af99ce68d7ef54a7a8 100644 --- a/src/main/java/org/olat/restapi/group/LearningGroupWebService.java +++ b/src/main/java/org/olat/restapi/group/LearningGroupWebService.java @@ -371,15 +371,15 @@ public class LearningGroupWebService { if(bg == null) { return Response.serverError().status(Status.NOT_FOUND).build(); } - + + Identity identity = RestSecurityHelper.getIdentity(request); if(!isGroupManager(request)) { - Identity identity = RestSecurityHelper.getIdentity(request); if(!bgs.isIdentityInBusinessGroup(identity, bg)) { return Response.serverError().status(Status.UNAUTHORIZED).build(); } } - GroupInfoVO info = getInformation(bg); + GroupInfoVO info = getInformation(identity, bg); return Response.ok(info).build(); } diff --git a/src/main/java/org/olat/restapi/group/MyGroupWebService.java b/src/main/java/org/olat/restapi/group/MyGroupWebService.java index de3990431d00e87449aaa9477883c2525421a5d7..618f249577e749ec9477dfdf2fbb9114bccfd71f 100644 --- a/src/main/java/org/olat/restapi/group/MyGroupWebService.java +++ b/src/main/java/org/olat/restapi/group/MyGroupWebService.java @@ -157,7 +157,7 @@ public class MyGroupWebService { int count = 0; GroupInfoVO[] groupVOs = new GroupInfoVO[groups.size()]; for(BusinessGroup group:groups) { - groupVOs[count++] = ObjectFactory.getInformation(group); + groupVOs[count++] = ObjectFactory.getInformation(retrievedUser, group); } GroupInfoVOes voes = new GroupInfoVOes(); voes.setGroups(groupVOs); diff --git a/src/main/java/org/olat/restapi/support/ObjectFactory.java b/src/main/java/org/olat/restapi/support/ObjectFactory.java index c28e4eb97e5d61eb1850c71d1b0e1682bca9977b..f00924b2453af55b5072cc6154a99430ee1f397e 100644 --- a/src/main/java/org/olat/restapi/support/ObjectFactory.java +++ b/src/main/java/org/olat/restapi/support/ObjectFactory.java @@ -26,9 +26,11 @@ import java.util.Date; import javax.ws.rs.core.EntityTag; import org.olat.basesecurity.Authentication; +import org.olat.basesecurity.BaseSecurityManager; import org.olat.collaboration.CollaborationTools; import org.olat.collaboration.CollaborationToolsFactory; import org.olat.core.gui.components.form.ValidationError; +import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; @@ -99,7 +101,7 @@ public class ObjectFactory { return vo; } - public static GroupInfoVO getInformation(BusinessGroup grp) { + public static GroupInfoVO getInformation(Identity identity, BusinessGroup grp) { GroupInfoVO vo = new GroupInfoVO(); vo.setKey(grp.getKey()); vo.setName(grp.getName()); @@ -123,6 +125,16 @@ public class ObjectFactory { boolean hasFolder = collabTools.isToolEnabled(CollaborationTools.TOOL_FOLDER); vo.setHasFolder(hasFolder); + boolean hasFolderWrite = hasFolder; + if(hasFolder) { + Long access = collabTools.lookupFolderAccess(); + if(access != null && access.intValue() == CollaborationTools.FOLDER_ACCESS_OWNERS) { + //is owner? + hasFolderWrite = BaseSecurityManager.getInstance().isIdentityInSecurityGroup(identity, grp.getOwnerGroup()); + } + } + vo.setFolderWrite(hasFolderWrite); + return vo; } diff --git a/src/main/java/org/olat/restapi/support/vo/GroupInfoVO.java b/src/main/java/org/olat/restapi/support/vo/GroupInfoVO.java index 7e28569cdc8126c797428b5531ee595d915f9e97..768a608329ec751b682933598170bba76b925602 100644 --- a/src/main/java/org/olat/restapi/support/vo/GroupInfoVO.java +++ b/src/main/java/org/olat/restapi/support/vo/GroupInfoVO.java @@ -21,6 +21,7 @@ package org.olat.restapi.support.vo; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; /** @@ -40,6 +41,8 @@ public class GroupInfoVO extends GroupVO { private Long forumKey; private Boolean hasWiki = Boolean.FALSE; private Boolean hasFolder = Boolean.FALSE; + @XmlAttribute(name="folderWrite", required=false) + private boolean folderWrite; public GroupInfoVO() { //make JAXB happy @@ -76,4 +79,12 @@ public class GroupInfoVO extends GroupVO { public void setHasFolder(Boolean hasFolder) { this.hasFolder = hasFolder; } + + public boolean isFolderWrite() { + return folderWrite; + } + + public void setFolderWrite(boolean folderWrite) { + this.folderWrite = folderWrite; + } } diff --git a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties index 55cf6b8508d8151997df7ba753a08b8906a44269..59d5a047beb98400fde4f76023fe81b6607bb1cf 100644 --- a/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/user/propertyhandlers/_i18n/LocalStrings_de.properties @@ -60,6 +60,7 @@ form.name.msn.error=Bitte geben Sie einen g\u00FCltigen MSN-Namen an. form.name.officeCity=Dienst-Stadt form.name.officeCountry=Dienst-Land form.name.officeMobilePhone=Dienst-Mobiltelefon +form.name.officeMobilePhone.error.valid=Bitte geben Sie eine g\u00FCltige Telefonnummer an. form.name.officePoBox=Dienstpostfach form.name.officeStreet=Strasse / Postfach form.name.officeZipCode=Dienst-Postleitzahl diff --git a/src/main/java/org/olat/user/restapi/ContactVO.java b/src/main/java/org/olat/user/restapi/ContactVO.java new file mode 100644 index 0000000000000000000000000000000000000000..03262b74b406223ff0c36d1260ef28c8f65e5a98 --- /dev/null +++ b/src/main/java/org/olat/user/restapi/ContactVO.java @@ -0,0 +1,100 @@ +/** + * <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.user.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; + +import org.olat.core.id.Identity; +import org.olat.core.id.UserConstants; + +/** + * + * Description:<br> + * Very minimal view of the user + * + * <P> + * Initial Date: 7 apr. 2010 <br> + * @author srosse, stephane.rosse@frentix.com + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "contactVO") +public class ContactVO { + + private Long key; + private String firstName; + private String lastName; + + + public ContactVO() { + //make JAXB happy + } + + public ContactVO(Identity identity) { + key = identity.getKey(); + firstName = identity.getUser().getProperty(UserConstants.FIRSTNAME, null); + lastName = identity.getUser().getProperty(UserConstants.LASTNAME, null); + } + + public Long getKey() { + return key; + } + + public void setKey(Long key) { + this.key = key; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + + + + @Override + public String toString() { + return "UserVO[key=" + key + ":lastName=" + lastName + "]"; + } + + @Override + public boolean equals(Object obj) { + if(this == obj) { + return true; + } + if(obj instanceof ContactVO) { + ContactVO vo = (ContactVO)obj; + return key != null && key.equals(vo.key); + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/user/restapi/ContactVOes.java b/src/main/java/org/olat/user/restapi/ContactVOes.java new file mode 100644 index 0000000000000000000000000000000000000000..85f789201ed5064d00856d78a48839bcb75ca34c --- /dev/null +++ b/src/main/java/org/olat/user/restapi/ContactVOes.java @@ -0,0 +1,68 @@ +/** + * <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.user.restapi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * Description:<br> + * Helper class for the example in the WADL document. Don't use it + * for something else!!! + * + * <P> + * Initial Date: 7 apr. 2010 <br> + * @author srosse, stephane.rosse@frentix.com + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "contacts") +public class ContactVOes { + + @XmlElementWrapper(name="users") + @XmlElement(name="users") + private ContactVO[] users; + @XmlAttribute(name="totalCount") + private int totalCount; + + public ContactVOes() { + //make JAXB happy + } + + public ContactVO[] getUsers() { + return users; + } + + public void setUsers(ContactVO[] users) { + this.users = users; + } + + public int getTotalCount() { + return totalCount; + } + + public void setTotalCount(int totalCount) { + this.totalCount = totalCount; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/user/restapi/ContactsWebService.java b/src/main/java/org/olat/user/restapi/ContactsWebService.java index 51b471f1bf6bbcd77c52724ff55e3cbf13f340df..43813f974d3ed656e8e9a474d6a04b381fe46c29 100644 --- a/src/main/java/org/olat/user/restapi/ContactsWebService.java +++ b/src/main/java/org/olat/user/restapi/ContactsWebService.java @@ -20,8 +20,6 @@ package org.olat.user.restapi; import static org.olat.restapi.security.RestSecurityHelper.getIdentity; -import static org.olat.user.restapi.UserVOFactory.get; -import static org.olat.user.restapi.UserVOFactory.link; import java.util.List; @@ -34,7 +32,6 @@ import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; import javax.ws.rs.core.Response.Status; import org.olat.core.CoreSpringFactory; @@ -59,14 +56,13 @@ public class ContactsWebService { * @param start * @param limit * @param httpRequest The HTTP request - * @param uriInfo The URI information * @return The list of contacts */ @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public Response getMyContacts(@QueryParam("start") @DefaultValue("0") Integer start, @QueryParam("limit") @DefaultValue("25") Integer limit, - @Context HttpServletRequest httpRequest, @Context UriInfo uriInfo) { + @Context HttpServletRequest httpRequest) { Identity identity = getIdentity(httpRequest); if(identity == null) { @@ -78,11 +74,11 @@ public class ContactsWebService { int totalCount = bgs.countContacts(identity); int count = 0; - UserVO[] userVOs = new UserVO[contacts.size()]; + ContactVO[] userVOs = new ContactVO[contacts.size()]; for(Identity contact:contacts) { - userVOs[count++] = link(get(contact, null, true, false, true), uriInfo); + userVOs[count++] = new ContactVO(contact); } - UserVOes voes = new UserVOes(); + ContactVOes voes = new ContactVOes(); voes.setUsers(userVOs); voes.setTotalCount(totalCount); return Response.ok(voes).build(); diff --git a/src/main/java/org/olat/user/restapi/UserCoursesWebService.java b/src/main/java/org/olat/user/restapi/UserCoursesWebService.java index c3423eb28f7afd2ebfece4b85f796de6831a4779..3d06ddc93c4e16f386f5ce14394323412e42f3bb 100644 --- a/src/main/java/org/olat/user/restapi/UserCoursesWebService.java +++ b/src/main/java/org/olat/user/restapi/UserCoursesWebService.java @@ -35,6 +35,7 @@ import javax.ws.rs.core.Response; import org.olat.core.id.Identity; import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryEntryOrder; import org.olat.repository.RepositoryManager; import org.olat.restapi.repository.course.CoursesWebService; import org.olat.restapi.support.MediaTypeVariants; @@ -77,7 +78,7 @@ public class UserCoursesWebService { RepositoryManager rm = RepositoryManager.getInstance(); if(MediaTypeVariants.isPaged(httpRequest, request)) { - List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsStudent(identity, start, limit); + List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsStudent(identity, start, limit, RepositoryEntryOrder.nameAsc); int totalCount= rm.countLearningResourcesAsStudent(identity); CourseVO[] vos = toCourseVo(repoEntries); @@ -86,7 +87,7 @@ public class UserCoursesWebService { voes.setTotalCount(totalCount); return Response.ok(voes).build(); } else { - List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsStudent(identity, 0, -1); + List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsStudent(identity, 0, -1, RepositoryEntryOrder.nameAsc); CourseVO[] vos = toCourseVo(repoEntries); return Response.ok(vos).build(); } @@ -114,7 +115,7 @@ public class UserCoursesWebService { RepositoryManager rm = RepositoryManager.getInstance(); if(MediaTypeVariants.isPaged(httpRequest, request)) { - List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsTeacher(identity, start, limit); + List<RepositoryEntry> repoEntries = rm.getLearningResourcesAsTeacher(identity, start, limit, RepositoryEntryOrder.nameAsc); int totalCount= rm.countLearningResourcesAsTeacher(identity); CourseVO[] vos = toCourseVo(repoEntries); @@ -152,7 +153,7 @@ public class UserCoursesWebService { List<String> courseType = Collections.singletonList("CourseModule"); RepositoryManager rm = RepositoryManager.getInstance(); if(MediaTypeVariants.isPaged(httpRequest, request)) { - List<RepositoryEntry> repoEntries = rm.getFavoritLearningResourcesAsTeacher(identity, courseType, start, limit); + List<RepositoryEntry> repoEntries = rm.getFavoritLearningResourcesAsTeacher(identity, courseType, start, limit, RepositoryEntryOrder.nameAsc); int totalCount= rm.countFavoritLearningResourcesAsTeacher(identity, courseType); CourseVO[] vos = toCourseVo(repoEntries); @@ -161,7 +162,7 @@ public class UserCoursesWebService { voes.setTotalCount(totalCount); return Response.ok(voes).build(); } else { - List<RepositoryEntry> repoEntries = rm.getFavoritLearningResourcesAsTeacher(identity, courseType, 0, -1); + List<RepositoryEntry> repoEntries = rm.getFavoritLearningResourcesAsTeacher(identity, courseType, 0, -1, RepositoryEntryOrder.nameAsc); CourseVO[] vos = toCourseVo(repoEntries); return Response.ok(vos).build(); } diff --git a/src/main/java/org/olat/user/restapi/UserVO.java b/src/main/java/org/olat/user/restapi/UserVO.java index 3b52495b2064829230341eb3adf2ec0b2176fb1f..e5dae4caca5d1752a237c9418e7b99d9b25ff04f 100644 --- a/src/main/java/org/olat/user/restapi/UserVO.java +++ b/src/main/java/org/olat/user/restapi/UserVO.java @@ -27,7 +27,6 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import org.olat.restapi.support.vo.LinkVO; /** * @@ -53,9 +52,6 @@ public class UserVO { @XmlElementWrapper(name="properties") @XmlElement(name="property") private List<UserPropertyVO> properties = new ArrayList<UserPropertyVO>(); - - @XmlElement(name="link",nillable=true) - private List<LinkVO> link = new ArrayList<LinkVO>(); public UserVO() { //make JAXB happy @@ -137,14 +133,6 @@ public class UserVO { } return null; } - - public List<LinkVO> getLink() { - return link; - } - - public void setLink(List<LinkVO> link) { - this.link = link; - } @Override public String toString() { diff --git a/src/main/java/org/olat/user/restapi/UserVOFactory.java b/src/main/java/org/olat/user/restapi/UserVOFactory.java index 947bfe1e10af27bc8a243acafc3a182394245d95..dde5fdf4d4b7dca41756dd004fb49aaacb0dbdc6 100644 --- a/src/main/java/org/olat/user/restapi/UserVOFactory.java +++ b/src/main/java/org/olat/user/restapi/UserVOFactory.java @@ -23,7 +23,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.net.URI; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -32,9 +31,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import javax.ws.rs.core.UriBuilder; -import javax.ws.rs.core.UriInfo; - import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.IOUtils; import org.olat.core.gui.translator.Translator; @@ -46,7 +42,6 @@ import org.olat.core.util.Formatter; import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.core.util.i18n.I18nModule; -import org.olat.restapi.support.vo.LinkVO; import org.olat.user.DisplayPortraitManager; import org.olat.user.HomePageConfig; import org.olat.user.HomePageConfigManagerImpl; @@ -190,24 +185,6 @@ public class UserVOFactory { return formatedValue; } - public static UserVO link(UserVO userVO, UriInfo uriInfo) { - if(uriInfo != null) { - URI baseUri = uriInfo.getBaseUriBuilder().build(); - - URI getUri = UriBuilder.fromUri(baseUri).path("users").path(userVO.getKey().toString()).build(); - userVO.getLink().add(new LinkVO("self", getUri.toString(), "")); - userVO.getLink().add(new LinkVO("edit", getUri.toString(), "")); - userVO.getLink().add(new LinkVO("delete", getUri.toString(), "")); - - URI groupUri = UriBuilder.fromUri(baseUri).path("users").path(userVO.getKey().toString()).path("groups").build(); - userVO.getLink().add(new LinkVO("self", groupUri.toString(), "Groups")); - - URI portraitUri = UriBuilder.fromUri(baseUri).path("users").path(userVO.getKey().toString()).path("portrait").build(); - userVO.getLink().add(new LinkVO("self", portraitUri.toString(), "Portrait")); - } - return userVO; - } - /** * Allow the date to be in the raw form (yyyyMMdd) or translated * to be translated diff --git a/src/main/java/org/olat/user/restapi/UserWebService.java b/src/main/java/org/olat/user/restapi/UserWebService.java index f9a6cea0580a9b7a22f091014ae966cab4a80d05..033bfd7620bf4b7441cd04c04697a7fbe06eb05a 100644 --- a/src/main/java/org/olat/user/restapi/UserWebService.java +++ b/src/main/java/org/olat/user/restapi/UserWebService.java @@ -25,7 +25,6 @@ import static org.olat.restapi.security.RestSecurityHelper.getUserRequest; import static org.olat.restapi.security.RestSecurityHelper.isUserManager; import static org.olat.user.restapi.UserVOFactory.formatDbUserProperty; import static org.olat.user.restapi.UserVOFactory.get; -import static org.olat.user.restapi.UserVOFactory.link; import static org.olat.user.restapi.UserVOFactory.parseUserProperty; import static org.olat.user.restapi.UserVOFactory.post; @@ -188,7 +187,7 @@ public class UserWebService { int count = 0; UserVO[] userVOs = new UserVO[identities.size()]; for(Identity identity:identities) { - userVOs[count++] = link(get(identity), uriInfo); + userVOs[count++] = get(identity); } return Response.ok(userVOs).build(); } @@ -311,7 +310,6 @@ public class UserWebService { * @response.representation.404.doc The identity not found * @param identityKey The user key identifier of the user being searched * @param withPortrait If true return the portrait as Base64 (default false) - * @param uriInfo The URI infos * @param httpRequest The HTTP request * @return an xml or json representation of a the user being search. The xml * correspond to a <code>UserVO</code>. <code>UserVO</code> is a @@ -321,7 +319,7 @@ public class UserWebService { @Path("{identityKey}") @Produces({MediaType.APPLICATION_XML ,MediaType.APPLICATION_JSON}) public Response findById(@PathParam("identityKey") Long identityKey, @QueryParam("withPortrait") @DefaultValue("false") Boolean withPortrait, - @Context UriInfo uriInfo, @Context HttpServletRequest httpRequest) { + @Context HttpServletRequest httpRequest) { try { Identity identity = BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false); if(identity == null) { @@ -329,7 +327,7 @@ public class UserWebService { } boolean isUserManager = isUserManager(httpRequest); - UserVO userVO = link(get(identity, null, true, isUserManager, withPortrait), uriInfo); + UserVO userVO = get(identity, null, true, isUserManager, withPortrait); return Response.ok(userVO).build(); } catch (Throwable e) { throw new WebApplicationException(e); @@ -486,7 +484,6 @@ public class UserWebService { * @response.representation.406.example {@link org.olat.restapi.support.vo.Examples#SAMPLE_ERRORVOes} * @param identityKey The user key identifier * @param user The user datas - * @param uriInfo The URI infos * @param request The HTTP request * @return <code>User</code> object. The operation status (success or fail) */ @@ -494,7 +491,7 @@ public class UserWebService { @Path("{identityKey}") @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) - public Response update(@PathParam("identityKey") Long identityKey, UserVO user, @Context UriInfo uriInfo, @Context HttpServletRequest request) { + public Response update(@PathParam("identityKey") Long identityKey, UserVO user, @Context HttpServletRequest request) { try { if(user == null) { return Response.serverError().status(Status.NO_CONTENT).build(); @@ -514,7 +511,7 @@ public class UserWebService { if(errors.isEmpty()) { post(retrievedUser, user, getLocale(request)); UserManager.getInstance().updateUser(retrievedUser); - return Response.ok(link(get(retrievedIdentity, true, true), uriInfo)).build(); + return Response.ok(get(retrievedIdentity, true, true)).build(); } //content not ok diff --git a/src/test/java/org/olat/repository/RepositoryManagerTest.java b/src/test/java/org/olat/repository/RepositoryManagerTest.java index bb86604d6b03e8e11d870680dfc1266ac03df041..33cf83a35e02220ead273f0fd8a132a5a539a483 100644 --- a/src/test/java/org/olat/repository/RepositoryManagerTest.java +++ b/src/test/java/org/olat/repository/RepositoryManagerTest.java @@ -215,7 +215,7 @@ public class RepositoryManagerTest extends OlatTestCase { securityManager.addIdentityToSecurityGroup(id, re.getParticipantGroup()); dbInstance.commitAndCloseSession(); - List<RepositoryEntry> entries = repositoryManager.getLearningResourcesAsStudent(id, 0, -1); + List<RepositoryEntry> entries = repositoryManager.getLearningResourcesAsStudent(id, 0, -1, RepositoryEntryOrder.nameAsc); Assert.assertNotNull(entries); Assert.assertFalse(entries.isEmpty()); Assert.assertTrue(entries.contains(re)); @@ -321,7 +321,7 @@ public class RepositoryManagerTest extends OlatTestCase { //check get favorite List<String> types = Collections.singletonList(re.getOlatResource().getResourceableTypeName()); - List<RepositoryEntry> entries = repositoryManager.getFavoritLearningResourcesAsTeacher(id, types, 0, -1); + List<RepositoryEntry> entries = repositoryManager.getFavoritLearningResourcesAsTeacher(id, types, 0, -1, RepositoryEntryOrder.nameAsc); Assert.assertNotNull(entries); Assert.assertEquals(1, entries.size()); Assert.assertTrue(entries.contains(re)); diff --git a/src/test/java/org/olat/restapi/ContactsTest.java b/src/test/java/org/olat/restapi/ContactsTest.java index 9ab4cc420a00a5c16c51db5fa54619a4ad71ee8d..21c078774215a39770ccca9c779e70789ef951fd 100644 --- a/src/test/java/org/olat/restapi/ContactsTest.java +++ b/src/test/java/org/olat/restapi/ContactsTest.java @@ -52,7 +52,7 @@ import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; import org.olat.test.JunitTestHelper; import org.olat.test.OlatJerseyTestCase; -import org.olat.user.restapi.UserVOes; +import org.olat.user.restapi.ContactVOes; import org.springframework.beans.factory.annotation.Autowired; public class ContactsTest extends OlatJerseyTestCase { @@ -201,7 +201,7 @@ public class ContactsTest extends OlatJerseyTestCase { HttpGet method = conn.createGet(uri.build(), MediaType.APPLICATION_JSON, true); HttpResponse response = conn.execute(method); assertEquals(200, response.getStatusLine().getStatusCode()); - UserVOes contacts = conn.parse(response, UserVOes.class); + ContactVOes contacts = conn.parse(response, ContactVOes.class); assertNotNull(contacts); assertNotNull(contacts.getUsers()); assertEquals(1, contacts.getUsers().length);