package gcom.gui.micromedicao.hidrometro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * < <Descri��o da Classe>> * * @author Administrador */ public class MovimentarHidrometroAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Define a��o de retorno ActionForward retorno = actionMapping .findForward("exibirConfirmarMovimentarHidrometro"); ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; //Obt�m a facahda Fachada fachada = Fachada.getInstancia(); //Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); // Obt�m os ids para movimenta��o String[] ids = manutencaoRegistroActionForm.getIdRegistrosRemocao(); //Mensagem de erro quando o usu�rio tenta excluir sem ter selecionado nenhum registro if (ids == null || ids.length == 0) { throw new ActionServletException( "atencao.registros.nao_selecionados"); } Collection colecaoHidrometro = (Collection) sessao .getAttribute("colecaoHidrometro"); Collection colecaoHidrometroSelecionado = fachada .obterColecaoObjetosSelecionados(colecaoHidrometro, ids); //Obt�m a quantidade de registros selecionados String numeroHidrometrosSelecionados = new Integer(ids.length).toString(); //Verifca se existe uniformidade dos locais de armazenagem String verificacao = fachada .verificarLocalArmazenagemSituacao(colecaoHidrometroSelecionado); //Caso o local de armazenagem seja diferente entre os hidr�metros selecionados if (verificacao.equals("localArmazenagemDiferente")) { throw new ActionServletException( "atencao.hidrometros.selecionados.nao.uniformidade.local.armazenagem"); } //Caso os hidr�metros selecionados estejam com algum instalado if (verificacao.equals("hidrometroInstalado")) { throw new ActionServletException( "atencao.nao.possivel.movimentar.hidrometros.instalados"); } sessao.setAttribute("numeroHidrometrosSelecionados", numeroHidrometrosSelecionados); sessao.setAttribute("colecaoHidrometroSelecionado", colecaoHidrometroSelecionado); return retorno; } }