import com.webobjects.foundation.*; import com.webobjects.eocontrol.*; import com.webobjects.eoaccess.EOUtilities; import javax.xml.parsers.*; import org.xml.sax.*; import java.io.*; public class XML { public static void addNewData(String theXml) { XML.addNewData(new InputSource(new StringReader(theXml))); } public static void addNewData(InputSource inSource) { SAXParserFactory factory = SAXParserFactory.newInstance(); try { SAXParser saxParser = factory.newSAXParser(); XMLReader parser = saxParser.getXMLReader(); parsingClass ch = new parsingClass(); parser.setContentHandler(ch); parser.parse(inSource); } catch (Throwable t) { t.printStackTrace(); } } public static String buildCompleteXml() { StringBuffer xmlString = new StringBuffer(); EOEditingContext editingContext = new EOEditingContext(); xmlString.append("\n"); xmlString.append(""); // get measureTypes from database EOFetchSpecification measureTypesFS = new EOFetchSpecification("MeasurementType", null, null); NSArray measureTypes = new NSArray( editingContext.objectsWithFetchSpecification(measureTypesFS) ); // for each one found, add it to the XML for (int i=0; i < measureTypes.count(); i++) { EOGenericRecord currentType = (EOGenericRecord)measureTypes.objectAtIndex(i); xmlString.append( XML.buildTypeNode(currentType) ); } xmlString.append(""); // get weatherData from database EOFetchSpecification measuredDataFS = new EOFetchSpecification("MeasuredData", null, null); NSArray weatherData = new NSArray( editingContext.objectsWithFetchSpecification(measuredDataFS) ); // for each one found, add it to the XML for (int i=0; i < weatherData.count(); i++) { EOGenericRecord currentData = (EOGenericRecord)weatherData.objectAtIndex(i); xmlString.append( XML.buildDataNode(currentData) ); } xmlString.append(""); return xmlString.toString(); } private static String buildTypeNode(EOGenericRecord theType) { EOGenericRecord dataType = (EOGenericRecord)theType.valueForKey("dataType"); NSDictionary primaryKey = EOUtilities.primaryKeyForObject(theType.editingContext(), theType); return ""; } private static String buildDataNode(EOGenericRecord theData) { NSDictionary theDataKey = EOUtilities.primaryKeyForObject(theData.editingContext(), theData); NSTimestampFormatter formatter=new NSTimestampFormatter("%Y-%m-%d %H:%M:%S %z"); return ""; } }