use of com.ibm.maximo.INCIDENTKeyType in project opennms by OpenNMS.
the class TsrmMockTest method testSaveWithMock.
@Test
public void testSaveWithMock() throws PluginException {
CreateSHSIMPINCType createIncidentType = new CreateSHSIMPINCType();
CreateSHSIMPINCResponseType incidentResponse = new CreateSHSIMPINCResponseType();
INCIDENTMboKeySetType incidentMboKeyType = new INCIDENTMboKeySetType();
INCIDENTKeyType incidentKey = new INCIDENTKeyType();
MXStringType incidentId = new MXStringType();
incidentId.setValue(INCIDENT_ID);
incidentKey.setTICKETID(incidentId);
incidentResponse.setINCIDENTMboKeySet(incidentMboKeyType);
incidentMboKeyType.getINCIDENT().add(incidentKey);
when(port.createSHSIMPINC(argThat(new CreateIncidentArg()))).thenReturn(incidentResponse);
port.createSHSIMPINC(createIncidentType);
Ticket ticket = new Ticket();
m_ticketer.saveOrUpdate(ticket);
verify(port).createSHSIMPINC(createIncidentType);
assertEquals(ticket.getId(), INCIDENT_ID);
}
use of com.ibm.maximo.INCIDENTKeyType 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);
}
}
}
Aggregations