Search in sources :

Example 1 with UpdateSHSIMPINCType

use of com.ibm.maximo.UpdateSHSIMPINCType in project opennms by OpenNMS.

the class TsrmTicketerPlugin method saveOrUpdate.

@Override
public void saveOrUpdate(Ticket ticket) throws PluginException {
    LOG.debug("saveOrUpdate called with ticket: {}", ticket);
    String ticketId = ticket.getId();
    if (StringUtils.isEmpty(ticketId)) {
        SHSIMPINCINCIDENTType incident = new SHSIMPINCINCIDENTType();
        updateIncidentWithTicket(incident, ticket);
        SHSIMPINCSetType incSetType = new SHSIMPINCSetType();
        List<SHSIMPINCINCIDENTType> incidentList = incSetType.getINCIDENT();
        incidentList.add(incident);
        CreateSHSIMPINCType createIncidentType = new CreateSHSIMPINCType();
        createIncidentType.setSHSIMPINCSet(incSetType);
        CreateSHSIMPINCResponseType response = port.createSHSIMPINC(createIncidentType);
        if (response != null) {
            List<INCIDENTKeyType> incidentKeyList = response.getINCIDENTMboKeySet().getINCIDENT();
            if (!CollectionUtils.isEmpty(incidentKeyList)) {
                // Response will only have one element in the list
                INCIDENTKeyType incidentKey = incidentKeyList.get(0);
                ticket.setId(incidentKey.getTICKETID().getValue());
            }
        }
    } else {
        SHSIMPINCQueryType queryType = new SHSIMPINCQueryType();
        SHSIMPINCQueryType.INCIDENT incidentQuery = new SHSIMPINCQueryType.INCIDENT();
        List<MXStringQueryType> ticketList = incidentQuery.getTICKETID();
        MXStringQueryType ticketQuery = new MXStringQueryType();
        ticketQuery.setValue(ticketId);
        ticketList.add(ticketQuery);
        queryType.setINCIDENT(incidentQuery);
        QuerySHSIMPINCType queryIncident = new QuerySHSIMPINCType();
        queryIncident.setSHSIMPINCQuery(queryType);
        QuerySHSIMPINCResponseType response = port.querySHSIMPINC(queryIncident);
        if (!CollectionUtils.isEmpty(response.getSHSIMPINCSet().getINCIDENT())) {
            // Response will only have one element in the list
            SHSIMPINCINCIDENTType incident = response.getSHSIMPINCSet().getINCIDENT().get(0);
            updateIncidentWithTicket(incident, ticket);
            UpdateSHSIMPINCType updateIncident = new UpdateSHSIMPINCType();
            SHSIMPINCSetType updateIncidentType = new SHSIMPINCSetType();
            updateIncidentType.getINCIDENT().add(incident);
            updateIncident.setSHSIMPINCSet(updateIncidentType);
            port.updateSHSIMPINC(updateIncident);
        }
    }
}
Also used : QuerySHSIMPINCResponseType(com.ibm.maximo.QuerySHSIMPINCResponseType) SHSIMPINCSetType(com.ibm.maximo.SHSIMPINCSetType) MXStringQueryType(com.ibm.maximo.MXStringQueryType) UpdateSHSIMPINCType(com.ibm.maximo.UpdateSHSIMPINCType) CreateSHSIMPINCResponseType(com.ibm.maximo.CreateSHSIMPINCResponseType) QuerySHSIMPINCType(com.ibm.maximo.QuerySHSIMPINCType) CreateSHSIMPINCType(com.ibm.maximo.CreateSHSIMPINCType) SHSIMPINCQueryType(com.ibm.maximo.SHSIMPINCQueryType) INCIDENTKeyType(com.ibm.maximo.INCIDENTKeyType) SHSIMPINCINCIDENTType(com.ibm.maximo.SHSIMPINCINCIDENTType)

Aggregations

CreateSHSIMPINCResponseType (com.ibm.maximo.CreateSHSIMPINCResponseType)1 CreateSHSIMPINCType (com.ibm.maximo.CreateSHSIMPINCType)1 INCIDENTKeyType (com.ibm.maximo.INCIDENTKeyType)1 MXStringQueryType (com.ibm.maximo.MXStringQueryType)1 QuerySHSIMPINCResponseType (com.ibm.maximo.QuerySHSIMPINCResponseType)1 QuerySHSIMPINCType (com.ibm.maximo.QuerySHSIMPINCType)1 SHSIMPINCINCIDENTType (com.ibm.maximo.SHSIMPINCINCIDENTType)1 SHSIMPINCQueryType (com.ibm.maximo.SHSIMPINCQueryType)1 SHSIMPINCSetType (com.ibm.maximo.SHSIMPINCSetType)1 UpdateSHSIMPINCType (com.ibm.maximo.UpdateSHSIMPINCType)1