Método retorna List<Object>
En este ejemplo contamos con un Services que nos devolverá un List<Object> con varios valores en este ejemplo un objeto de tipo Solicitud y uno de tipo Boolean para indicar si debemos continuar o no.
@Stateless
public class ViajeServices {
public List<Object> asignarListViajesASolicitud(Viaje viaje, Solicitud solicitud, ResourceBundle mrb, ResourceBundle arb) {
List<Object> list = new ArrayList<>();
List<Viaje> viajeList = new ArrayList<>();
Boolean valid = false;
try {
switch (viaje.getEstatusViaje().getIdestatusviaje()) {
case "IDA/REGRESO":
viajeList.add(viaje);
viajeList.add(viaje);
valid = true;
break;
case "IDA PENDIENTE REGRESO":
viajeList.add(viaje);
break;
case "SOLO IDA":
viajeList.add(viaje);
break;
case "SOLO REGRESO":
if (solicitud.getViaje() == null || solicitud.getViaje().size() == 0) {
JmoordbUtil.warningMessage(mrb.getString("warning.solicitudnotieneviajeida"));
} else {
viajeList = solicitud.getViaje();
viajeList.add(viaje);
valid = true;
}
break;
case "NO ASIGNADO":
if (viajeList.size() == 0) {
JmoordbUtil.warningMessage(mrb.getString("warning.seleccioneunestatusviaje"));
}
break;
default:
JmoordbUtil.warningMessage(mrb.getString("warning.indiquetipoviaje"));
}
} catch (Exception e) {
errorServices.errorMessage(JmoordbUtil.nameOfClass(), JmoordbUtil.nameOfMethod(), e.getLocalizedMessage(), e);
}
solicitud.setViaje(viajeList);
list.add(valid);
list.add(solicitud);
return list;
}
}
En el Controller
Procesamos el List<Object> e identificamos el tipo de datos.
public class ViajeController implements Serializable, IController {
List<Object> objectList= viajeServices.asignarListViajesASolicitud(viaje,solicitud, rf.getMrb(), rf.getArb());
for (Object o : list) {
if (o instanceof Solicitud) {
solicitud =(Solicitud)o;
}else{
if(o instanceof Boolean){
if( !(Boolean)o){
return"";
}
}
}
}
}
Last updated
Was this helpful?