src/org/objectweb/cjdbc/common/util/SplitXmlTask.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.common.util; 00026 00027 import java.io.BufferedReader; 00028 import java.io.BufferedWriter; 00029 import java.io.File; 00030 import java.io.FileReader; 00031 import java.io.FileWriter; 00032 00033 import org.apache.tools.ant.BuildException; 00034 import org.apache.tools.ant.Task; 00035 00043 public class SplitXmlTask extends Task 00044 { 00045 private String xmlFilePath; 00046 private String outputDir; 00047 private String attributeName; 00048 private String startTagName; 00049 private String endTagName; 00050 00054 public void execute() throws BuildException 00055 { 00056 try 00057 { 00058 BufferedReader reader = new BufferedReader(new FileReader(xmlFilePath)); 00059 String lineBuffer; 00060 while ((lineBuffer = reader.readLine()) != null) 00061 { 00062 if (lineBuffer.indexOf(startTagName) != -1) 00063 { 00064 //System.out.println(lineBuffer); 00065 int index = lineBuffer.indexOf(attributeName) 00066 + attributeName.length() + 2; 00067 String fileName = lineBuffer.substring(index, lineBuffer.indexOf( 00068 '\"', index)); 00069 BufferedWriter writer = new BufferedWriter(new FileWriter(outputDir 00070 + File.separator + fileName + ".xml")); 00071 writer.write(lineBuffer + System.getProperty("line.separator")); 00072 while ((lineBuffer = reader.readLine()) != null 00073 && lineBuffer.indexOf(endTagName) == -1) 00074 { 00075 writer.write(lineBuffer + System.getProperty("line.separator")); 00076 } 00077 if (lineBuffer != null) // append last line 00078 writer.write(lineBuffer + System.getProperty("line.separator")); 00079 writer.flush(); 00080 writer.close(); 00081 continue; 00082 } 00083 } 00084 } 00085 catch (Exception e) 00086 { 00087 throw new BuildException(e.getMessage()); 00088 } 00089 } 00090 00096 public void setScriptXmlFile(String xmlFilePath) 00097 { 00098 this.xmlFilePath = xmlFilePath; 00099 } 00100 00106 public void setOutputDir(String outputDirPath) 00107 { 00108 this.outputDir = outputDirPath; 00109 File newDir = new File(outputDir); 00110 newDir.mkdirs(); 00111 } 00112 00118 public void setParsingTagName(String tagName) 00119 { 00120 this.startTagName = "<" + tagName + " "; 00121 this.endTagName = "</" + tagName + ">"; 00122 } 00123 00130 public void setOuputFileAttribute(String attributeName) 00131 { 00132 this.attributeName = attributeName; 00133 } 00134 }

CJDBCversion1.0.4に対してTue Oct 12 15:15:58 2004に生成されました。 doxygen 1.3.8