Riferimenti per la classe clientswing.comunicationsystem.XMLParser

Diagramma di collaborazione per clientswing.comunicationsystem.XMLParser:

Collaboration graph
[legenda]
Lista di tutti i membri.

Descrizione Dettagliata

classe che a partire dalla risposta del server ne fa il parser.

Viene utilizzata dal Controller che visualizzerà la risposta o come messaggio oppure come risultato della query

Definizione alla linea 17 del file XMLParser.java.

Membri pubblici

 XMLParser ()
XResponse parse (String xml) throws ParserConfigurationException, IOException, SAXException
 metodo che a partire dalla stringa xml che invia il server ne fa il parser e ritorna un oggetto di tipo XResponse.

Attributi con visibilità di package

XResponseRowSet xresponse

Membri privati

void init () throws ParserConfigurationException
XResponseRowSet buildRowSet (Document doc)
 metodo che a partire dall'oggetto Document creato immagazzina i valori in XResponseRowSet che a sua volta verrà usata da Controller per far visualizzare la ResponseForm.
Node findRowsetNode (Node n)
 metodo che permette di trovare un Nodo dell'albero DOM
Row readRow (Node row)
 metodo necessario per non far stampare la stringa test che il DOM assegna come valore ad ogni nodo che crea, inoltre restituisce come risultato un oggetto Row che conterrà i valori delle righe.
Column readColumn (Node column)
 metodo che verifica se una colonna contiene un valore
XResponseMessage buildMessage (Document doc)
 metodo che costruisce il messaggio di risposta a partire dal Document creato.

Attributi privati

Document doc
DocumentBuilderFactory factory
DocumentBuilder builder
InputSource source


Documentazione dei costruttori e dei distruttori

clientswing.comunicationsystem.XMLParser.XMLParser  ) 
 

Definizione alla linea 26 del file XMLParser.java.

00026                      {
00027   }


Documentazione delle funzioni membro

XResponseMessage clientswing.comunicationsystem.XMLParser.buildMessage Document  doc  )  [private]
 

metodo che costruisce il messaggio di risposta a partire dal Document creato.

Definizione alla linea 151 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.parse().

00151                                                      {
00152 
00153     Element root = doc.getDocumentElement();
00154     System.out.println("Doc:" + doc);
00155     System.out.println("root: " + root);
00156     String typeMessage = root.getFirstChild().getAttributes().getNamedItem("result").getNodeValue();
00157     String message = root.getFirstChild().getFirstChild().getNodeValue();
00158     System.out.println("Message: " + message);
00159     System.out.println("TypeMessage: " + typeMessage);
00160 
00161     XResponseMessage mesText = new XResponseMessage(typeMessage,message);
00162 
00163     return mesText;
00164 
00165   }

XResponseRowSet clientswing.comunicationsystem.XMLParser.buildRowSet Document  doc  )  [private]
 

metodo che a partire dall'oggetto Document creato immagazzina i valori in XResponseRowSet che a sua volta verrà usata da Controller per far visualizzare la ResponseForm.

Parametri:
Document 
Restituisce:
XResponseRowSet

Definizione alla linea 66 del file XMLParser.java.

Riferimenti clientswing.model.XResponseRowSet.addRow(), clientswing.comunicationsystem.XMLParser.findRowsetNode(), e clientswing.comunicationsystem.XMLParser.readRow().

Referenziato da clientswing.comunicationsystem.XMLParser.parse().

00066                                                    {
00067     XResponseRowSet  rowSet = new XResponseRowSet();
00068 
00069     Element root = doc.getDocumentElement();
00070     int i,j,k;
00071 
00072     System.out.println("Doc:" + doc);
00073     System.out.println("root: " + root);
00074 
00075 
00076     Node rowSetNode = findRowsetNode( root);
00077 
00078     System.out.println("RowSet: " + rowSetNode);
00079 
00080     if (rowSetNode == null) return null;
00081 
00082     NodeList rows = rowSetNode.getChildNodes();
00083 
00084     System.out.print("Number of rows: " + rows.getLength());
00085 
00086     for (i=0;i< rows.getLength();i++){
00087       if (!rows.item(i).getNodeName().equals("#text"))
00088         rowSet.addRow(readRow(rows.item(i) ) );
00089     }
00090 
00091     return rowSet;
00092   }

Questo è il grafo delle chiamate per questa funzione:

Node clientswing.comunicationsystem.XMLParser.findRowsetNode Node  n  )  [private]
 

metodo che permette di trovare un Nodo dell'albero DOM

Definizione alla linea 95 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.buildRowSet().

00095                                      {
00096     Node child;
00097     for (int i=0;i<n.getChildNodes().getLength();i++){
00098       child = n.getChildNodes().item(i);
00099       if (child.getNodeName().equals("rowset")) return child;
00100     }
00101 
00102     return null;
00103   }

void clientswing.comunicationsystem.XMLParser.init  )  throws ParserConfigurationException [private]
 

Definizione alla linea 29 del file XMLParser.java.

Riferimenti clientswing.comunicationsystem.XMLParser.builder, e clientswing.comunicationsystem.XMLParser.factory.

Referenziato da clientswing.comunicationsystem.XMLParser.parse().

00029                                                           {
00030     factory = DocumentBuilderFactory.newInstance();
00031     factory.setNamespaceAware(true);
00032     factory.setValidating(false);
00033     builder = factory.newDocumentBuilder();
00034 
00035 
00036   }

XResponse clientswing.comunicationsystem.XMLParser.parse String  xml  )  throws ParserConfigurationException, IOException, SAXException
 

metodo che a partire dalla stringa xml che invia il server ne fa il parser e ritorna un oggetto di tipo XResponse.

Definizione alla linea 40 del file XMLParser.java.

Riferimenti clientswing.comunicationsystem.XMLParser.builder, clientswing.comunicationsystem.XMLParser.buildMessage(), clientswing.comunicationsystem.XMLParser.buildRowSet(), clientswing.comunicationsystem.XMLParser.doc, clientswing.comunicationsystem.XMLParser.init(), e clientswing.comunicationsystem.XMLParser.xresponse.

00041                                                                     {
00042     xresponse = new XResponseRowSet();
00043     Document doc;
00044     System.out.print("XML Ricevuto:" + xml);
00045     init();
00046     doc = builder.parse( new InputSource( new StringReader(xml)));
00047 
00048     System.out.print("Parsed.. doc:" + doc);
00049 
00050     if (doc.getDocumentElement().getFirstChild().getNodeName()!="message" ){
00051       //controller fa visualizzare ResponseForm con il risultato della query
00052       return buildRowSet(doc);
00053     }
00054     else
00055       //controller fa visualizzare un messaggio
00056       return buildMessage(doc);
00057 
00058 
00059   }

Questo è il grafo delle chiamate per questa funzione:

Column clientswing.comunicationsystem.XMLParser.readColumn Node  column  )  [private]
 

metodo che verifica se una colonna contiene un valore

Parametri:
Node column
Restituisce:
Column column, che conterrà i valori delle colonne

Definizione alla linea 124 del file XMLParser.java.

Riferimenti clientswing.model.Column.setName(), e clientswing.model.Column.setValue().

Referenziato da clientswing.comunicationsystem.XMLParser.readRow().

00124                                         {
00125     Column c = new Column("noName");
00126     int i;
00127 
00128     System.out.println("Reading column" + column);
00129 
00130     for (i = 0; i < column.getChildNodes().getLength(); i++) {
00131       Node curr = column.getChildNodes().item(i);
00132       System.out.println("Found: " + curr.getNodeName() + " Value: " + curr.getNodeValue());
00133       if (curr.getNodeName().equalsIgnoreCase("name")) {
00134         c.setName(curr.getFirstChild().getNodeValue());
00135         System.out.println("Setting name to " + curr.getFirstChild().getNodeValue());
00136       }
00137       else {
00138         if (curr.getNodeName().equalsIgnoreCase("value")) {
00139           c.setValue(curr.getFirstChild().getNodeValue());
00140           System.out.println("Setting value to " + curr.getFirstChild().getNodeValue());
00141         }
00142 
00143       }
00144     }
00145 
00146     return c;
00147   }

Questo è il grafo delle chiamate per questa funzione:

Row clientswing.comunicationsystem.XMLParser.readRow Node  row  )  [private]
 

metodo necessario per non far stampare la stringa test che il DOM assegna come valore ad ogni nodo che crea, inoltre restituisce come risultato un oggetto Row che conterrà i valori delle righe.

Definizione alla linea 107 del file XMLParser.java.

Riferimenti clientswing.model.Row.addColumn(), e clientswing.comunicationsystem.XMLParser.readColumn().

Referenziato da clientswing.comunicationsystem.XMLParser.buildRowSet().

00107                                {
00108     Row r = new Row();
00109     int i;
00110 
00111     System.out.println("Reading row:" + row);
00112     NodeList columns = row.getChildNodes();
00113 
00114     for (i = 0; i < columns.getLength(); i++) {
00115       if (!columns.item(i).getNodeName().equals("#text"))
00116         r.addColumn(readColumn(row.getChildNodes().item(i)));
00117     }
00118 
00119     return r;
00120   }

Questo è il grafo delle chiamate per questa funzione:


Documentazione dei dati membri

DocumentBuilder clientswing.comunicationsystem.XMLParser.builder [private]
 

Definizione alla linea 22 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.init(), e clientswing.comunicationsystem.XMLParser.parse().

Document clientswing.comunicationsystem.XMLParser.doc [private]
 

Definizione alla linea 20 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.parse().

DocumentBuilderFactory clientswing.comunicationsystem.XMLParser.factory [private]
 

Definizione alla linea 21 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.init().

InputSource clientswing.comunicationsystem.XMLParser.source [private]
 

Definizione alla linea 23 del file XMLParser.java.

XResponseRowSet clientswing.comunicationsystem.XMLParser.xresponse [package]
 

Definizione alla linea 19 del file XMLParser.java.

Referenziato da clientswing.comunicationsystem.XMLParser.parse().


La documentazione per questa classe è stata generata a partire dal seguente file:
Generato il Wed Jun 22 16:43:00 2005 per JAEBI - Swing Client da  doxygen 1.4.3