/** * Metodo que localiza uma SugestaoDePontoDeEncontro atraves do ID * * @param idSugestao - Recebe uma String Id da sugestão * @param idCarona - Recebe uma String Id da sugestão * @return - Retorna uma sugestao localizada na carona que possui o IdCarona * @throws CaronaException - Retorna uma exceção caso nao exista carona com o Id passado. */ public SugestaoDePontoDeEncontro getSugestaoId(String idSugestao, String idCarona) throws CaronaException { Carona caronaTemp = this.getCaronaId(idCarona); for (SugestaoDePontoDeEncontro sugestaoTemp : caronaTemp.getListaDeSugestoes()) { if (sugestaoTemp.getIdSugestao().equals(idSugestao)) { return sugestaoTemp; } } return null; }
public String sugerirPontoEncontro( String pontos, Carona carona, String idSugestao, Usuario usuarioQueSugeriu) throws CaronaException, NumeroMaximoException { SugestaoDePontoDeEncontro sugestao = new SugestaoDePontoDeEncontro(idSugestao, usuarioQueSugeriu); String[] locais = pontos.split(";"); // sugestao de locais(ponto) de // encontro for (String local : locais) { if (!carona.getListaPontosDeEncontroPermitidos().contains(local)) { sugestao.getListaDeSugestaoDePontosDeEncontro().add(local); } else { throw new IllegalArgumentException("Ponto inválido"); } } carona.getListaDeSugestoes().add(sugestao); return idSugestao; }
public void responderSugestaoPontoEncontro( SugestaoDePontoDeEncontro sugestao, String pontos, Carona carona) throws CaronaException { String[] locais = pontos.split(";"); for (String local : locais) { if (!carona.getListaPontosDeEncontroPermitidos().contains(local)) { sugestao.getlistaDeRespostasDePontosDeEncontro().add(local); carona.addPontoEncontroPermitido(local); } else { throw new IllegalArgumentException("Ponto inválido"); } } }