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 |
|
Definizione alla linea 26 del file XMLParser.java.
|
|
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 }
|
|
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.
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: ![]() |
|
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 }
|
|
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 }
|
|
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: ![]() |
|
metodo che verifica se una colonna contiene un valore
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: ![]() |
|
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: ![]() |
|
Definizione alla linea 22 del file XMLParser.java. Referenziato da clientswing.comunicationsystem.XMLParser.init(), e clientswing.comunicationsystem.XMLParser.parse(). |
|
Definizione alla linea 20 del file XMLParser.java. Referenziato da clientswing.comunicationsystem.XMLParser.parse(). |
|
Definizione alla linea 21 del file XMLParser.java. Referenziato da clientswing.comunicationsystem.XMLParser.init(). |
|
Definizione alla linea 23 del file XMLParser.java. |
|
Definizione alla linea 19 del file XMLParser.java. Referenziato da clientswing.comunicationsystem.XMLParser.parse(). |