1 6 7 package org.ofbiz.datafile; 8 9 import java.util.*; 10 import java.net.*; 11 import java.io.*; 12 import org.ofbiz.base.util.*; 13 import org.ofbiz.datafile.*; 14 15 19 public class DataFile2EntityXml { 20 21 22 public DataFile2EntityXml() { 23 } 24 25 28 public static void writeToEntityXml(String fileName, DataFile dataFile) throws DataFileException { 29 File file = new File(fileName); 30 BufferedWriter outFile = null; 31 32 try { 33 34 outFile = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); 36 } catch (Exception e) { 37 throw new DataFileException("Could not open file " + fileName, e); 38 } 39 try { 41 outFile.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 42 outFile.newLine(); 43 outFile.write("<entity-engine-xml>"); 44 outFile.newLine(); 45 List records = dataFile.getRecords(); 46 for(int r=0; r<records.size(); r++) { 47 Record record = (Record)records.get(r); 48 ModelRecord modelRecord = record.getModelRecord(); 49 outFile.write("<" + modelRecord.name + " "); 50 for (int f=0;f<modelRecord.fields.size(); f++) { 51 ModelField modelField = (ModelField)modelRecord.fields.get(f); 52 if (modelField.ignored) continue; 53 Object value = record.get(modelField.name); 54 if (value == null) { 55 value = modelField.defaultValue; 56 } 57 if (value instanceof String ) { 58 value = ((String )value).trim(); 59 if (((String )value).length() == 0) { 60 value = modelField.defaultValue; 61 } 62 } 63 if (value != null) { 64 outFile.write(modelField.name + "=\"" + value + "\" "); 65 } 66 } 67 outFile.write("/>"); 68 outFile.newLine(); 69 } 70 outFile.write("</entity-engine-xml>"); 71 outFile.close(); 72 } catch (IOException e) { 73 throw new DataFileException("Error writing to file " + fileName, e); 74 } 75 76 } 77 78 public static void main(String [] args) throws Exception { 79 String dataFileLoc = args[0]; 81 String definitionLoc = args[1]; 82 String definitionName = args[2]; 83 84 BufferedWriter outFile = new BufferedWriter(new FileWriter(dataFileLoc + ".xml")); 85 86 URL dataFileUrl = null; 87 dataFileUrl = UtilURL.fromFilename(dataFileLoc); 89 URL definitionUrl = null; 93 definitionUrl = UtilURL.fromFilename(definitionLoc); 95 99 DataFile dataFile = null; 100 if (dataFileUrl != null && definitionUrl != null && definitionName != null && definitionName.length() > 0) { 101 try { 102 dataFile = DataFile.readFile(dataFileUrl, definitionUrl, definitionName); 103 } catch (Exception e) { 104 } 107 } 108 109 List records = dataFile.getRecords(); 111 for(int r=0; r<records.size(); r++) { 112 Record record = (Record)records.get(r); 113 ModelRecord modelRecord = record.getModelRecord(); 114 outFile.write("<" + modelRecord.name + " "); 115 for (int f=0;f<modelRecord.fields.size(); f++) { 116 ModelField modelField = (ModelField)modelRecord.fields.get(f); 117 Object value = record.get(modelField.name); 118 if (value instanceof String ) { 119 value = ((String )value).trim(); 120 } 121 outFile.write(modelField.name + "=\"" + value + "\" "); 122 } 123 outFile.write("/>"); 124 outFile.newLine(); 125 } 126 outFile.close(); 127 128 } 129 130 } 131 | Popular Tags |