Java Code Examples for org.apache.ibatis.parsing.XNode#newXNode()
The following examples show how to use
org.apache.ibatis.parsing.XNode#newXNode() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: XMLScriptBuilder.java From mybaties with Apache License 2.0 | 6 votes |
List<SqlNode> parseDynamicTags(XNode node) { List<SqlNode> contents = new ArrayList<SqlNode>(); NodeList children = node.getNode().getChildNodes(); for (int i = 0; i < children.getLength(); i++) { XNode child = node.newXNode(children.item(i)); if (child.getNode().getNodeType() == Node.CDATA_SECTION_NODE || child.getNode().getNodeType() == Node.TEXT_NODE) { String data = child.getStringBody(""); TextSqlNode textSqlNode = new TextSqlNode(data); if (textSqlNode.isDynamic()) { contents.add(textSqlNode); isDynamic = true; } else { contents.add(new StaticTextSqlNode(data)); } } else if (child.getNode().getNodeType() == Node.ELEMENT_NODE) { // issue #628 String nodeName = child.getNode().getNodeName(); NodeHandler handler = nodeHandlers(nodeName); if (handler == null) { throw new BuilderException("Unknown element <" + nodeName + "> in SQL statement."); } handler.handleNode(child, contents); isDynamic = true; } } return contents; }
Example 2
Source File: XMLScriptBuilder.java From mybatis with Apache License 2.0 | 6 votes |
List<SqlNode> parseDynamicTags(XNode node) { List<SqlNode> contents = new ArrayList<SqlNode>(); NodeList children = node.getNode().getChildNodes(); for (int i = 0; i < children.getLength(); i++) { XNode child = node.newXNode(children.item(i)); if (child.getNode().getNodeType() == Node.CDATA_SECTION_NODE || child.getNode().getNodeType() == Node.TEXT_NODE) { String data = child.getStringBody(""); TextSqlNode textSqlNode = new TextSqlNode(data); if (textSqlNode.isDynamic()) { contents.add(textSqlNode); isDynamic = true; } else { contents.add(new StaticTextSqlNode(data)); } } else if (child.getNode().getNodeType() == Node.ELEMENT_NODE) { // issue #628 String nodeName = child.getNode().getNodeName(); NodeHandler handler = nodeHandlers(nodeName); if (handler == null) { throw new BuilderException("Unknown element <" + nodeName + "> in SQL statement."); } handler.handleNode(child, contents); isDynamic = true; } } return contents; }
Example 3
Source File: MybatisMapperParser.java From azeroth with Apache License 2.0 | 5 votes |
private static String parseSql(XNode node, Map<String, String> includeContents) { StringBuilder sql = new StringBuilder(); NodeList children = node.getNode().getChildNodes(); for (int i = 0; i < children.getLength(); i++) { XNode child = node.newXNode(children.item(i)); String data; if ("#text".equals(child.getName())) { data = child.getStringBody(""); } else if ("include".equals(child.getName())) { String refId = child.getStringAttribute("refid"); data = child.toString(); data = data.replaceAll("<\\s?include.*(" + refId + ").*>", includeContents.get(refId)); } else { data = child.toString(); // if(child.getStringBody().contains(">") || child.getStringBody().contains("<")){ // data = data.replace(child.getStringBody(), "<![CDATA["+child.getStringBody()+"]]"); // } } data = data.replaceAll("\\n+|\\t+", ""); if (StringUtils.isNotBlank(data)) { sql.append(data).append("\t").append("\n"); } } // return sql.toString().replaceAll("\\s{2,}", " "); return sql.toString(); }
Example 4
Source File: MybatisMapperParser.java From jeesuite-libs with Apache License 2.0 | 5 votes |
private static String parseSql(String fileName,XNode node,Map<String, String> includeContents) { StringBuilder sql = new StringBuilder(); NodeList children = node.getNode().getChildNodes(); for (int i = 0; i < children.getLength(); i++) { XNode child = node.newXNode(children.item(i)); String data = null; if("#text".equals(child.getName())){ data = child.getStringBody(""); }else if("include".equals(child.getName())){ String refId = child.getStringAttribute("refid"); data = child.toString(); if(includeContents.containsKey(refId)){ data = data.replaceAll("<\\s?include.*("+refId+").*>", includeContents.get(refId)); }else{ log.error(String.format(">>>>>Parse SQL from mapper[%s-%s] error,not found include key:%s", fileName,node.getStringAttribute("id"),refId)); } }else{ data = child.toString(); // if(child.getStringBody().contains(">") || child.getStringBody().contains("<")){ // data = data.replace(child.getStringBody(), "<![CDATA["+child.getStringBody()+"]]"); // } } data = data.replaceAll("\\n+|\\t+", ""); if(StringUtils.isNotBlank(data)){ sql.append(data).append("\t").append("\n"); } } // return sql.toString().replaceAll("\\s{2,}", " "); return sql.toString(); }