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

📄 xpathtransformertest.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
package org.xmlBlaster.test.mime;import java.io.File;import org.custommonkey.xmlunit.XMLTestCase;import org.xmlBlaster.authentication.SessionInfo;import org.xmlBlaster.engine.ServerScope;import org.xmlBlaster.engine.mime.Query;import org.xmlBlaster.engine.mime.xpath.XPathFilter;import org.xmlBlaster.util.FileLocator;import org.xmlBlaster.util.Global;import org.xmlBlaster.util.MsgUnit;import org.xmlBlaster.util.Timestamp;import org.xmlBlaster.util.plugin.PluginInfo;/** * Test the MIME XPath plugin <tt>org.xmlBlaster.engine.mime.xpath.XPathFilter</tt>.  * @author Marcel Ruff * @see <a href="http://www.xmlBlaster.org/xmlBlaster/doc/requirements/mime.plugin.access.xpath.html">The mime.plugin.access.xpath requirement</a> */public class XPathTransformerTest extends XMLTestCase {   public void testXpathQos() throws Exception {      ServerScope scope = new ServerScope();      Global glob = scope;      XPathFilter filter = new XPathFilter();      filter.initialize(scope);      String content = "SomethingFancy";      String queryStr = "/qos";      String qos = "<qos/>";            MsgUnit msgUnit = new MsgUnit("<key oid='Hello'/>", content, qos);      msgUnit.getQosData().setRcvTimestamp(new Timestamp());      SessionInfo sessionInfo = null;      PluginInfo info = new PluginInfo(glob, null, "XPathFilter", "1.0");      info.getParameters().put(XPathFilter.MATCH_AGAINST_QOS, ""+true);      filter.init(glob, info);            {         Query query = new Query(glob, queryStr);         boolean ret = filter.match(sessionInfo, msgUnit, query);         System.out.println("Match: " + ret + "\nResult: " + msgUnit.getQos());         assertTrue(queryStr + " should match", ret);      }      {         queryStr = "/a";         Query query = new Query(glob, queryStr);         boolean ret = filter.match(sessionInfo, msgUnit, query);         System.out.println("Match: " + ret + "\nResult: " + msgUnit.getQos());         assertFalse(queryStr + " shouldn't match", ret);      }   }   public void testXsltTransformation() throws Exception {      ServerScope scope = new ServerScope();      Global glob = scope;      XPathFilter filter = new XPathFilter();      filter.initialize(scope);      String content = "<a><b/></a>";      String xslFile = "test.xsl";      String queryStr = "/a";      String qos = "<qos/>";            FileLocator.writeFile(xslFile,         "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" +         "  <xsl:template match ='/'>" +         "    <c/>" +         "  </xsl:template>" +         "</xsl:stylesheet>");            try {         MsgUnit msgUnit = new MsgUnit("<key oid='Hello'/>", content, qos);         msgUnit.getQosData().setRcvTimestamp(new Timestamp());         SessionInfo sessionInfo = null;            PluginInfo info = new PluginInfo(glob, null, "XPathFilter", "1.0");         info.getParameters().put(XPathFilter.XSL_CONTENT_TRANSFORMER_FILE_NAME, xslFile);         filter.init(glob, info);                  Query query = new Query(glob, queryStr);         boolean ret = filter.match(sessionInfo, msgUnit, query);         System.out.println("Match: " + ret + "\nResult: " + msgUnit.getContentStr());         assertTrue(ret);         assertXMLEqual("<c/>", msgUnit.getContentStr());      }      finally {         File f = new File(xslFile);         f.delete();      }   }}

⌨️ 快捷键说明

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