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

📄 workflow_gxlreader.java

📁 本人的工作流模型管理器与算法控制程序包
💻 JAVA
字号:
package treedoc;
// 使用SAX读取GXL文件,现在已经不使用
import java.util.*;
import javax.xml.parsers.*;

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.util.Random.*;

public class workflow_GxlReader
    extends DefaultHandler {

//  private DB_connection db;
  public Map node;
  public Map edge;
  public Map label;
  public String lab;
  public workflow_IntoSql isql;
  java.util.Stack tags=new java.util.Stack();
  String p = null;

  private String nodeid;
  public String qname;
  public String graphname;
  String gr;
  String attr1;
  workflow_FlowTree ft;

  public workflow_GxlReader(String graphname,String qname) {

    node = new Hashtable();
    edge = new Hashtable();
    isql = new workflow_IntoSql(qname);

  }

  public void action() throws Exception {

    XMLReader xmlReader = null;
    try {
      SAXParserFactory spfactory = SAXParserFactory.newInstance();
      spfactory.setValidating(false);
      SAXParser saxParser = spfactory.newSAXParser();
      xmlReader = saxParser.getXMLReader();

      xmlReader.setContentHandler(new workflow_GxlReader(graphname,qname));
      InputSource source = new InputSource(graphname);

      xmlReader.parse(source);

    }
    catch (Exception e) {
      System.err.println(e);
    }

  }

  public void startDocument() { // 这些方法是封闭的

  }

  public void startElement(String uri, String localName, String qName,
                           Attributes attributes) {

    tags.push(qName);

    if (qName.equals("node")) {
      qname = qName;
      nodeid = attributes.getValue("id");
      node.put(qname, nodeid);

      try {
        //      isql.into_node(node);
      }
      catch (Exception e) {
      }

    }

    if (qName.equals("edge")) {
      String edgeid = attributes.getValue("id");
      String from_node = attributes.getValue("from");
      String to_node = attributes.getValue("to");

      edge.put(qName, edgeid);
      edge.put(edgeid, from_node);
      edge.put(from_node, to_node);

      try {
    //    isql.into_edge(edge);
      }
      catch (Exception e) {
      }
    }


  }

  public void characters(char[] ch, int start, int length) throws SAXException {


 /*   try {

      String chn = new String(ch, start, length);
      if (chn.startsWith("N")) {
        isql.into_node(node,chn);
      }


    }
    catch (Exception e) {

    }
*/
  }

  public void endElement(String uri, String localName, String qName) throws
      SAXException {

    //  System.out.println(graphname);
  }

  public void error(SAXParseException e) {
    //  System.out.println("Error parsing the file: " + e.getMessage());
  }

  public void warning(SAXParseException e) {
    // System.out.println("Problem parsing the file: " + e.getMessage());
  }

  public void fatalError(SAXParseException e) {
    //  System.out.println("Error parsing the file: " + e.getMessage());
    //  System.out.println("Cannot continue.");
    System.exit(1);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -