Search in sources :

Example 1 with Groupid

use of de.vitero.schema.group.Groupid 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 2 with Groupid

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

the class ViteroManager method getGroup.

public ViteroGroup getGroup(int id) throws VmsNotAvailableException {
    try {
        Groupid groupId = new Groupid();
        groupId.setGroupid(id);
        Group_Type group = getGroupWebService().getGroup(groupId);
        Completegrouptype groupType = group.getGroup();
        return convert(groupType);
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot create a group", f);
        }
        return null;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot create a group.", e);
        return null;
    }
}
Also used : WebServiceException(javax.xml.ws.WebServiceException) Completegrouptype(de.vitero.schema.group.Completegrouptype) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) Group_Type(de.vitero.schema.group.Group_Type) Groupid(de.vitero.schema.group.Groupid) ConnectException(java.net.ConnectException)

Example 3 with Groupid

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

the class ViteroManager method createGroup.

public int createGroup(String groupName) throws VmsNotAvailableException {
    try {
        CreateGroupRequest createRequest = new CreateGroupRequest();
        Groupnamecustomerid groupInfos = new Groupnamecustomerid();
        groupInfos.setGroupname(groupName + "_OLAT_" + UUID.randomUUID().toString().replace("-", ""));
        groupInfos.setCustomerid(viteroModule.getCustomerId());
        createRequest.setGroup(groupInfos);
        Groupid groupId = getGroupWebService().createGroup(createRequest);
        return groupId.getGroupid();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot create a group", f);
        }
        return -1;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot create a group.", e);
        return -1;
    }
}
Also used : WebServiceException(javax.xml.ws.WebServiceException) CreateGroupRequest(de.vitero.schema.group.CreateGroupRequest) Groupnamecustomerid(de.vitero.schema.group.Groupnamecustomerid) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) Groupid(de.vitero.schema.group.Groupid) ConnectException(java.net.ConnectException)

Example 4 with Groupid

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

the class ViteroManager method deleteGroup.

public boolean deleteGroup(ViteroBooking vBooking) throws VmsNotAvailableException {
    try {
        Groupid groupId = new Groupid();
        groupId.setGroupid(vBooking.getGroupId());
        getGroupWebService().deleteGroup(groupId);
        return true;
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            case groupDoesntExist:
                log.error("Group doesn't exist!", f);
                break;
            case invalidAttribut:
                log.error("Group id <= 0!", f);
            default:
                logAxisError("Cannot delete group: " + vBooking.getGroupId(), f);
        }
        return false;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot delete group: " + vBooking.getGroupId(), e);
        return false;
    }
}
Also used : WebServiceException(javax.xml.ws.WebServiceException) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) Groupid(de.vitero.schema.group.Groupid) ConnectException(java.net.ConnectException)

Example 5 with Groupid

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

the class ViteroManager method createGroup.

public int createGroup(String groupName) throws VmsNotAvailableException {
    try {
        CreateGroupRequest createRequest = new CreateGroupRequest();
        Groupnamecustomerid groupInfos = new Groupnamecustomerid();
        groupInfos.setGroupname(groupName + "_OLAT_" + UUID.randomUUID().toString().replace("-", ""));
        groupInfos.setCustomerid(viteroModule.getCustomerId());
        createRequest.setGroup(groupInfos);
        Groupid groupId = getGroupWebService().createGroup(createRequest);
        return groupId.getGroupid();
    } catch (SOAPFaultException f) {
        ErrorCode code = handleAxisFault(f);
        switch(code) {
            default:
                logAxisError("Cannot create a group", f);
        }
        return -1;
    } catch (WebServiceException e) {
        if (e.getCause() instanceof ConnectException) {
            throw new VmsNotAvailableException();
        }
        log.error("Cannot create a group.", e);
        return -1;
    }
}
Also used : WebServiceException(javax.xml.ws.WebServiceException) CreateGroupRequest(de.vitero.schema.group.CreateGroupRequest) Groupnamecustomerid(de.vitero.schema.group.Groupnamecustomerid) SOAPFaultException(javax.xml.ws.soap.SOAPFaultException) ErrorCode(org.olat.modules.vitero.model.ErrorCode) Groupid(de.vitero.schema.group.Groupid) ConnectException(java.net.ConnectException)

Aggregations

Groupid (de.vitero.schema.group.Groupid)8 ConnectException (java.net.ConnectException)8 WebServiceException (javax.xml.ws.WebServiceException)8 SOAPFaultException (javax.xml.ws.soap.SOAPFaultException)8 ErrorCode (org.olat.modules.vitero.model.ErrorCode)8 Completegrouptype (de.vitero.schema.group.Completegrouptype)4 Group_Type (de.vitero.schema.group.Group_Type)4 CreateGroupRequest (de.vitero.schema.group.CreateGroupRequest)2 Group (de.vitero.schema.group.Group)2 Groupnamecustomerid (de.vitero.schema.group.Groupnamecustomerid)2 Usertype (de.vitero.schema.user.Usertype)2 BigInteger (java.math.BigInteger)2 HashMap (java.util.HashMap)2 BusinessGroup (org.olat.group.BusinessGroup)2 GroupRole (org.olat.modules.vitero.model.GroupRole)2 ViteroGroup (org.olat.modules.vitero.model.ViteroGroup)2 ViteroGroupRoles (org.olat.modules.vitero.model.ViteroGroupRoles)2