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 " ";
}
}