You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/08/15 06:45:24 UTC
svn commit: r804433 - in /ibatis/trunk/java/ibatis-3: ./
ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/
ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/
ibatis-3-core/src/main/java/org/apache/ibatis/mapping/
Author: cbegin
Date: Sat Aug 15 04:45:24 2009
New Revision: 804433
URL: http://svn.apache.org/viewvc?rev=804433&view=rev
Log:
JIRA-625 Mapper interfaces cannot have the class name as the XML file mapped to them. -- Fixed.
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLMapperBuilder.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
ibatis/trunk/java/ibatis-3/version.properties
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java?rev=804433&r1=804432&r2=804433&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationBuilder.java Sat Aug 15 04:45:24 2009
@@ -16,24 +16,30 @@
public class MapperAnnotationBuilder {
+ private Configuration configuration;
private MapperBuilderAssistant assistant;
private Class type;
- public MapperAnnotationBuilder(Configuration config, Class type) {
+ public MapperAnnotationBuilder(Configuration configuration, Class type) {
String resource = type.getName().replace('.', '/') + ".java (best guess)";
- this.assistant = new MapperBuilderAssistant(config, resource);
+ this.assistant = new MapperBuilderAssistant(configuration, resource);
+ this.configuration = configuration;
this.type = type;
}
public void parse() {
- loadXmlResource();
- assistant.setCurrentNamespace(type.getName());
- parseCache();
- parseCacheRef();
- Method[] methods = type.getMethods();
- for (Method method : methods) {
- parseResultsAndConstructorArgs(method);
- parseStatement(method);
+ String resource = type.toString();
+ if (!configuration.isResourceLoaded(resource)) {
+ configuration.addLoadedResource(resource);
+ loadXmlResource();
+ assistant.setCurrentNamespace(type.getName());
+ parseCache();
+ parseCacheRef();
+ Method[] methods = type.getMethods();
+ for (Method method : methods) {
+ parseResultsAndConstructorArgs(method);
+ parseStatement(method);
+ }
}
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLMapperBuilder.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLMapperBuilder.java?rev=804433&r1=804432&r2=804433&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLMapperBuilder.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/XMLMapperBuilder.java Sat Aug 15 04:45:24 2009
@@ -14,6 +14,7 @@
private XPathParser parser;
private MapperBuilderAssistant builderAssistant;
private Map<String, XNode> sqlFragments;
+ private String resource;
public XMLMapperBuilder(Reader reader, Configuration configuration, String resource, Map<String, XNode> sqlFragments, String namespace) {
this(reader, configuration, resource,sqlFragments);
@@ -25,11 +26,15 @@
this.builderAssistant = new MapperBuilderAssistant(configuration, resource);
this.parser = new XPathParser(reader, true, new XMLMapperEntityResolver(), configuration.getVariables());
this.sqlFragments = sqlFragments;
+ this.resource = resource;
}
public void parse() {
- configurationElement(parser.evalNode("/mapper"));
- bindMapperForNamespace();
+ if (!configuration.isResourceLoaded(resource)) {
+ configuration.addLoadedResource(resource);
+ configurationElement(parser.evalNode("/mapper"));
+ bindMapperForNamespace();
+ }
}
public XNode getSqlFragment(String refid) {
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java?rev=804433&r1=804432&r2=804433&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java Sat Aug 15 04:45:24 2009
@@ -50,6 +50,8 @@
private final Map<String, ParameterMap> parameterMaps = new StrictMap<String, ParameterMap>("Parameter Maps collection");
private final Map<String, KeyGenerator> keyGenerators = new StrictMap<String, KeyGenerator>("Key Generators collection");
+ private final Set<String> loadedResources = new HashSet<String>();
+
public Configuration(Environment environment) {
this();
this.environment = environment;
@@ -69,6 +71,14 @@
typeAliasRegistry.registerAlias("WEAK", WeakCache.class.getName());
}
+ public void addLoadedResource(String resource) {
+ loadedResources.add(resource);
+ }
+
+ public boolean isResourceLoaded(String resource) {
+ return loadedResources.contains(resource);
+ }
+
public Environment getEnvironment() {
return environment;
}
Modified: ibatis/trunk/java/ibatis-3/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/version.properties?rev=804433&r1=804432&r2=804433&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/version.properties (original)
+++ ibatis/trunk/java/ibatis-3/version.properties Sat Aug 15 04:45:24 2009
@@ -1,5 +1,5 @@
#Build version info
-#Wed Aug 12 21:42:50 MDT 2009
+#Fri Aug 14 21:57:15 MDT 2009
version=3.0.0
-buildDate=2009/08/12 21\:42
-buildNum=193
+buildDate=2009/08/14 21\:57
+buildNum=195