Search in sources :

Example 1 with Usertype

use of de.vitero.schema.user.Usertype in project OpenOLAT by OpenOLAT.

the class ViteroManager method getVmsUsersByGroup.

protected List<Usertype> getVmsUsersByGroup(int groupId) throws VmsNotAvailableException {
    try {
        GetUserListByGroupRequest listRequest = new GetUserListByGroupRequest();
        listRequest.setGroupid(groupId);
        Userlist userList = getUserWebService().getUserListByGroup(listRequest);
        List<Usertype> userTypes = userList.getUser();
        return userTypes;
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot get the list of users in group: " + groupId, f);
        }
        return null;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot get the list of users in group: " + groupId, e);
        return null;
    }
}
Also used : Usertype(de.vitero.schema.user.Usertype) GetUserListByGroupRequest(de.vitero.schema.user.GetUserListByGroupRequest) WebServiceException(javax.xml.ws.WebServiceException) Userlist(de.vitero.schema.user.Userlist) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ConnectException(java.net.ConnectException)

Example 2 with Usertype

use of de.vitero.schema.user.Usertype in project OpenOLAT by OpenOLAT.

the class ViteroManager method getGroupRoles.

/**
 * @param id The group id
 * @return
 * @throws VmsNotAvailableException
 */
public ViteroGroupRoles getGroupRoles(int id) throws VmsNotAvailableException {
    try {
        Group groupWs = getGroupWebService();
        Groupid groupId = new Groupid();
        groupId.setGroupid(id);
        Group_Type group = groupWs.getGroup(groupId);
        Completegrouptype groupType = group.getGroup();
        List<Completegrouptype.Participant> participants = groupType.getParticipant();
        int numOfParticipants = participants == null ? 0 : participants.size();
        ViteroGroupRoles groupRoles = new ViteroGroupRoles();
        if (numOfParticipants > 0) {
            Map<Integer, String> idToEmails = new HashMap<Integer, String>();
            List<Usertype> vmsUsers = getVmsUsersByGroup(id);
            if (vmsUsers != null) {
                for (Usertype vmsUser : vmsUsers) {
                    Integer userId = new Integer(vmsUser.getId());
                    String email = vmsUser.getEmail();
                    groupRoles.getEmailsOfParticipants().add(email);
                    idToEmails.put(userId, email);
                }
            }
            for (int i = 0; i < numOfParticipants; i++) {
                Completegrouptype.Participant participant = participants.get(i);
                Integer userId = new Integer(participant.getUserid());
                String email = idToEmails.get(userId);
                if (email != null) {
                    GroupRole role = GroupRole.valueOf(participant.getRole());
                    groupRoles.getEmailsToRole().put(email, role);
                    groupRoles.getEmailsToVmsUserId().put(email, userId);
                }
            }
        }
        return groupRoles;
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot get group roles", f);
        }
        return null;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        return null;
    }
}
Also used : Group(de.vitero.schema.group.Group) ViteroGroup(org.olat.modules.vitero.model.ViteroGroup) BusinessGroup(org.olat.group.BusinessGroup) ViteroGroupRoles(org.olat.modules.vitero.model.ViteroGroupRoles) Usertype(de.vitero.schema.user.Usertype) WebServiceException(javax.xml.ws.WebServiceException) HashMap(java.util.HashMap) Completegrouptype(de.vitero.schema.group.Completegrouptype) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) Group_Type(de.vitero.schema.group.Group_Type) Groupid(de.vitero.schema.group.Groupid) BigInteger(java.math.BigInteger) GroupRole(org.olat.modules.vitero.model.GroupRole) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ConnectException(java.net.ConnectException)

Example 3 with Usertype

use of de.vitero.schema.user.Usertype in project OpenOLAT by OpenOLAT.

the class ViteroManager method isUserOf.

public boolean isUserOf(ViteroBooking booking, Identity identity) throws VmsNotAvailableException {
    boolean member = false;
    GetUserInfo userInfo = getVmsUserId(identity, false);
    int userId = userInfo.getUserId();
    if (userId > 0) {
        List<Usertype> users = getVmsUsersByGroup(booking.getGroupId());
        if (users != null) {
            for (Usertype user : users) {
                if (userId == user.getId()) {
                    member = true;
                }
            }
        }
    }
    return member;
}
Also used : Usertype(de.vitero.schema.user.Usertype) GetUserInfo(org.olat.modules.vitero.model.GetUserInfo)

Example 4 with Usertype

use of de.vitero.schema.user.Usertype in project openolat by klemens.

the class ViteroManager method getVmsUsersByGroup.

protected List<Usertype> getVmsUsersByGroup(int groupId) throws VmsNotAvailableException {
    try {
        GetUserListByGroupRequest listRequest = new GetUserListByGroupRequest();
        listRequest.setGroupid(groupId);
        Userlist userList = getUserWebService().getUserListByGroup(listRequest);
        List<Usertype> userTypes = userList.getUser();
        return userTypes;
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot get the list of users in group: " + groupId, f);
        }
        return null;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot get the list of users in group: " + groupId, e);
        return null;
    }
}
Also used : Usertype(de.vitero.schema.user.Usertype) GetUserListByGroupRequest(de.vitero.schema.user.GetUserListByGroupRequest) WebServiceException(javax.xml.ws.WebServiceException) Userlist(de.vitero.schema.user.Userlist) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ConnectException(java.net.ConnectException)

Example 5 with Usertype

use of de.vitero.schema.user.Usertype in project openolat by klemens.

the class ViteroManager method isUserOf.

public boolean isUserOf(ViteroBooking booking, Identity identity) throws VmsNotAvailableException {
    boolean member = false;
    GetUserInfo userInfo = getVmsUserId(identity, false);
    int userId = userInfo.getUserId();
    if (userId > 0) {
        List<Usertype> users = getVmsUsersByGroup(booking.getGroupId());
        if (users != null) {
            for (Usertype user : users) {
                if (userId == user.getId()) {
                    member = true;
                }
            }
        }
    }
    return member;
}
Also used : Usertype(de.vitero.schema.user.Usertype) GetUserInfo(org.olat.modules.vitero.model.GetUserInfo)

Aggregations

Usertype (de.vitero.schema.user.Usertype)10 ConnectException (java.net.ConnectException)6 WebServiceException (javax.xml.ws.WebServiceException)6 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)6 ErrorCode (org.olat.modules.vitero.model.ErrorCode)6 Userlist (de.vitero.schema.user.Userlist)4 Completegrouptype (de.vitero.schema.group.Completegrouptype)2 Group (de.vitero.schema.group.Group)2 Group_Type (de.vitero.schema.group.Group_Type)2 Groupid (de.vitero.schema.group.Groupid)2 GetUserListByCustomerRequest (de.vitero.schema.user.GetUserListByCustomerRequest)2 GetUserListByGroupRequest (de.vitero.schema.user.GetUserListByGroupRequest)2 BigInteger (java.math.BigInteger)2 HashMap (java.util.HashMap)2 Authentication (org.olat.basesecurity.Authentication)2 Identity (org.olat.core.id.Identity)2 BusinessGroup (org.olat.group.BusinessGroup)2 CheckUserInfo (org.olat.modules.vitero.model.CheckUserInfo)2 GetUserInfo (org.olat.modules.vitero.model.GetUserInfo)2 GroupRole (org.olat.modules.vitero.model.GroupRole)2