⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 startprocess.java

📁 使用模式映射方法
💻 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 + -