List of usage examples for org.apache.ibatis.mapping ResultMap getDiscriminator
public Discriminator getDiscriminator()
From source file:com.dmm.framework.basedb.apache.ibatis.session.Configuration.java
License:Apache License
protected void checkGloballyForDiscriminatedNestedResultMaps(ResultMap rm) { if (rm.hasNestedResultMaps()) { for (Map.Entry<String, ResultMap> entry : resultMaps.entrySet()) { Object value = entry.getValue(); if (value instanceof ResultMap) { ResultMap entryResultMap = (ResultMap) value; if (!entryResultMap.hasNestedResultMaps() && entryResultMap.getDiscriminator() != null) { Collection<String> discriminatedResultMapNames = entryResultMap.getDiscriminator() .getDiscriminatorMap().values(); if (discriminatedResultMapNames.contains(rm.getId())) { entryResultMap.forceNestedResultMaps(); }/*from w w w . j a v a2s. com*/ } } } } }
From source file:com.dmm.framework.basedb.apache.ibatis.session.Configuration.java
License:Apache License
protected void checkLocallyForDiscriminatedNestedResultMaps(ResultMap rm) { if (!rm.hasNestedResultMaps() && rm.getDiscriminator() != null) { for (Map.Entry<String, String> entry : rm.getDiscriminator().getDiscriminatorMap().entrySet()) { String discriminatedResultMapName = entry.getValue(); if (hasResultMap(discriminatedResultMapName)) { ResultMap discriminatedResultMap = resultMaps.get(discriminatedResultMapName); if (discriminatedResultMap.hasNestedResultMaps()) { rm.forceNestedResultMaps(); break; }/*from w ww . j av a 2 s . c o m*/ } } } }
From source file:com.ibatis.sqlmap.engine.builder.XmlSqlMapParser.java
License:Apache License
@NodeEvent("/sqlMap/resultMap") public void sqlMapresultMap(XNode context) throws Exception { String xmlName = context.getStringAttribute("xmlName"); if (xmlName != null) { throw new UnsupportedOperationException("xmlName is not supported by iBATIS 3"); }//w w w .ja va 2 s .com String id = applyNamespace(context.getStringAttribute("id")); String resultClassName = context.getStringAttribute("class"); String extendedId = applyNamespace(context.getStringAttribute("extends")); String groupBy = context.getStringAttribute("groupBy"); if (groupBy != null) { groupByProperties = Arrays.asList(groupBy.split(", ")); } Class resultClass; try { resultClass = config.getTypeAliasRegistry().resolveAlias(resultClassName); } catch (Exception e) { throw new RuntimeException("Error configuring Result. Could not set ResultClass. Cause: " + e, e); } resultMappingList = new ArrayList<ResultMapping>(); resultMapBuilder = new ResultMap.Builder(config, id, resultClass, resultMappingList); if (extendedId != null) { ResultMap extendedResultMap = config.getResultMap(extendedId); for (ResultMapping mapping : extendedResultMap.getResultMappings()) { resultMappingList.add(mapping); } resultMapBuilder.discriminator(extendedResultMap.getDiscriminator()); } }