Estou com uma exceção quando eu quero alterar os dados cadastrados
java.util.ArrayList.elementData(ArrayList.java:422)
java.util.ArrayList.remove(ArrayList.java:499)
command.AlterarOrgao.executar(AlterarOrgao.java:51)
controller.ServletController.doExecute(ServletController.java:23)
controller.ServletController.doPost(ServletController.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Classes:
package command;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import model.Orgao;
import service.OrgaoService;
public class AlterarOrgao implements Command {
@Override
public void executar(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String pId = request.getParameter("id");
String pIdHospital = request.getParameter("id_hospital");
String pQuantidade = request.getParameter("quantidade");
String pTipo = request.getParameter("tipo");
int id = -1;
int id_hospital = -1;
int quantidade = -1;
try {
id = Integer.parseInt(pId);
id_hospital = Integer.parseInt(pIdHospital);
quantidade = Integer.parseInt(pQuantidade);
} catch (NumberFormatException e) {
}
Orgao orgao = new Orgao();
orgao.setIdOrgao(id);
orgao.setIdHospital(id_hospital);
orgao.setQuantidade(quantidade);
orgao.setTipo(pTipo);
OrgaoService os = new OrgaoService();
RequestDispatcher view = null;
HttpSession session = request.getSession();
os.atualizar(orgao);
@SuppressWarnings("unchecked")
ArrayList<Orgao> lista = (ArrayList<Orgao>) session
.getAttribute("lista");
int pos = busca(orgao, lista);
lista.remove(pos);
lista.add(pos, orgao);
session.setAttribute("lista", lista);
request.setAttribute("orgao", orgao);
view = request.getRequestDispatcher("VisualizarOrgao.jsp");
view.forward(request, response);
}
public int busca(Orgao orgao, ArrayList<Orgao> lista) {
Orgao to;
for (int i = 0; i < lista.size(); i++) {
to = lista.get(i);
if (to.getIdOrgao() == orgao.getIdOrgao()) {
return i;
}
}
return -1;
}
}
JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Alterar Órgão</title>
<link rel="stylesheet" href="bootstrap/js/bootstrap.min.js" >
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" >
<link rel="stylesheet" href="style.css" >
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>
<body>
<div align="center"><a href="#"><img src="img/SocialMed.png" width="700"></a></div>
<hr/>
<br>
<!-- Container Principal -->
<div id="main" class="container">
<h3 class="page-header">Alterar Órgão #${orgao.idOrgao }</h3>
<div class="col-md-12">
<p><strong>Tipo</strong></p>
<p>
${orgao.tipo }
</p>
</div>
</div>
<form action="controller.do" method="post">
<!-- area de campos do form -->
<input type="hidden" name="idMedico" value="${orgao.idOrgao }" />
<div class="row">
<div class="form-group col-md-12">
<label for="quantidade">Quantidade</label>
<input type="text" class="form-control" name="quantidade" id="quantidade" required maxlength="100" placeholder="Quantidade de Orgãos" value="${orgao.quantidade }">
</div>
</div>
<hr />
<div id="actions" class="row">
<div class="col-md-12">
<button type="submit" class="btn btn-primary" name="command" value="AlterarOrgao">Salvar</button>
<br>
<a href="ListarOrgao.jsp" class="btn btn-default">Cancelar</a>
</div>
</div>
</form>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<br>
<br>
<br>
<ul class="nav nav-pills nav-fill">
<li class="nav-item">
<a href="index.html"><img src="img/Logo rodape socialmed.png" width="80"></img></a>
</li>
<li class="nav-item">
<a href="#"><img src="img/copyright.png" width="130"></img></a>
</li>
<li class="nav-item">
<a href="#" ><img src="img/usjt.png" width="80"></img></a>
</li>
</ul>
</body>
</html>