Search in sources :

Example 1 with ChangeGroupRoleRequest

use of de.vitero.schema.group.ChangeGroupRoleRequest in project OpenOLAT by OpenOLAT.

the class ViteroManager method changeGroupRole.

public ViteroStatus changeGroupRole(int groupId, int vmsUserId, int roleId) throws VmsNotAvailableException {
    try {
        Group groupWs = getGroupWebService();
        ChangeGroupRoleRequest roleRequest = new ChangeGroupRoleRequest();
        roleRequest.setGroupid(groupId);
        roleRequest.setUserid(vmsUserId);
        roleRequest.setRole(roleId);
        groupWs.changeGroupRole(roleRequest);
        return new ViteroStatus();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            case userDoesntExist:
                log.error("The user doesn ́t exist!", f);
                break;
            case groupDoesntExist:
                log.error("The group doesn ́t exist", f);
                break;
            default:
                logAxisError("Cannot add an user to a group", f);
        }
        return new ViteroStatus(code);
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot add an user to a group", e);
        return new ViteroStatus(ErrorCode.unkown);
    }
}
Also used : Group(de.vitero.schema.group.Group) ViteroGroup(org.olat.modules.vitero.model.ViteroGroup) BusinessGroup(org.olat.group.BusinessGroup) WebServiceException(javax.xml.ws.WebServiceException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ChangeGroupRoleRequest(de.vitero.schema.group.ChangeGroupRoleRequest) ViteroStatus(org.olat.modules.vitero.model.ViteroStatus) ConnectException(java.net.ConnectException)

Example 2 with ChangeGroupRoleRequest

use of de.vitero.schema.group.ChangeGroupRoleRequest in project OpenOLAT by OpenOLAT.

the class ViteroManager method addToRoom.

public ViteroStatus addToRoom(ViteroBooking booking, Identity identity, GroupRole role) throws VmsNotAvailableException {
    try {
        GetUserInfo userInfo = getVmsUserId(identity, true);
        int userId = userInfo.getUserId();
        if (userId < 0) {
            return new ViteroStatus(ErrorCode.userDoesntExist);
        }
        if (!userInfo.isCreated()) {
            // update user information
            try {
                updateVmsUser(identity, userId);
            // storePortrait(identity, userId);
            } catch (Exception e) {
                log.error("Cannot update user on vitero system:" + identity.getName(), e);
            }
        }
        Group groupWs = getGroupWebService();
        Groupiduserid groupuserId = new Groupiduserid();
        groupuserId.setGroupid(booking.getGroupId());
        groupuserId.setUserid(userId);
        groupWs.addUserToGroup(groupuserId);
        if (role != null) {
            groupWs = getGroupWebService();
            ChangeGroupRoleRequest roleRequest = new ChangeGroupRoleRequest();
            roleRequest.setGroupid(booking.getGroupId());
            roleRequest.setUserid(userId);
            roleRequest.setRole(role.getVmsValue());
            groupWs.changeGroupRole(roleRequest);
        }
        return new ViteroStatus();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            case userDoesntExist:
                log.error("The user doesn ́t exist!", f);
                break;
            case userNotAttachedToCustomer:
                log.error("The user is not attached to the customer (to which this group belongs)", f);
                break;
            case groupDoesntExist:
                log.error("The group doesn ́t exist", f);
                break;
            case invalidAttribut:
                log.error("An id <= 0", f);
                break;
            default:
                logAxisError("Cannot add an user to a group", f);
        }
        return new ViteroStatus(code);
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot add an user to a group", e);
        return new ViteroStatus(ErrorCode.unkown);
    }
}
Also used : Group(de.vitero.schema.group.Group) ViteroGroup(org.olat.modules.vitero.model.ViteroGroup) BusinessGroup(org.olat.group.BusinessGroup) Groupiduserid(de.vitero.schema.group.Groupiduserid) GetUserInfo(org.olat.modules.vitero.model.GetUserInfo) WebServiceException(javax.xml.ws.WebServiceException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ViteroStatus(org.olat.modules.vitero.model.ViteroStatus) ChangeGroupRoleRequest(de.vitero.schema.group.ChangeGroupRoleRequest) ConnectException(java.net.ConnectException) WebServiceException(javax.xml.ws.WebServiceException) ConnectTimeoutException(org.apache.commons.httpclient.ConnectTimeoutException) ParseException(java.text.ParseException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ConnectException(java.net.ConnectException)

Example 3 with ChangeGroupRoleRequest

use of de.vitero.schema.group.ChangeGroupRoleRequest in project openolat by klemens.

the class ViteroManager method changeGroupRole.

public ViteroStatus changeGroupRole(int groupId, int vmsUserId, int roleId) throws VmsNotAvailableException {
    try {
        Group groupWs = getGroupWebService();
        ChangeGroupRoleRequest roleRequest = new ChangeGroupRoleRequest();
        roleRequest.setGroupid(groupId);
        roleRequest.setUserid(vmsUserId);
        roleRequest.setRole(roleId);
        groupWs.changeGroupRole(roleRequest);
        return new ViteroStatus();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            case userDoesntExist:
                log.error("The user doesn ́t exist!", f);
                break;
            case groupDoesntExist:
                log.error("The group doesn ́t exist", f);
                break;
            default:
                logAxisError("Cannot add an user to a group", f);
        }
        return new ViteroStatus(code);
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot add an user to a group", e);
        return new ViteroStatus(ErrorCode.unkown);
    }
}
Also used : Group(de.vitero.schema.group.Group) ViteroGroup(org.olat.modules.vitero.model.ViteroGroup) BusinessGroup(org.olat.group.BusinessGroup) WebServiceException(javax.xml.ws.WebServiceException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ChangeGroupRoleRequest(de.vitero.schema.group.ChangeGroupRoleRequest) ViteroStatus(org.olat.modules.vitero.model.ViteroStatus) ConnectException(java.net.ConnectException)

Example 4 with ChangeGroupRoleRequest

use of de.vitero.schema.group.ChangeGroupRoleRequest in project openolat by klemens.

the class ViteroManager method addToRoom.

public ViteroStatus addToRoom(ViteroBooking booking, Identity identity, GroupRole role) throws VmsNotAvailableException {
    try {
        GetUserInfo userInfo = getVmsUserId(identity, true);
        int userId = userInfo.getUserId();
        if (userId < 0) {
            return new ViteroStatus(ErrorCode.userDoesntExist);
        }
        if (!userInfo.isCreated()) {
            // update user information
            try {
                updateVmsUser(identity, userId);
            // storePortrait(identity, userId);
            } catch (Exception e) {
                log.error("Cannot update user on vitero system:" + identity.getName(), e);
            }
        }
        Group groupWs = getGroupWebService();
        Groupiduserid groupuserId = new Groupiduserid();
        groupuserId.setGroupid(booking.getGroupId());
        groupuserId.setUserid(userId);
        groupWs.addUserToGroup(groupuserId);
        if (role != null) {
            groupWs = getGroupWebService();
            ChangeGroupRoleRequest roleRequest = new ChangeGroupRoleRequest();
            roleRequest.setGroupid(booking.getGroupId());
            roleRequest.setUserid(userId);
            roleRequest.setRole(role.getVmsValue());
            groupWs.changeGroupRole(roleRequest);
        }
        return new ViteroStatus();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            case userDoesntExist:
                log.error("The user doesn ́t exist!", f);
                break;
            case userNotAttachedToCustomer:
                log.error("The user is not attached to the customer (to which this group belongs)", f);
                break;
            case groupDoesntExist:
                log.error("The group doesn ́t exist", f);
                break;
            case invalidAttribut:
                log.error("An id <= 0", f);
                break;
            default:
                logAxisError("Cannot add an user to a group", f);
        }
        return new ViteroStatus(code);
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot add an user to a group", e);
        return new ViteroStatus(ErrorCode.unkown);
    }
}
Also used : Group(de.vitero.schema.group.Group) ViteroGroup(org.olat.modules.vitero.model.ViteroGroup) BusinessGroup(org.olat.group.BusinessGroup) Groupiduserid(de.vitero.schema.group.Groupiduserid) GetUserInfo(org.olat.modules.vitero.model.GetUserInfo) WebServiceException(javax.xml.ws.WebServiceException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) ViteroStatus(org.olat.modules.vitero.model.ViteroStatus) ChangeGroupRoleRequest(de.vitero.schema.group.ChangeGroupRoleRequest) ConnectException(java.net.ConnectException) WebServiceException(javax.xml.ws.WebServiceException) ConnectTimeoutException(org.apache.commons.httpclient.ConnectTimeoutException) ParseException(java.text.ParseException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ConnectException(java.net.ConnectException)

Aggregations

ChangeGroupRoleRequest (de.vitero.schema.group.ChangeGroupRoleRequest)4 Group (de.vitero.schema.group.Group)4 ConnectException (java.net.ConnectException)4 WebServiceException (javax.xml.ws.WebServiceException)4 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)4 BusinessGroup (org.olat.group.BusinessGroup)4 ErrorCode (org.olat.modules.vitero.model.ErrorCode)4 ViteroGroup (org.olat.modules.vitero.model.ViteroGroup)4 ViteroStatus (org.olat.modules.vitero.model.ViteroStatus)4 Groupiduserid (de.vitero.schema.group.Groupiduserid)2 ParseException (java.text.ParseException)2 ConnectTimeoutException (org.apache.commons.httpclient.ConnectTimeoutException)2 GetUserInfo (org.olat.modules.vitero.model.GetUserInfo)2