📄 startprocess.java
字号:
/*
* StartProcess.java
*
* Created on 2007年5月6日, 下午11:14
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package XRSystem.Process;
import java.lang.*;
import java.util.*;
import java.sql.*;
import java.net.*;
import XRSystem.Util.*;
import XRSystem.DataAccess.*;
/**
*
* @author 王刚
*/
public class StartProcess {
private String FileName;
private ArrayList<ElementNode> ElementList = new ArrayList<ElementNode>();
private ArrayList<AttributeNode> AttributeList = new ArrayList<AttributeNode>();
private ArrayList<TextNode> TextList = new ArrayList<TextNode>();
private Map<String,String> OrderMap = new HashMap<String,String>();
private Map<String,DietzEncode> ParentMap = new HashMap<String,DietzEncode>();
private ArrayList<PreElement> PreElementList = new ArrayList<PreElement>();
private ArrayList<PreAttribute> PreAttributeList = new ArrayList<PreAttribute>();
private ArrayList<PreText> PreTextList = new ArrayList<PreText>();
/** Creates a new instance of StartProcess */
public StartProcess() {
}
public boolean StoreData(URL FilePath) {
//FileName = "pub.xml";
boolean flag;
String MFile = new MediateXML().ProductXML(FilePath);
int DocumentID = GetDocumentID()+1;
String[] ThisList = FilePath.getFile().split("/");
int iList = ThisList.length;
String FileName = ThisList[iList-1].toString();
java.util.Date date=new java.util.Date();
String TimeString=new Timestamp(date.getTime()).toString();
String InsertDocument = "INSERT INTO [Document] VALUES("+DocumentID+","+"'"+FileName+"'"+","+"'"+TimeString+"'"+","+"'"+FilePath.toString()+"'"+")";
try {
new SQLResultSet().ExecuteInsert(InsertDocument);
} catch(Exception e){e.printStackTrace();}
new ViewCreation(FileName).CreateView();
OrderMap = new EncodeXML().GetOrderMap(MFile);
ParentMap = new EncodeXML().GetParentMap(MFile);
MakeInfo(DocumentID,FileName);
ViewMapInfo(OrderMap);
ViewParentMap(ParentMap);
flag=InsertData();
return flag;
}
public static void main(String[] args) {
//new XRSystem().StoreData();
}
private int GetDocumentID() {
int DocID = 0;
ResultSet rs = null;
String SQLString = "SELECT COUNT(*) AS 数目 FROM Document";
try{
rs = new SQLResultSet().ExecuteSQL(SQLString);
while(rs.next()){
DocID = rs.getInt(1);
}
} catch(SQLException e){e.printStackTrace();} catch(Exception e){e.printStackTrace();}
return DocID;
}
private void MakeInfo(int DocID,String FName) {
PreElementList = new ParseDocument().GetPreElementList(DocID,FName);
PreAttributeList = new ParseDocument().GetPreAttributeList(DocID,FName);
PreTextList = new ParseDocument().GetPreTextList(DocID,FName);
for(int i=0;i<PreElementList.size();i++){
if(i==0){
int DocumentID = PreElementList.get(i).GetDocumentID();
int ElementPre = PreElementList.get(i).GetElementPre();
int ElementPost = PreElementList.size();
String TagName = PreElementList.get(i).GetTagName();
int ParentPre = -131072;
int ParentPost = 131072;
ElementList.add(new ElementNode(DocumentID,ElementPre,ElementPost,TagName,ParentPre,ParentPost));
} else{
int DocumentID = PreElementList.get(i).GetDocumentID();
int ElementPre = PreElementList.get(i).GetElementPre();
String Temp = OrderMap.get(String.valueOf(ElementPre)).toString();
int ElementPost = (Integer.parseInt(Temp));
String TagName = PreElementList.get(i).GetTagName();
int ParentPre = ParentMap.get(String.valueOf(i)).GetParentPre();
int ParentPost = ParentMap.get(String.valueOf(i)).GetParentPost();
ElementList.add(new ElementNode(DocumentID,ElementPre,ElementPost,TagName,ParentPre,ParentPost));
}
}
for(int j=0;j<PreAttributeList.size();j++) {
int DocumentID = PreAttributeList.get(j).GetDocumentID();
int AttributeID = PreAttributeList.get(j).GetAttributeID();
int ElementPre = PreAttributeList.get(j).GetElementPre();
int ElementPost = Integer.valueOf(OrderMap.get(String.valueOf(ElementPre)));
String AttributeName = PreAttributeList.get(j).GetAttributeName();
String AttributeValue = PreAttributeList.get(j).GetAttributeValue();
AttributeList.add(new AttributeNode(DocumentID,AttributeID,ElementPre,ElementPost,AttributeName,AttributeValue));
}
for(int k=0;k<PreTextList.size();k++) {
int DocumentID = PreTextList.get(k).GetDocumentID();
int TextID = PreTextList.get(k).GetTextID();
int ElementPre = PreTextList.get(k).GetElementPre();
int ElementPost = Integer.valueOf(OrderMap.get(String.valueOf(ElementPre)));
String TextContent = PreTextList.get(k).GetTextContent();
TextList.add(new TextNode(DocumentID,TextID,ElementPre,ElementPost,TextContent));
}
}
private void ViewMapInfo(Map<String,String> TempMap) {
for(Map.Entry<String,String> ThisEntry : TempMap.entrySet() ) {
System.out.println("先序编码:"+ThisEntry.getKey()+" 后序编码:"+ThisEntry.getValue());
}
}
private static void ViewParentMap(Map<String,DietzEncode> TempMap){
for(Map.Entry<String,DietzEncode> ThisEntry : TempMap.entrySet() ) {
System.out.println("先序编码:"+ThisEntry.getKey()+" "+ThisEntry.getValue().GetParentPost()+" "+ThisEntry.getValue().GetParentPre());
}
}
private boolean InsertData(){
boolean flag;
System.out.println("元素信息表内容");
System.out.println("-----------------------------------------------------------");
String InsertElement,InsertAttribute,InsertText;
for(int i=0;i<ElementList.size();i++ ) {
//System.out.println(ElementList.get(i).GetDocumentID()+" "+ElementList.get(i).GetElementPre()+" "+ElementList.get(i).GetElementPost()+" "+ElementList.get(i).GetTagName()+" "+ElementList.get(i).GetParentPre()+" "+ElementList.get(i).GetParentPost());
InsertElement="INSERT INTO [Element] VALUES ("+ElementList.get(i).GetDocumentID()+","+ElementList.get(i).GetElementPre()+","+ElementList.get(i).GetElementPost()+",'"+ElementList.get(i).GetTagName()+"',"+ElementList.get(i).GetParentPre()+","+ElementList.get(i).GetParentPost()+")";
try{new SQLResultSet().ExecuteInsert(InsertElement);} catch(Exception e){e.printStackTrace();}
//System.out.println(InsertElement);
}
System.out.println("属性信息表内容");
System.out.println("-----------------------------------------------------------");
for(int j=0;j<AttributeList.size();j++) {
//System.out.println(AttributeList.get(j).GetDocumentID()+" "+AttributeList.get(j).GetAttributeID()+" "+AttributeList.get(j).GetElementPre()+" "+AttributeList.get(j).GetElementPost()+" "+AttributeList.get(j).GetAttributeName()+" "+AttributeList.get(j).GetAttributeValue());
InsertAttribute="INSERT INTO [Attribute] VALUES ("+AttributeList.get(j).GetDocumentID()+","+AttributeList.get(j).GetAttributeID()+","+AttributeList.get(j).GetElementPre()+","+AttributeList.get(j).GetElementPost()+",'"+AttributeList.get(j).GetAttributeName()+"','"+AttributeList.get(j).GetAttributeValue()+"')";
try{new SQLResultSet().ExecuteInsert(InsertAttribute);} catch(Exception e){e.printStackTrace();}
//System.out.println(InsertAttribute);
}
System.out.println("文本信息表内容");
System.out.println("-----------------------------------------------------------");
for(int k=0;k<TextList.size();k++) {
//System.out.println(TextList.get(k).GetDocumentID()+" "+TextList.get(k).GetTextID()+" "+TextList.get(k).GetElementPre()+" "+TextList.get(k).GetElementPost()+" "+TextList.get(k).GetTextContent());
InsertText="INSERT INTO [Text] VALUES ("+TextList.get(k).GetDocumentID()+","+TextList.get(k).GetTextID()+","+TextList.get(k).GetElementPre()+","+TextList.get(k).GetElementPost()+",'"+TextList.get(k).GetTextContent()+"')";
try{new SQLResultSet().ExecuteInsert(InsertText);} catch(Exception e){e.printStackTrace();}
//System.out.println(InsertText);
}
flag = true;
return flag;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -