List of usage examples for org.jdom2 Element getAttributeValue
public String getAttributeValue(final String attname)
This returns the attribute value for the attribute with the given name and within no namespace, null if there is no such attribute, and the empty string if the attribute value is empty.
From source file:ch.unifr.diuf.diva.did.commands.MixImages.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { String refName = task.getAttributeValue("ref"); if (refName == null) { throw new IllegalArgumentException("\n" + commandName + ": ref is required"); }//from w w w .j ava 2 s . com String cleanName = getChildString(task, "original"); refName = script.preprocess(refName); if (!script.getImages().containsKey(refName)) { throw new IllegalArgumentException( "\n" + commandName + ", <apply-mix>: cannot find ref image " + refName); } if (!script.getImages().containsKey(cleanName)) { throw new IllegalArgumentException( "\n" + commandName + ", <apply-mix>: cannot find original image " + cleanName); } Image ref = script.getImages().get(refName); Image clean = script.getImages().get(cleanName); ref = mixImages(clean, ref); script.getImages().put(refName, ref); return 0; }
From source file:ch.unifr.diuf.diva.did.commands.PepperSalt.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { String refName = task.getAttributeValue("ref"); if (refName == null) { throw new IllegalArgumentException("\n" + commandName + ": ref is required"); }/*from w w w . ja va 2 s. c om*/ refName = script.preprocess(refName); if (!script.getImages().containsKey(refName)) { throw new IllegalArgumentException("\n" + commandName + ": cannot find ref image " + refName); } Image img = script.getImages().get(refName); float noiseQuantity = getChildFloat(task, "fraction"); for (int x = 0; x < img.getWidth(); x++) { for (int y = 0; y < img.getHeight(); y++) { if (Math.random() > noiseQuantity) { continue; } float color = (Math.random() < 0.5) ? 0 : 1; for (int d = 0; d < img.getDepth(); d++) { img.set(d, x, y, color); } } } return 0; }
From source file:ch.unifr.diuf.diva.did.commands.Result.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { if (task.getAttributeValue("ref") == null) { throw new IllegalArgumentException(commandName + ": requires attribute ref"); }/*from w w w. j a va 2 s . c o m*/ String alias = task.getAttributeValue("ref"); String val = String.valueOf(script.getOutput()); script.setAlias(alias, val); return 0; }
From source file:ch.unifr.diuf.diva.did.commands.SaveImage.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { String refName = task.getAttributeValue("ref"); String fileName = task.getAttributeValue("file"); if (refName == null) { throw new IllegalArgumentException("\n" + commandName + ": ref is required"); }/* w ww . ja v a 2 s .c o m*/ if (fileName == null) { throw new IllegalArgumentException("\n" + commandName + ": file is required"); } refName = script.preprocess(refName); fileName = script.preprocess(fileName); if (!script.getImages().containsKey(refName)) { throw new IllegalArgumentException("\n" + commandName + ", <save>: cannot find ref image " + refName); } Image ref = script.getImages().get(refName); ref.write(fileName); return 0; }
From source file:ch.unifr.diuf.diva.did.commands.SelectiveBlur.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { String refName = task.getAttributeValue("ref"); if (refName == null) { throw new IllegalArgumentException("\n" + commandName + ": ref is required"); }/* www.ja v a 2 s.c o m*/ refName = script.preprocess(refName); Element rangeElement = task.getChild("range"); if (rangeElement == null) { throw new IllegalArgumentException("\n" + commandName + ": <range> is required"); } int range = Integer.parseInt(script.preprocess(rangeElement.getText())); Element thresElement = task.getChild("threshold"); if (thresElement == null) { throw new IllegalArgumentException( "\n" + commandName + ", <apply-selective-blur>: <range> is required"); } float thres = Float.parseFloat(script.preprocess(thresElement.getText())); thres = thres * thres; Image img = script.getImages().get(refName); Image res = new Image(img); for (int l = 0; l < 3; l++) { for (int x = 0; x < res.getWidth(); x++) { for (int y = 0; y < res.getHeight(); y++) { float sum = 0; int count = 0; for (int dx = -range; dx <= range; dx++) { for (int dy = -range; dy <= range; dy++) { int px = x + dx; int py = y + dy; if (px < 0 || py < 0 || px >= res.getWidth() || py >= res.getHeight()) { continue; } float dr = img.get(0, px, py) - img.get(0, x, y); float dg = img.get(1, px, py) - img.get(1, x, y); float db = img.get(2, px, py) - img.get(2, x, y); if (dr * dr + dg * dg + db * db > thres) { continue; } sum += img.get(l, px, py); count++; } } res.set(l, x, y, sum / count); } } } script.getImages().put(refName, res); return 0; }
From source file:ch.unifr.diuf.diva.did.commands.SelectiveHVBlur.java
License:Open Source License
@Override public float execute(Element task) throws IOException, JDOMException, InterruptedException { String refName = task.getAttributeValue("ref"); if (refName == null) { throw new IllegalArgumentException("\n" + commandName + ", <apply-selective-blur>: ref is required"); }/* w w w . j av a 2 s .c o m*/ refName = script.preprocess(refName); Element rangeElement = task.getChild("range"); if (rangeElement == null) { throw new IllegalArgumentException( "\n" + commandName + ", <apply-selective-blur>: <range> is required"); } int range = Integer.parseInt(script.preprocess(rangeElement.getText())); Element thresElement = task.getChild("threshold"); if (thresElement == null) { throw new IllegalArgumentException( "\n" + commandName + ", <apply-selective-blur>: <range> is required"); } float thres = Float.parseFloat(script.preprocess(thresElement.getText())); thres = thres * thres; Image img = script.getImages().get(refName); Image res = new Image(img); for (int l = 0; l < 3; l++) { for (int x = 0; x < res.getWidth(); x++) { for (int y = 0; y < res.getHeight(); y++) { float sum = 0; int count = 0; for (int d = -range; d <= range; d++) { int px = x + d; int py = y + d; if (px >= 0 && px < res.getWidth()) { float dr = img.get(0, px, y) - img.get(0, x, y); float dg = img.get(1, px, y) - img.get(1, x, y); float db = img.get(2, px, y) - img.get(2, x, y); if (dr * dr + dg * dg + db * db <= thres) { sum += img.get(l, px, y); count++; } } if (py >= 0 && py < res.getHeight()) { float dr = img.get(0, x, py) - img.get(0, x, y); float dg = img.get(1, x, py) - img.get(1, x, y); float db = img.get(2, x, py) - img.get(2, x, y); if (dr * dr + dg * dg + db * db <= thres) { sum += img.get(l, x, py); count++; } } } res.set(l, x, y, sum / count); } } } script.getImages().put(refName, res); return 0; }
From source file:Codigo.XMLReader.java
/** * Metodo utilizado para crear los grupos del mundial con la informacion de todos * los encuentros por grupo/*from w w w . j av a 2s . co m*/ * @param pEquipos equipos participantes del mundial * @param pEstadios estadio del mundial * @return lista de los grupos del mundial */ public ListaGrupos cargarCalendarioYGrupos(ListaEquipos pEquipos, ListaEstadios pEstadios) { // Formato que se va a establecer en la creacion de cada fecha SimpleDateFormat formatoFecha = new SimpleDateFormat("d/M/yy h:mm a"); // Se crea la lista de los Grupos del mundial, que se va a retornar ListaGrupos listaDeGrupos = new ListaGrupos(); //Se crea un SAXBuilder para poder parsear el archivo SAXBuilder builder = new SAXBuilder(); try { File xmlFile = new File(getClass().getResource("/XML/CalendarioGrupos.xml").toURI()); //Se crea el documento a traves del archivo Document document = (Document) builder.build(xmlFile); //Se obtiene la raiz 'Grupos' Element raizXML = document.getRootElement(); //Se obtiene la lista de hijos de la raiz 'Grupos' (Todos los grupos del mundial) List listaGruposXML = raizXML.getChildren("Grupo"); // RECORRE LA LISTA DE GRUPOS DEL MUNDIAL for (int i = 0; i < listaGruposXML.size(); i++) { //Se obtiene el elemento 'Grupo' en la posicion i de la lista Element grupo = (Element) listaGruposXML.get(i); // Obtengo el atributo con la letra del grupo char letraDelGrupo = grupo.getAttributeValue("letra").charAt(0); // Se obtine la lista de los equipos que conforma el grupo List selecciones = grupo.getChild("Equipos").getChildren("Equipo"); // Se crea un arreglo que almacenara las selecciones integrantes NodoEquipo[] equiposDelGrupo = new NodoEquipo[selecciones.size()]; // RECORRE LA LISTA DE EQUIPOS PERTENECIENTES A ESTE GRUPO for (int j = 0; j < selecciones.size(); j++) { Element equipo = (Element) selecciones.get(j); // Obtiene el nombre del equipo 'j' NodoEquipo nombreDelEquipo = pEquipos.getNodoEquipo(equipo.getText()); // Inserta nombre del equipo, en el arreglo de equiposDelGrupo equiposDelGrupo[j] = nombreDelEquipo; } // SE CREA LA LISTA QUE ALMACENARA LOS ENCUENTROS DEL GRUPO ListaCalendario calendarioDelGrupo = new ListaCalendario(); // Se obtiene la lista de todo los Encuentros correspondientes al grupo List listaDeEncuentros = grupo.getChild("Encuentros").getChildren("Partido"); // RECORRE LA LISTA DE PARTIDOS CORRESPONDIENTES A LOS EQUIPOS DEL GRUPO ACTUAL for (int j = 0; j < listaDeEncuentros.size(); j++) { Element partido = (Element) listaDeEncuentros.get(j); // Obtiene los datos de fecha y hora del encuentro String fechaDelPartido = partido.getChildText("Fecha"); String horaDelPartido = partido.getChildText("Hora"); Date fechaYHora = formatoFecha.parse(fechaDelPartido + " " + horaDelPartido); // Obtiene los datos de condiciones climaticas del encuentro String humedad = partido.getChildText("Humedad"); String velocidadViento = partido.getChildText("VelocidadViento"); String temperatura = partido.getChildText("Temperatura"); String condicionClimatica = partido.getChildText("CondicionClimatica"); // Obtiene el estadio sede del encuentro String nombreEstadioSede = partido.getChildText("Sede"); NodoEstadio estadioSede = pEstadios.getNodoEstadio(nombreEstadioSede); // Obtiene los equipos casa y visita que se enfrentan en el encuentro String nombreEquipoCasa = partido.getChildText("EquipoCasa"); NodoEquipo equipoCasa = pEquipos.getNodoEquipo(nombreEquipoCasa); String nombreEquipoVisita = partido.getChildText("EquipoVisita"); NodoEquipo equipoVisita = pEquipos.getNodoEquipo(nombreEquipoVisita); // Obtiene la cantidad de goles por equipo, en el encuentro int golesCasa = Integer.parseInt(partido.getChild("GolesCasa").getAttributeValue("goles")); String anotadoresCasa = ""; int golesVisita = Integer.parseInt(partido.getChild("GolesVisita").getAttributeValue("goles")); String anotadoresVisita = ""; // COMPRUEBA SI HUBIERON ANOTACIONES, DE LOS LOCALES, PARA OBTENER LOS ANOTADORES if (golesCasa > 0) { List anotadores = partido.getChild("GolesCasa").getChild("Anotadores") .getChildren("Anotador"); // RECORRE LA LISTA PARA OBTENER LOS ANOTADORES Y EL MINUTO DEL GOL for (int k = 0; k < anotadores.size(); k++) { Element anotador = (Element) anotadores.get(k); // OBTENGO LOS DATOS DEL ANOTADOR 'k' String nombre = anotador.getChildText("Nombre"); String minuto = anotador.getChildText("Minuto"); if (k < (anotadores.size() - 1)) { anotadoresCasa += minuto + '\'' + " " + nombre + '\n'; } else { anotadoresCasa += minuto + '\'' + " " + nombre; } } } // COMPRUEBA SI HUBIERON ANOTACIONES, DE LA VISITA, PARA OBTENER LOS ANOTADORES if (golesVisita > 0) { List anotadores = partido.getChild("GolesVisita").getChild("Anotadores") .getChildren("Anotador"); // RECORRE LA LISTA PARA OBTENER LOS ANOTADORES Y EL MINUTO DEL GOL for (int k = 0; k < anotadores.size(); k++) { Element anotador = (Element) anotadores.get(k); // OBTENGO LOS DATOS DEL ANOTADOR 'k' String nombre = anotador.getChildText("Nombre"); String minuto = anotador.getChildText("Minuto"); if (k < (anotadores.size() - 1)) { anotadoresVisita += minuto + '\'' + " " + nombre + '\n'; } else { anotadoresVisita += minuto + '\'' + " " + nombre; } } } // Crea un nuevo nodo Encuentro y lo inserta en la lista de Calendario NodoEncuentro encuentro = new NodoEncuentro(fechaYHora, humedad, velocidadViento, temperatura, estadioSede, equipoCasa, equipoVisita, golesCasa, golesVisita, anotadoresCasa, anotadoresVisita, condicionClimatica); // Inserta el nuevo nodo en la lista de Encuentros calendarioDelGrupo.insertarOrdenadoPorFecha(encuentro); } // Crea un nodo Grupo con toda la informacion del grupo actual NodoGrupo grupoDelMundial = new NodoGrupo(letraDelGrupo, equiposDelGrupo, calendarioDelGrupo); // Inserta el grupo a la lista de grupos listaDeGrupos.insertarOrdenado(grupoDelMundial); } // Retorna la lista de todos los equipos return listaDeGrupos; } catch (IOException | JDOMException | URISyntaxException | ParseException io) { System.out.println(io.getMessage()); return null; } }
From source file:codigoFonte.Sistema.java
public boolean addUser(User u) throws IOException { boolean success = false, matriculaExists = false; File file = new File("Sistema.xml"); Document newDocument = null;/*from w w w . j av a 2s.c o m*/ Element root = null; Attribute matricula = null, nome = null, tipo = null, senha = null; Element user = null; if (u.getTipo().isEmpty() || u.getTipo().isEmpty() || u.getPassword().isEmpty()) { return success; } if (file.exists()) { SAXBuilder builder = new SAXBuilder(); try { newDocument = builder.build(file); } catch (JDOMException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } root = newDocument.getRootElement(); } else { root = new Element("sistema"); newDocument = new Document(root); } if (root.getChildren().size() > 0) { List<Element> listUsers = root.getChildren(); for (Element a : listUsers) { if (a.getAttributeValue("matrcula").equals(u.getMatricula())) { matriculaExists = true; } } } if (!matriculaExists) { user = new Element("user"); matricula = new Attribute("matrcula", this.newId()); tipo = new Attribute("tipo", u.getTipo()); nome = new Attribute("nome", u.getNome()); senha = new Attribute("senha", u.getPassword()); user.setAttribute(matricula); user.setAttribute(nome); user.setAttribute(tipo); user.setAttribute(senha); //user.setAttribute(divida); root.addContent(user); success = true; } // XMLOutputter out = new XMLOutputter(); try { FileWriter arquivo = new FileWriter(file); out.output(newDocument, arquivo); } catch (IOException ex) { Logger.getLogger(Sistema.class.getName()).log(Level.SEVERE, null, ex); } return success; }
From source file:codigoFonte.Sistema.java
public boolean editarUser(User u) { File file = new File("Sistema.xml"); Document newDocument = null;//from w w w .j av a 2s. c o m Element root = null; boolean success = false; if (file.exists()) { SAXBuilder builder = new SAXBuilder(); try { newDocument = builder.build(file); } catch (JDOMException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } root = newDocument.getRootElement(); } List<Element> listusers = root.getChildren(); for (Element e : listusers) { if (e.getAttributeValue("matrcula").equals(u.getMatricula())) { e.getAttribute("nome").setValue(u.getNome()); e.getAttribute("tipo").setValue(u.getTipo()); e.getAttribute("senha").setValue(u.getPassword()); success = true; XMLOutputter out = new XMLOutputter(); try { FileWriter arquivo = new FileWriter(file); out.output(newDocument, arquivo); } catch (IOException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } return success; } } return success; }
From source file:codigoFonte.Sistema.java
public ArrayList<User> listarUser() { File file = new File("Sistema.xml"); Document newDocument = null;//from ww w .ja va 2 s . c om Element root = null; ArrayList<User> users = new ArrayList<User>(); ; ArrayList<Livro> livros = new ArrayList<Livro>(); if (file.exists()) { SAXBuilder builder = new SAXBuilder(); try { newDocument = builder.build(file); } catch (JDOMException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(User.class.getName()).log(Level.SEVERE, null, ex); } root = newDocument.getRootElement(); } else { root = new Element("sistema"); newDocument = new Document(root); } List<Element> listusers = root.getChildren(); for (Element e : listusers) { User user = new User(null, null, null, null); List<Element> listlivro = e.getChildren("livro"); List<Element> historico = e.getChildren("histrico"); if (!listlivro.isEmpty()) for (Element l : listlivro) { Livro livro = new Livro(null, null, null, 0); livro.setAutor(l.getAttributeValue("autor")); livro.setEditora(l.getAttributeValue("editora")); livro.setTitulo(l.getAttributeValue("ttulo")); livros.add(livro); } //List<Element> historico = e.getChildren("histrico"); ArrayList<Livro> historicoObjeto = new ArrayList<Livro>(); if (!historico.isEmpty()) { for (Element h : historico) { Livro livroHistorico = new Livro(null, null, null, 0); livroHistorico.setAutor(h.getAttributeValue("autor")); livroHistorico.setEditora(h.getAttributeValue("editora")); livroHistorico.setTitulo(h.getAttributeValue("ttulo")); historicoObjeto.add(livroHistorico); } } user.setMatricula(e.getAttributeValue("matrcula")); user.setNome(e.getAttributeValue("nome")); user.setTipo(e.getAttributeValue("tipo")); user.setLivros(livros); users.add(user); } return users; }