📄 factory.java
字号:
//Source file: D:\\BILLFLOW\\src\\billflow\\Factory.java
//Source file: E:\\billflow\\src\\billflow\\Factory.java
package cn.myapps.core.workflow.utility;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringBufferInputStream;
import org.xml.sax.InputSource;
import org.xml.sax.Parser;
import org.xml.sax.SAXException;
import cn.myapps.core.workflow.element.FlowDiagram;
public class Factory {
private XMLOperate _xmlopt;
/**
@roseuid 3E0428D90017
*/
public Factory() {
}
public static FlowDiagram trnsXML2Dgrm(File xml) {
StringBuffer sb = new StringBuffer();
try {
FileReader fis = new FileReader(xml);
BufferedReader fr = new BufferedReader(fis);
String tmp = null;
do {
tmp = fr.readLine();
sb.append(tmp);
}
while (tmp != null);
}
catch (Exception ex) {
ex.printStackTrace();
}
String xmlStr = sb.toString();
return trnsXML2Dgrm(xmlStr);
}
/**
@param xml
@return cn.myapps.core.workflow.FlowDiagram
@roseuid 3E0404D902E6
*/
public static FlowDiagram trnsXML2Dgrm(String xml) {
XMLOperate xmlopt = new XMLOperate();
// InputStream in = new StringBufferInputStream(CommonUtil.gbTo8859(xml));
InputStream in = new java.io.ByteArrayInputStream(xml.getBytes());
// InputStream in = new StringBufferInputStream(xml);
/*
FlowDiagram fd = new FlowDiagram();
Node n = new Actor(fd);
n.name = "这是一个测试";
n.x = 50;
n.y = 50;
*/
FlowDiagram fd = null;
// Graphics g=fd.getGraphics();
Parser parser;
try {
// System.out.println("Wait parse.");
parser = makeParser("uk.co.wilson.xml.MinML");
parser.setDocumentHandler(xmlopt);
parser.parse(new InputSource(in));
fd = xmlopt.getResult();
//Graphics g=fd.getGraphics();
// System.out.println("Parse OK!");
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (SAXException sxe) {
sxe.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
return fd;
}
/**
@param elms
@return java.lang.String
@roseuid 3E0405E502CD
*/
public static String trnsDgrm2XML(java.util.Vector elms) {
return null;
}
/**
Create a XML Parser. It can use the simplest Parser Driver like MinML.
@param className
@return org.xml.sax.Parser
@throws java.lang.ClassNotFoundException
@throws java.lang.IllegalAccessException
@throws java.lang.InstantiationException
@throws java.lang.ClassCastException
@roseuid 3E0A6E1800BB
*/
private static Parser makeParser(String className) throws
ClassNotFoundException, IllegalAccessException, InstantiationException,
ClassCastException {
return (Parser) (Class.forName(className).newInstance());
}
public static void main(String[] args) {
FlowDiagram fd = trnsXML2Dgrm(new File("f:\\temp\\abdc2.xml"));
String f = "f:\\temp\\abdc2.xml";
try {
java.io.FileOutputStream os = new java.io.FileOutputStream(f);
java.io.PrintStream osw = new java.io.PrintStream(os);
osw.println(fd.toXML());
}
catch (Exception ex) {
System.out.println("error!");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -