Author: cbegin
Date: Tue May 19 04:54:33 2009
New Revision: 776184
URL: http://svn.apache.org/viewvc?rev=776184&view=rev
Log:
Removed annotation support for join mapping due to Java annotation limitation
(cyclic element type) -- currently commented out code, will remove in next
commit.
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Arg.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomain.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomainRef.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Case.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ConstructorArgs.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/DeleteProvider.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/InsertProvider.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Many.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/One.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Options.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/SelectProvider.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/TypeDiscriminator.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/UpdateProvider.java
Removed:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Annotations.java
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationParser.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Arg.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Arg.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Arg.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Arg.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,22 @@
+package org.apache.ibatis.annotations;
+
+import org.apache.ibatis.type.JdbcType;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Arg {
+ public abstract boolean id() default false;
+
+ public abstract String column() default "";
+
+ public abstract Class javaType() default void.class;
+
+ public abstract JdbcType jdbcType() default JdbcType.UNDEFINED;
+
+ public abstract Class typeHandler() default void.class;
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomain.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomain.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomain.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomain.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,23 @@
+package org.apache.ibatis.annotations;
+
+import org.apache.ibatis.cache.impl.PerpetualCache;
+import org.apache.ibatis.cache.decorators.LruCache;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.TYPE)
+ public @interface CacheDomain {
+ public abstract Class<? extends org.apache.ibatis.cache.Cache>
implementation() default PerpetualCache.class;
+
+ public abstract Class<? extends org.apache.ibatis.cache.Cache> eviction()
default LruCache.class;
+
+ public abstract long flushInterval() default 3600000;
+
+ public abstract int size() default 1000;
+
+ public abstract boolean readWrite() default true;
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomainRef.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomainRef.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomainRef.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/CacheDomainRef.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.TYPE)
+ public @interface CacheDomainRef {
+ public abstract Class value();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Case.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Case.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Case.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Case.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,16 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Case {
+ public abstract String value();
+
+ public abstract Class type();
+
+ public abstract Result[] results() default {};
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ConstructorArgs.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ConstructorArgs.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ConstructorArgs.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/ConstructorArgs.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface ConstructorArgs {
+ public abstract Arg[] value() default {};
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Delete.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Delete {
+ public abstract String[] value();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/DeleteProvider.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/DeleteProvider.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/DeleteProvider.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/DeleteProvider.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,14 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface DeleteProvider {
+ public abstract Class type();
+
+ public abstract String method();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Insert.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Insert {
+ public abstract String[] value();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/InsertProvider.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/InsertProvider.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/InsertProvider.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/InsertProvider.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,14 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface InsertProvider {
+ public abstract Class type();
+
+ public abstract String method();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Many.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Many.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Many.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Many.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,18 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Many {
+ public abstract Class javaType();
+
+ public abstract String select() default "";
+
+ public abstract ConstructorArgs constructor() default @ConstructorArgs;
+
+// public abstract Results results() default @Results;
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/One.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/One.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/One.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/One.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,16 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface One {
+ public abstract String select() default "";
+
+ public abstract ConstructorArgs constructor() default @ConstructorArgs;
+
+// public abstract Results results() default @Results;
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Options.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Options.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Options.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Options.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,29 @@
+package org.apache.ibatis.annotations;
+
+import org.apache.ibatis.mapping.ResultSetType;
+import org.apache.ibatis.mapping.StatementType;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Options {
+ public abstract boolean useCache() default true;
+
+ public abstract boolean flushCache() default false;
+
+ public abstract ResultSetType resultSetType() default
ResultSetType.FORWARD_ONLY;
+
+ public abstract StatementType statementType() default StatementType.PREPARED;
+
+ public abstract int fetchSize() default -1;
+
+ public abstract int timeout() default -1;
+
+ public abstract boolean useGeneratedKeys() default false;
+
+ public abstract String keyProperty() default "id";
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Result.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,28 @@
+package org.apache.ibatis.annotations;
+
+import org.apache.ibatis.type.JdbcType;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Result {
+ public abstract boolean id() default false;
+
+ public abstract String column() default "";
+
+ public abstract String property() default "";
+
+ public abstract Class javaType() default void.class;
+
+ public abstract JdbcType jdbcType() default JdbcType.UNDEFINED;
+
+ public abstract Class typeHandler() default void.class;
+
+ public abstract One one() default @One;
+
+ public abstract Many many() default @Many(javaType = void.class);
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Results.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Results {
+ public abstract Result[] value() default {};
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Select.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Select {
+ public abstract String[] value();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/SelectProvider.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/SelectProvider.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/SelectProvider.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/SelectProvider.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,14 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface SelectProvider {
+ public abstract Class type();
+
+ public abstract String method();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/TypeDiscriminator.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/TypeDiscriminator.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/TypeDiscriminator.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/TypeDiscriminator.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,22 @@
+package org.apache.ibatis.annotations;
+
+import org.apache.ibatis.type.JdbcType;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface TypeDiscriminator {
+ public abstract String column();
+
+ public abstract Class javaType() default void.class;
+
+ public abstract JdbcType jdbcType() default JdbcType.UNDEFINED;
+
+ public abstract Class typeHandler() default void.class;
+
+ public abstract Case[] cases();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/Update.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,12 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface Update {
+ public abstract String[] value();
+}
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/UpdateProvider.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/UpdateProvider.java?rev=776184&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/UpdateProvider.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/annotations/UpdateProvider.java
Tue May 19 04:54:33 2009
@@ -0,0 +1,14 @@
+package org.apache.ibatis.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.lang.annotation.ElementType;
+
+...@retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.METHOD)
+ public @interface UpdateProvider {
+ public abstract Class type();
+
+ public abstract String method();
+}
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationParser.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationParser.java?rev=776184&r1=776183&r2=776184&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationParser.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/annotation/MapperAnnotationParser.java
Tue May 19 04:54:33 2009
@@ -1,6 +1,6 @@
package org.apache.ibatis.builder.annotation;
-import static org.apache.ibatis.annotations.Annotations.*;
+import org.apache.ibatis.annotations.*;
import org.apache.ibatis.binding.BindingException;
import org.apache.ibatis.builder.*;
import org.apache.ibatis.builder.xml.XMLMapperParser;
@@ -149,16 +149,16 @@
for (Result result : results) {
ensureHasOnlyCollectionOrResultNotBoth(result);
if (hasCollection(result)) {
- Class propertyType = result.many().javaType();
- Arg[] nestedArgs = result.many().constructor().value();
- Result[] nestedResults = result.many().results().value();
- applyResultMap(nestedResultMapId(resultMapId, result), propertyType,
nestedArgs, nestedResults, null);
+// Class propertyType = result.many().javaType();
+// Arg[] nestedArgs = result.many().constructor().value();
+// Result[] nestedResults = result.many().results().value();
+// applyResultMap(nestedResultMapId(resultMapId, result),
propertyType, nestedArgs, nestedResults, null);
}
if (hasAssociation(result)) {
- Class propertyType =
MetaClass.forClass(returnType).getSetterType(result.property());
- Arg[] nestedArgs = result.one().constructor().value();
- Result[] nestedResults = result.one().results().value();
- applyResultMap(nestedResultMapId(resultMapId, result), propertyType,
nestedArgs, nestedResults, null);
+// Class propertyType =
MetaClass.forClass(returnType).getSetterType(result.property());
+// Arg[] nestedArgs = result.one().constructor().value();
+// Result[] nestedResults = result.one().results().value();
+// applyResultMap(nestedResultMapId(resultMapId, result),
propertyType, nestedArgs, nestedResults, null);
}
}
}
@@ -359,13 +359,13 @@
}
private boolean hasAssociation(Result result) {
- return result.one().constructor().value().length > 1
- || result.one().results().value().length > 1;
+ return result.one().constructor().value().length > 1;
+// || result.one().results().value().length > 1;
}
private boolean hasCollection(Result result) {
- return result.many().constructor().value().length > 1
- || result.many().results().value().length > 1;
+ return result.many().constructor().value().length > 1;
+// || result.many().results().value().length > 1;
}
private Result[] resultsIf(Results results) {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java?rev=776184&r1=776183&r2=776184&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
Tue May 19 04:54:33 2009
@@ -138,25 +138,25 @@
}
}
- @Test
- public void shouldSelectBlogWithAssociations() {
- SqlSession session = sqlSessionFactory.openSession();
- try {
- BoundBlogMapper mapper = session.getMapper(BoundBlogMapper.class);
- List<Blog> blogs = mapper.selectBlogWithAssociations(1);
- assertEquals(1, blogs.size());
- Blog blog = blogs.get(0);
- assertEquals(2, blog.getPosts().size());
- Post firstPost = blog.getPosts().get(0);
- assertEquals(3, firstPost.getTags().size());
- assertEquals(2, firstPost.getComments().size());
- Post secondPost = blog.getPosts().get(1);
- assertEquals(1, secondPost.getTags().size());
- assertEquals(0, secondPost.getComments().size());
- } finally {
- session.close();
- }
- }
+// @Test
+// public void shouldSelectBlogWithAssociations() {
+// SqlSession session = sqlSessionFactory.openSession();
+// try {
+// BoundBlogMapper mapper = session.getMapper(BoundBlogMapper.class);
+// List<Blog> blogs = mapper.selectBlogWithAssociations(1);
+// assertEquals(1, blogs.size());
+// Blog blog = blogs.get(0);
+// assertEquals(2, blog.getPosts().size());
+// Post firstPost = blog.getPosts().get(0);
+// assertEquals(3, firstPost.getTags().size());
+// assertEquals(2, firstPost.getComments().size());
+// Post secondPost = blog.getPosts().get(1);
+// assertEquals(1, secondPost.getTags().size());
+// assertEquals(0, secondPost.getComments().size());
+// } finally {
+// session.close();
+// }
+// }
@Test
public void shouldExecuteBoundSelectOneBlogStatement() {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java?rev=776184&r1=776183&r2=776184&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
Tue May 19 04:54:33 2009
@@ -1,7 +1,7 @@
package org.apache.ibatis.binding;
import domain.blog.*;
-import static org.apache.ibatis.annotations.Annotations.*;
+import org.apache.ibatis.annotations.*;
import java.util.List;
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java?rev=776184&r1=776183&r2=776184&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
Tue May 19 04:54:33 2009
@@ -1,7 +1,7 @@
package org.apache.ibatis.binding;
import domain.blog.*;
-import static org.apache.ibatis.annotations.Annotations.*;
+import org.apache.ibatis.annotations.*;
import java.util.*;
@@ -79,73 +79,73 @@
//======================================================
- @Results({
- @Result(id = true, property = "id", column = "blog_id"),
- @Result(property = "title", column = "blog_title"),
- @Result(property = "author", column = "author_id", one = @One(
- results = @Results({
- @Result(id = true, property = "id", column = "author_id"),
- @Result(property = "username", column = "author_username"),
- @Result(property = "email", column = "author_email")
- }))),
- @Result(property = "posts", column = "post_id", many = @Many(
- javaType = Post.class,
- results = @Results({
- @Result(id = true, property = "id", column = "post_id"),
- @Result(property = "subject", column = "post_subject"),
- @Result(property = "body", column = "post_body"),
- @Result(property = "section", column = "post_section"),
- @Result(id = true, property = "author.id", column = "author_id"),
- @Result(property = "author.username", column = "author_username"),
- @Result(property = "author.email", column = "author_email"),
- @Result(property = "createdOn", column = "post_created_on")
- , @Result(property = "tags", column = "tag_id", many = @Many(
- javaType = Tag.class,
- results = @Results({
- @Result(id = true, property = "id", column = "tag_id"),
- @Result(property = "name", column = "tag_name")
- })))
- , @Result(property = "comments", column = "comment_id", many =
@Many(
- javaType = Comment.class,
- results = @Results({
- @Result(id = true, property = "id", column = "comment_id"),
- @Result(property = "name", column = "comment_name"),
- @Result(property = "comment", column = "comment_text")
- })))
- })))
- })
- @Select("select" +
- " B.id as blog_id," +
- " B.title as blog_title," +
- " B.author_id as blog_author_id," +
- " A.id as author_id," +
- " A.username as author_username," +
- " A.password as author_password," +
- " A.email as author_email," +
- " A.bio as author_bio," +
- " A.favourite_section as author_favourite_section," +
- " P.id as post_id," +
- " P.blog_id as post_blog_id," +
- " P.author_id as post_author_id," +
- " P.created_on as post_created_on," +
- " P.section as post_section," +
- " P.subject as post_subject," +
- " P.draft as draft," +
- " P.body as post_body," +
- " C.id as comment_id," +
- " C.post_id as comment_post_id," +
- " C.name as comment_name," +
- " C.comment as comment_text," +
- " T.id as tag_id," +
- " T.name as tag_name" +
- " from Blog B" +
- " left outer join Author A on B.author_id = A.id" +
- " left outer join Post P on B.id = P.blog_id" +
- " left outer join Comment C on P.id = C.post_id" +
- " left outer join Post_Tag PT on PT.post_id = P.id" +
- " left outer join Tag T on PT.tag_id = T.id" +
- " where B.id = #{id}")
- List<Blog> selectBlogWithAssociations(int id);
+// @Results({
+// @Result(id = true, property = "id", column = "blog_id"),
+// @Result(property = "title", column = "blog_title"),
+// @Result(property = "author", column = "author_id", one = @One(
+// results = @Results({
+// @Result(id = true, property = "id", column = "author_id"),
+// @Result(property = "username", column = "author_username"),
+// @Result(property = "email", column = "author_email")
+// }))),
+// @Result(property = "posts", column = "post_id", many = @Many(
+// javaType = Post.class,
+// results = @Results({
+// @Result(id = true, property = "id", column = "post_id"),
+// @Result(property = "subject", column = "post_subject"),
+// @Result(property = "body", column = "post_body"),
+// @Result(property = "section", column = "post_section"),
+// @Result(id = true, property = "author.id", column = "author_id"),
+// @Result(property = "author.username", column = "author_username"),
+// @Result(property = "author.email", column = "author_email"),
+// @Result(property = "createdOn", column = "post_created_on")
+// , @Result(property = "tags", column = "tag_id", many = @Many(
+// javaType = Tag.class,
+// results = @Results({
+// @Result(id = true, property = "id", column = "tag_id"),
+// @Result(property = "name", column = "tag_name")
+// })))
+// , @Result(property = "comments", column = "comment_id", many =
@Many(
+// javaType = Comment.class,
+// results = @Results({
+// @Result(id = true, property = "id", column = "comment_id"),
+// @Result(property = "name", column = "comment_name"),
+// @Result(property = "comment", column = "comment_text")
+// })))
+// })))
+// })
+// @Select("select" +
+// " B.id as blog_id," +
+// " B.title as blog_title," +
+// " B.author_id as blog_author_id," +
+// " A.id as author_id," +
+// " A.username as author_username," +
+// " A.password as author_password," +
+// " A.email as author_email," +
+// " A.bio as author_bio," +
+// " A.favourite_section as author_favourite_section," +
+// " P.id as post_id," +
+// " P.blog_id as post_blog_id," +
+// " P.author_id as post_author_id," +
+// " P.created_on as post_created_on," +
+// " P.section as post_section," +
+// " P.subject as post_subject," +
+// " P.draft as draft," +
+// " P.body as post_body," +
+// " C.id as comment_id," +
+// " C.post_id as comment_post_id," +
+// " C.name as comment_name," +
+// " C.comment as comment_text," +
+// " T.id as tag_id," +
+// " T.name as tag_name" +
+// " from Blog B" +
+// " left outer join Author A on B.author_id = A.id" +
+// " left outer join Post P on B.id = P.blog_id" +
+// " left outer join Comment C on P.id = C.post_id" +
+// " left outer join Post_Tag PT on PT.post_id = P.id" +
+// " left outer join Tag T on PT.tag_id = T.id" +
+// " where B.id = #{id}")
+// List<Blog> selectBlogWithAssociations(int id);
//======================================================
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java?rev=776184&r1=776183&r2=776184&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/binding/IbatisConfig.java
Tue May 19 04:54:33 2009
@@ -13,7 +13,7 @@
public class IbatisConfig {
- public static SqlSessionFactory getSqlSessionFactory() {
+ public SqlSessionFactory getSqlSessionFactory() {
try {
DataSource dataSource = BaseDataTest.createBlogDataSource();
BaseDataTest.runScript(dataSource, BaseDataTest.BLOG_DDL);