@PUT @Path("{enlaceId}") @Produces(MediaType.TEXT_XML) @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public ResponseMessage update( @PathParam("enlaceId") String enlaceId, MultivaluedMap<String, String> params) throws RegistroNoEncontradoException, ParametrosObligatoriosException { Enlace enlace = Enlace.getEnlace(Long.parseLong(enlaceId)); enlace.setOrden(Long.parseLong(getParamString(params, "orden"))); if (params.containsKey("ocw")) { enlace.setOcw(true); } else { enlace.setOcw(false); } Set<EnlaceIdioma> enlacesIdiomas = enlace.getEnlacesIdiomas(); List<Idioma> idiomas = Idioma.getIdiomasEdicion(); boolean exists = false; for (Idioma idioma : idiomas) { String url = getParamString(params, "url__" + idioma.getAcronimo().toLowerCase()); String nombre = getParamString(params, "nombre__" + idioma.getAcronimo().toLowerCase()); String descripcion = getParamString(params, "descripcion__" + idioma.getAcronimo().toLowerCase()); for (EnlaceIdioma enlaceIdioma : enlacesIdiomas) { if (enlaceIdioma.getIdioma().getAcronimo().equals(idioma.getAcronimo())) { enlaceIdioma.setUrl(url); enlaceIdioma.setNombre(nombre); enlaceIdioma.setDescripcion(descripcion); exists = true; break; } } if (!exists) { if (!url.equals("") || !nombre.equals("") || !descripcion.equals("")) { EnlaceIdioma enlaceIdioma = new EnlaceIdioma(); enlaceIdioma.setUrl(url); enlaceIdioma.setNombre(nombre); enlaceIdioma.setDescripcion(descripcion); enlaceIdioma.setIdioma(idioma); enlaceIdioma.setEnlace(enlace); enlacesIdiomas.add(enlaceIdioma); } } exists = false; } enlace.setEnlacesIdiomas(enlacesIdiomas); enlace.compruebaCamposObligatorios(idiomas.get(0).getAcronimo()); enlace.update(); return new ResponseMessage(true); }
private void setAtributosMultidioma(Enlace enlace, UIEntity entity) { for (EnlaceIdioma enlaceIdioma : enlace.getEnlacesIdiomas()) { if (enlaceIdioma.getDescripcion() != null && !enlaceIdioma.getDescripcion().equals("")) { entity.put( enlaceIdioma.getIdioma().getAcronimo(), "descripcion", enlaceIdioma.getDescripcion()); } if (enlaceIdioma.getNombre() != null && !enlaceIdioma.getNombre().equals("")) { entity.put(enlaceIdioma.getIdioma().getAcronimo(), "nombre", enlaceIdioma.getNombre()); } if (enlaceIdioma.getUrl() != null && !enlaceIdioma.getUrl().equals("")) { entity.put(enlaceIdioma.getIdioma().getAcronimo(), "url", enlaceIdioma.getUrl()); } } }