/*
* BODY = PATRULLA
*/
String confirmacion = LogicConstants.get("SDS_NO",
"Error al asignar el recurso.");
TipoMensaje tmensaje = null;
Recurso recurso = null;
MessageProcessingException exception = null;
try {
tmensaje = TipoMensajeConsultas.getTipoByCode(SDS_CODE);
recurso = RecursoConsultas.getbyDispositivo(entrada.getOrigen());
if (recurso == null) {
throw new MessageProcessingException("No encuentro el recurso "
+ entrada.getOrigen());
}
if (!recurso.getHabilitado()) {
throw new MessageProcessingException(
"El recurso está deshabilitado ('"
+ recurso.getDispositivo() + "')");
}
recurso.setMalAsignado(true);
Patrulla p = PatrullaConsultas.find(campos[2]);
if (p == null) {
throw new MessageProcessingException(
"No encuentro la patrulla " + campos[2]);
}
recurso.setPatrullas(p);
recurso.setMalAsignado(false);
confirmacion = LogicConstants.get("SDS_SI", "Recurso asignado.");
} catch (Throwable t) {
log.error(t, t);
exception = new MessageProcessingException(
"Error al procesar un mensaje de asignacion de patrulla: "
+ t, entrada);
} finally {
try {
if (recurso != null) {
RecursoAdmin.saveOrUpdate(recurso);
}
MessageGenerator.sendMessage(tmensaje.getCodigo(), tmensaje.getTipoTetra(), tmensaje.getPrioridad(), confirmacion,
entrada.getOrigen());
} catch (MessageGeneratingException e) {
log.error(e, e);
throw new MessageProcessingException(
"Error al enviar el mensaje " + e, entrada);