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