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

📄 domtofile.java

📁 这是一个用java和xml编写的流媒体服务器管理软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        currentNode = (Element) parentNode;        if (tryToWriteFile(currentNode))        {          return;        }      }      else      {        return;      }    }  }     // writeFirstFileInPath  /**   *    * @param nodeToWrite   * @param nodeType   * @param fileDir   * @param filename   *    * @throws NumberFormatException   */  public static void writeFileFromNode(Element nodeToWrite, int nodeType,           String fileDir,           String fileName) throws NumberFormatException,           FailedToWriteFileException  {	System.out.println("current write file nodetype is :" + nodeType);	System.out.println("nodeType :" + nodeType);    switch (nodeType)    {      case GLOBAL:      case DIGITAL_DIAL_PLAN:      case IP_DIAL_PLAN:      case FEATURE_SERVER:      case MARSHAL_SERVER:      case CDR_SERVER:      case HEARTBEAT_SERVER:      case PDP_SERVER:          	        case OSP_SERVER:      case DVR:    	        case ENV:                  case REDIRECT_SERVER:      {        String fileType = null;        if (nodeToWrite.hasAttribute("fileDir"))        {          nodeToWrite.removeAttribute("fileDir");        }        if (nodeToWrite.hasAttribute("fileName"))        {          nodeToWrite.removeAttribute("fileName");        }        if (nodeToWrite.hasAttribute("fileType"))        {          fileType = nodeToWrite.getAttribute("fileType");          nodeToWrite.removeAttribute("fileType");        }        String xmlString = new XMLUtils().buildXMLString(nodeToWrite);        writeAsIs(xmlString, fileDir, fileName);        nodeToWrite.setAttribute("fileDir", fileDir);        nodeToWrite.setAttribute("fileName", fileName);        if (fileType != null)        {          nodeToWrite.setAttribute("fileType", fileType);        }        break;      }      case FEATURE_SERVERS:      case MARSHAL_SERVERS:      case CDR_SERVERS:      case HEARTBEAT_SERVERS:      case REDIRECT_SERVERS:    	       case DVR_CLIENT:    	        case ENV_CLIENT:    	        case PDP_SERVERS:      {    	           writeListOfServers(nodeToWrite, fileDir, fileName);        break;      }      /*      case DVR_CLIENT:      {    	  writeListOfClient(nodeToWrite, fileDir, fileName);          break;      }	             case ENV_CLIENT:      {          writeListOfServers(nodeToWrite, fileDir, fileName);          break;      }	        */      default:      {        String nodeTypeString = null;        try        {          nodeTypeString = TreeNodeTypes.strings[nodeType];        }        catch (ArrayIndexOutOfBoundsException e)        {          nodeTypeString = Integer.toString(nodeType);        }        System.out.println("cannot write file for node of type "                            + nodeTypeString);        throw new NumberFormatException();      }    }  }     // writeFileFromNode  /**   * Write the given string to the given file.   * My apologies for the connection kluge. It is for Deployment.   * I realized at the last moment that I need to   * establish a connection through something other   * than the AdministrativeLogin screen.   * @param xmlString content of file to be written   * @param fileDir directory path of file to be written   * @param filename name of file to be written   * @throws FailedToWriteFileException if the write was not successful   */  protected static void writeAsIs(String xmlString, String fileDir,           String filename) throws FailedToWriteFileException  {    // if the AdministrativeLogin screen returns a null connection,    // get one from the Deployment class.    VPPTransactionWrapper connection = AdministrativeLogin.getConnection();    if (connection == null)    {      connection = DeployServers.getConnection();      if (connection == null)      {        System.out.println("Error: null connection");        return;      }    }    try    {      connection.doPut(fileDir, filename, xmlString);    }    catch (VPPException e)    {      VPPTransactionWrapper.showVPPException(e,               "Error writing " + filename + " to " + fileDir);      throw new FailedToWriteFileException(e.getMessage());    }  }  private static void writeListOfClient(final Element nodeToWrite,           String fileDir, String filename) throws FailedToWriteFileException  {	  System.out.println("string :" + nodeToWrite);    try    {      TransformerFactory tf = TransformerFactory.newInstance();      Class thisClass = Class.forName("vocal.data.DOMToFile");      java.io.InputStream resourceInput        = thisClass.getResourceAsStream("resources/ListOfClient.xsl");      if(resourceInput == null)      {        System.out.println("resourceInput is null");      }      StreamSource xslSource = new StreamSource(resourceInput);            Transformer transformer = tf.newTransformer(xslSource);      DOMSource source = new DOMSource(nodeToWrite);      StringWriter writer = new StringWriter();            StreamResult result = new StreamResult(writer);                                                                  transformer.transform(source, result);            System.out.println("string :" + writer.getBuffer().toString());        StringBuffer outputBuf = writer.getBuffer();            // delete the <? xml version line      outputBuf.delete(0, outputBuf.indexOf("?>") + 3);            writeAsIs(writer.getBuffer().toString(), fileDir, filename);    }    catch (TransformerConfigurationException e1)    {      e1.printStackTrace();    }    catch (TransformerException e2)    {      e2.printStackTrace();    }    catch (ClassNotFoundException e3)    {      e3.printStackTrace();    }  }    private static void writeListOfServers(final Element nodeToWrite,           String fileDir, String filename) throws FailedToWriteFileException  {	      try    {      TransformerFactory tf = TransformerFactory.newInstance();      Class thisClass = Class.forName("vocal.data.DOMToFile");      java.io.InputStream resourceInput        = thisClass.getResourceAsStream("resources/ListOfServers.xsl");      if(resourceInput == null)      {        System.out.println("resourceInput is null");      }      StreamSource xslSource = new StreamSource(resourceInput);            Transformer transformer = tf.newTransformer(xslSource);      //NodeList aaa =       DOMSource source = new DOMSource(nodeToWrite);      StringWriter writer = new StringWriter();            StreamResult result = new StreamResult(writer);            System.out.println("string :" + nodeToWrite);      //System.out.println("string :" + writer.getBuffer().toString());      transformer.transform(source, result);            System.out.println("string :" + writer.getBuffer().toString());        StringBuffer outputBuf = writer.getBuffer();            // delete the <? xml version line      outputBuf.delete(0, outputBuf.indexOf("?>") + 3);            writeAsIs(writer.getBuffer().toString(), fileDir, filename);    }    catch (TransformerConfigurationException e1)    {      e1.printStackTrace();    }    catch (TransformerException e2)    {      e2.printStackTrace();    }    catch (ClassNotFoundException e3)    {      e3.printStackTrace();    }  }}

⌨️ 快捷键说明

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