Example usage for org.apache.ibatis.parsing XNode getValueBasedIdentifier

List of usage examples for org.apache.ibatis.parsing XNode getValueBasedIdentifier

Introduction

In this page you can find the example usage for org.apache.ibatis.parsing XNode getValueBasedIdentifier.

Prototype

public String getValueBasedIdentifier() 

Source Link

Usage

From source file:com.baomidou.mybatisplus.MybatisXMLMapperBuilder.java

License:Apache License

private ResultMap resultMapElement(XNode resultMapNode, List<ResultMapping> additionalResultMappings)
        throws Exception {
    ErrorContext.instance().activity("processing " + resultMapNode.getValueBasedIdentifier());
    String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier());
    String type = resultMapNode.getStringAttribute("type", resultMapNode.getStringAttribute("ofType",
            resultMapNode.getStringAttribute("resultType", resultMapNode.getStringAttribute("javaType"))));
    String extend = resultMapNode.getStringAttribute("extends");
    Boolean autoMapping = resultMapNode.getBooleanAttribute("autoMapping");
    Class<?> typeClass = resolveClass(type);
    Discriminator discriminator = null;//from w  w  w  . ja v  a  2  s .c o  m
    List<ResultMapping> resultMappings = new ArrayList<>();
    resultMappings.addAll(additionalResultMappings);
    List<XNode> resultChildren = resultMapNode.getChildren();
    for (XNode resultChild : resultChildren) {
        if ("constructor".equals(resultChild.getName())) {
            processConstructorElement(resultChild, typeClass, resultMappings);
        } else if ("discriminator".equals(resultChild.getName())) {
            discriminator = processDiscriminatorElement(resultChild, typeClass, resultMappings);
        } else {
            List<ResultFlag> flags = new ArrayList<>();
            if ("id".equals(resultChild.getName())) {
                flags.add(ResultFlag.ID);
            }
            resultMappings.add(buildResultMappingFromContext(resultChild, typeClass, flags));
        }
    }
    ResultMapResolver resultMapResolver = new ResultMapResolver(builderAssistant, id, typeClass, extend,
            discriminator, resultMappings, autoMapping);
    try {
        return resultMapResolver.resolve();
    } catch (IncompleteElementException e) {
        configuration.addIncompleteResultMap(resultMapResolver);
        throw e;
    }
}

From source file:com.baomidou.mybatisplus.spring.MybatisMapperRefresh.java

License:Apache License

/**
 * ?resultMap//from  w  w  w.  j a v  a  2 s.c  om
 *
 * @param list
 * @param namespace
 */
private void cleanResultMap(List<XNode> list, String namespace) {
    for (XNode resultMapNode : list) {
        String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier());
        configuration.getResultMapNames().remove(id);
        configuration.getResultMapNames().remove(namespace + "." + id);
        clearResultMap(resultMapNode, namespace);
    }
}

From source file:com.baomidou.mybatisplus.spring.MybatisMapperRefresh.java

License:Apache License

private void clearResultMap(XNode xNode, String namespace) {
    for (XNode resultChild : xNode.getChildren()) {
        if ("association".equals(resultChild.getName()) || "collection".equals(resultChild.getName())
                || "case".equals(resultChild.getName())) {
            if (resultChild.getStringAttribute("select") == null) {
                configuration.getResultMapNames()
                        .remove(resultChild.getStringAttribute("id", resultChild.getValueBasedIdentifier()));
                configuration.getResultMapNames().remove(namespace + "."
                        + resultChild.getStringAttribute("id", resultChild.getValueBasedIdentifier()));
                if (resultChild.getChildren() != null && !resultChild.getChildren().isEmpty()) {
                    clearResultMap(resultChild, namespace);
                }//from   ww w  . ja  v  a  2s.com
            }
        }
    }
}

From source file:com.dmm.framework.basedb.apache.ibatis.builder.xml.XMLMapperBuilder.java

License:Apache License

private ResultMap resultMapElement(XNode resultMapNode, List<ResultMapping> additionalResultMappings)
        throws Exception {
    ErrorContext.instance().activity("processing " + resultMapNode.getValueBasedIdentifier());
    String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier());
    String type = resultMapNode.getStringAttribute("type", resultMapNode.getStringAttribute("ofType",
            resultMapNode.getStringAttribute("resultType", resultMapNode.getStringAttribute("javaType"))));
    String extend = resultMapNode.getStringAttribute("extends");
    Boolean autoMapping = resultMapNode.getBooleanAttribute("autoMapping");
    Class<?> typeClass = resolveClass(type);
    Discriminator discriminator = null;/*  w w w  . j ava2s  . c o  m*/
    List<ResultMapping> resultMappings = new ArrayList<ResultMapping>();
    resultMappings.addAll(additionalResultMappings);
    List<XNode> resultChildren = resultMapNode.getChildren();
    for (XNode resultChild : resultChildren) {
        if ("constructor".equals(resultChild.getName())) {
            processConstructorElement(resultChild, typeClass, resultMappings);
        } else if ("discriminator".equals(resultChild.getName())) {
            discriminator = processDiscriminatorElement(resultChild, typeClass, resultMappings);
        } else {
            ArrayList<ResultFlag> flags = new ArrayList<ResultFlag>();
            if ("id".equals(resultChild.getName())) {
                flags.add(ResultFlag.ID);
            }
            resultMappings.add(buildResultMappingFromContext(resultChild, typeClass, flags));
        }
    }
    ResultMapResolver resultMapResolver = new ResultMapResolver(builderAssistant, id, typeClass, extend,
            discriminator, resultMappings, autoMapping);
    try {
        return resultMapResolver.resolve();
    } catch (IncompleteElementException e) {
        configuration.addIncompleteResultMap(resultMapResolver);
        throw e;
    }
}

From source file:com.mybatisX.core.MybatisXMLMapperBuilder.java

License:Apache License

private ResultMap resultMapElement(XNode resultMapNode, List<ResultMapping> additionalResultMappings)
        throws Exception {
    ErrorContext.instance().activity("processing " + resultMapNode.getValueBasedIdentifier());
    String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier());
    String type = resultMapNode.getStringAttribute("type", resultMapNode.getStringAttribute("ofType",
            resultMapNode.getStringAttribute("resultType", resultMapNode.getStringAttribute("javaType"))));
    String extend = resultMapNode.getStringAttribute("extends");
    Boolean autoMapping = resultMapNode.getBooleanAttribute("autoMapping");
    Class<?> typeClass = resolveClass(type);
    Discriminator discriminator = null;//from  w  w w  .j a  v a 2  s  .c  om
    List<ResultMapping> resultMappings = new ArrayList<ResultMapping>();
    resultMappings.addAll(additionalResultMappings);
    List<XNode> resultChildren = resultMapNode.getChildren();
    for (XNode resultChild : resultChildren) {
        if ("constructor".equals(resultChild.getName())) {
            processConstructorElement(resultChild, typeClass, resultMappings);
        } else if ("discriminator".equals(resultChild.getName())) {
            discriminator = processDiscriminatorElement(resultChild, typeClass, resultMappings);
        } else {
            List<ResultFlag> flags = new ArrayList<ResultFlag>();
            if ("id".equals(resultChild.getName())) {
                flags.add(ResultFlag.ID);
            }
            resultMappings.add(buildResultMappingFromContext(resultChild, typeClass, flags));
        }
    }
    ResultMapResolver resultMapResolver = new ResultMapResolver(builderAssistant, id, typeClass, extend,
            discriminator, resultMappings, autoMapping);
    try {
        return resultMapResolver.resolve();
    } catch (IncompleteElementException e) {
        configuration.addIncompleteResultMap(resultMapResolver);
        throw e;
    }
}

From source file:com.mybatisX.spring.MybatisMapperRefresh.java

License:Apache License

/**
 * ?resultMap/*from  w  w w .j ava2 s.  c o m*/
 * 
 * @param list
 * @param namespace
 */
private void cleanResultMap(List<XNode> list, String namespace) {
    for (XNode resultMapNode : list) {
        String id = resultMapNode.getStringAttribute("id", resultMapNode.getValueBasedIdentifier());
        configuration.getResultMapNames().remove(id);
        configuration.getResultMapNames().remove(namespace + "." + id);
    }
}