001 /* 002 * Copyright (C) 2008-2010 by Holger Arndt 003 * 004 * This file is part of the Universal Java Matrix Package (UJMP). 005 * See the NOTICE file distributed with this work for additional 006 * information regarding copyright ownership and licensing. 007 * 008 * UJMP is free software; you can redistribute it and/or modify 009 * it under the terms of the GNU Lesser General Public License as 010 * published by the Free Software Foundation; either version 2 011 * of the License, or (at your option) any later version. 012 * 013 * UJMP is distributed in the hope that it will be useful, 014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 * GNU Lesser General Public License for more details. 017 * 018 * You should have received a copy of the GNU Lesser General Public 019 * License along with UJMP; if not, write to the 020 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 021 * Boston, MA 02110-1301 USA 022 */ 023 024 package org.ujmp.core.io; 025 026 027 public class ExportMatrixXML { 028 029 // private static boolean createXMLHeader = true; 030 // 031 // private static boolean createInfo = true; 032 // 033 // public static void toFile(File file, Matrix matrix, Object... parameters) throws IOException, 034 // MatrixException, XMLStreamException { 035 // IntelligentFileWriter writer = new IntelligentFileWriter(file); 036 // toWriter(writer, matrix, parameters); 037 // writer.close(); 038 // } 039 // 040 // public static void toStream(OutputStream outputStream, Matrix matrix, Object... parameters) 041 // throws IOException, MatrixException, XMLStreamException { 042 // OutputStreamWriter writer = new OutputStreamWriter(outputStream); 043 // toWriter(writer, matrix, parameters); 044 // writer.close(); 045 // } 046 // 047 // public static void toWriter(Writer writer, Matrix matrix, Object... parameters) 048 // throws IOException, MatrixException, XMLStreamException { 049 // if (parameters != null && parameters.length > 0) { 050 // if (parameters[0] instanceof Boolean) { 051 // createXMLHeader = (Boolean) createXMLHeader; 052 // } 053 // } 054 // 055 // XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); 056 // XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(writer); 057 // XMLEventFactory eventFactory = XMLEventFactory.newInstance(); 058 // XMLEvent newline = eventFactory.createDTD(System.getProperty("line.separator")); 059 // 060 // if (createXMLHeader == true) { 061 // StartDocument startDocument = eventFactory.createStartDocument(); 062 // eventWriter.add(startDocument); 063 // eventWriter.add(newline); 064 // } 065 // 066 // StartElement matrixStart = eventFactory.createStartElement("", "", "matrix"); 067 // eventWriter.add(matrixStart); 068 // 069 // String size = Coordinates.toString(matrix.getSize()); 070 // eventWriter.add(eventFactory.createAttribute("size", size)); 071 // 072 // String st = matrix.getStorageType().name(); 073 // eventWriter.add(eventFactory.createAttribute("storageType", st)); 074 // 075 // String vt = matrix.getValueType().name(); 076 // eventWriter.add(eventFactory.createAttribute("valueType", vt)); 077 // 078 // eventWriter.add(newline); 079 // 080 // if (createInfo == true) { 081 // eventWriter.add(eventFactory.createStartElement("", "", "info")); 082 // eventWriter.add(newline); 083 // eventWriter.add(eventFactory.createStartElement("", "", "creator")); 084 // eventWriter.add(eventFactory.createCharacters("UJMP")); 085 // eventWriter.add(eventFactory.createEndElement("", "", "creator")); 086 // eventWriter.add(newline); 087 // eventWriter.add(eventFactory.createStartElement("", "", "version")); 088 // eventWriter.add(eventFactory.createCharacters(UJMP.UJMPVERSION)); 089 // eventWriter.add(eventFactory.createEndElement("", "", "version")); 090 // eventWriter.add(newline); 091 // eventWriter.add(eventFactory.createStartElement("", "", "os")); 092 // eventWriter.add(eventFactory.createCharacters(System.getProperty("os.name"))); 093 // eventWriter.add(eventFactory.createEndElement("", "", "os")); 094 // eventWriter.add(newline); 095 // eventWriter.add(eventFactory.createStartElement("", "", "java")); 096 // eventWriter.add(eventFactory.createCharacters(System.getProperty("java.version"))); 097 // eventWriter.add(eventFactory.createEndElement("", "", "java")); 098 // eventWriter.add(newline); 099 // eventWriter.add(eventFactory.createStartElement("", "", "date")); 100 // eventWriter.add(eventFactory.createCharacters(new Date().toString())); 101 // eventWriter.add(eventFactory.createEndElement("", "", "date")); 102 // eventWriter.add(newline); 103 // eventWriter.add(eventFactory.createEndElement("", "", "info")); 104 // eventWriter.add(newline); 105 // } 106 // 107 // Annotation annotation = matrix.getAnnotation(); 108 // if (annotation != null) { 109 // eventWriter.add(eventFactory.createStartElement("", "", "annotation")); 110 // eventWriter.add(newline); 111 // 112 // Object label = annotation.getMatrixAnnotation(); 113 // if (label != null) { 114 // eventWriter.add(eventFactory.createStartElement("", "", "label")); 115 // eventWriter.add(eventFactory.createCharacters("" + label)); 116 // eventWriter.add(eventFactory.createEndElement("", "", "label")); 117 // eventWriter.add(newline); 118 // } 119 // 120 // eventWriter.add(eventFactory.createEndElement("", "", "annotation")); 121 // eventWriter.add(newline); 122 // } 123 // 124 // eventWriter.add(eventFactory.createStartElement("", "", "data")); 125 // eventWriter.add(newline); 126 // 127 // for (long[] c : matrix.availableCoordinates()) { 128 // eventWriter.add(eventFactory.createStartElement("", "", "cell")); 129 // String pos = Coordinates.toString(c); 130 // eventWriter.add(eventFactory.createAttribute("pos", pos)); 131 // 132 // eventWriter.add(eventFactory.createCharacters("" + matrix.getAsObject(c))); 133 // 134 // eventWriter.add(eventFactory.createEndElement("", "", "cell")); 135 // eventWriter.add(newline); 136 // } 137 // 138 // eventWriter.add(eventFactory.createEndElement("", "", "data")); 139 // eventWriter.add(newline); 140 // 141 // eventWriter.add(eventFactory.createEndElement("", "", "matrix")); 142 // eventWriter.add(newline); 143 // eventWriter.add(eventFactory.createEndDocument()); 144 // eventWriter.close(); 145 // } 146 147 }