Perchè mi dice che non c'è il return?? Non riesco a capire dove sta il problema!
codice://il metodo aggiunge il prodotto garantendo l'integrità e restituisce un //messaggio in Stringa a seconda delle situazioni public String setElementi(String pathXML, Prodotto prod){ try { File xml = new File(pathXML); Element root; Document doc; String msg = ""; //costruisco prodotto da inserire nel file XML Element prodotto = costruisciProdotto(prod.getImage(), prod.getMarca(), prod.getNome(), prod.getDescrizione(), prod.getPrezzoString(), prod.getQuantitaString(), prod.getID()); //l'inserimento dipende dall'esistenza del file //se non esiste creo da 0 if (!xml.exists()) { root = new Element("categorie"); doc = new Document(root); root.addContent(prodotto); msg = "E' stata creata una nuova categoria"; } //altrimenti occorre appendere il nuovo prodotto e controllare //se esiste già (metodo search) aggiungere soltanto la quantità else { SAXBuilder builder = new SAXBuilder(); doc = builder.build(pathXML); root = doc.getRootElement(); Element padre = search(root, prod.getMarca()+" "+ prod.getNome()); if (padre != null) { int currentDisponibilita = Integer.parseInt( padre.getAttributeValue("disponibilita")); int nuovaDisponibilita = currentDisponibilita + prod.getQuantita(); padre.setAttribute("disponibilita", nuovaDisponibilita + ""); msg = "Il prodotto era già presente nel catalogo. La nuova disponibilità è cambiata da " + currentDisponibilita + " a " + nuovaDisponibilita; } else { root.addContent(prodotto); msg = "Il nuovo prodotto è stato inserito con successo"; } }//else XMLOutputter outputter = new XMLOutputter(); outputter.output(doc, new FileOutputStream(xml)); return msg; }//try catch (JDOMException je) { System.out.println("Eccezione JDOM durante la lettura del documento XML"); }//cath catch (IOException ie) { System.out.println("Eccezione di IO durante la lettura del documento XML"); }//catch }//setElementi

Lancill
Rispondi quotando