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 2007/02/11 06:00:25 UTC
svn commit: r505839 - in /ibatis/trunk/java/mapper/mapper2: build/
src/com/ibatis/common/beans/ test/com/ibatis/sqlmap/
test/com/ibatis/sqlmap/maps/ test/testdomain/
Author: cbegin
Date: Sat Feb 10 21:00:24 2007
New Revision: 505839
URL: http://svn.apache.org/viewvc?view=rev&rev=505839
Log:
Changed syntax of field mappings to be exactly the same as property mappings. It now decides to use field mappings only if set/get methods do not exist.
Added:
ibatis/trunk/java/mapper/mapper2/test/testdomain/FieldAccount.java
Modified:
ibatis/trunk/java/mapper/mapper2/build/version.properties
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DirectFieldMappingTest.java
ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Account.xml
Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?view=diff&rev=505839&r1=505838&r2=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/build/version.properties (original)
+++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Feb 10 21:00:24 2007
@@ -1,5 +1,5 @@
#Build version info
-#Sat Feb 10 18:39:04 MST 2007
+#Sat Feb 10 21:56:50 MST 2007
version=2.3.1
-buildDate=2007/02/10 18\:39
-buildNum=681
+buildDate=2007/02/10 21\:56
+buildNum=683
Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java?view=diff&rev=505839&r1=505838&r2=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java (original)
+++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/common/beans/ClassInfo.java Sat Feb 10 21:00:24 2007
@@ -115,10 +115,14 @@
}
}
if (field.isAccessible()) {
- setMethods.put("(" + field.getName() + ")", new SetFieldInvoker(field));
- setTypes.put("(" + field.getName() + ")", field.getType());
- getMethods.put("(" + field.getName() + ")", new GetFieldInvoker(field));
- getTypes.put("(" + field.getName() + ")", field.getType());
+ if (!setMethods.containsKey(field.getName())) {
+ setMethods.put(field.getName(), new SetFieldInvoker(field));
+ setTypes.put(field.getName(), field.getType());
+ }
+ if (!getMethods.containsKey(field.getName())) {
+ getMethods.put(field.getName(), new GetFieldInvoker(field));
+ getTypes.put(field.getName(), field.getType());
+ }
}
}
if (clazz.getSuperclass() != null) {
Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java?view=diff&rev=505839&r1=505838&r2=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java (original)
+++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/BaseSqlMapTest.java Sat Feb 10 21:00:24 2007
@@ -8,6 +8,7 @@
import testdomain.Account;
import testdomain.Order;
import testdomain.PrivateAccount;
+import testdomain.FieldAccount;
import javax.sql.DataSource;
import java.io.Reader;
@@ -52,6 +53,15 @@
return account;
}
+ protected FieldAccount newFieldAccount6() {
+ FieldAccount account = new FieldAccount();
+ account.id(6);
+ account.firstName("Jennifer");
+ account.lastName("Begin");
+ account.emailAddress("no_email@provided.com");
+ return account;
+ }
+
protected void assertAccount1(Account account) {
assertEquals(1, account.getId());
assertEquals("Clinton", account.getFirstName());
@@ -82,6 +92,13 @@
assertEquals("Jennifer", account.getFirstName());
assertEquals("Begin", account.getLastName());
assertNull(account.getEmailAddress());
+ }
+
+ protected void assertFieldAccount6(FieldAccount account) {
+ assertEquals(6, account.id());
+ assertEquals("Jennifer", account.firstName());
+ assertEquals("Begin", account.lastName());
+ assertNull(account.emailAddress());
}
protected void assertAccount1(Map account) {
Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DirectFieldMappingTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DirectFieldMappingTest.java?view=diff&rev=505839&r1=505838&r2=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DirectFieldMappingTest.java (original)
+++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/DirectFieldMappingTest.java Sat Feb 10 21:00:24 2007
@@ -1,6 +1,6 @@
package com.ibatis.sqlmap;
-import testdomain.Account;
+import testdomain.FieldAccount;
import testdomain.PrivateAccount;
import java.sql.SQLException;
@@ -13,18 +13,18 @@
}
public void testInsertAndSelectDirectToFields() throws SQLException {
- Account account = newAccount6();
+ FieldAccount account = newFieldAccount6();
sqlMap.insert("insertAccountFromFields", account);
- account = (Account) sqlMap.queryForObject("getAccountToFields", new Integer(6));
+ account = (FieldAccount) sqlMap.queryForObject("getAccountToFields", new Integer(6));
- assertAccount6(account);
- assertAccount6(account.getAccount());
+ assertFieldAccount6(account);
+ assertFieldAccount6(account.account());
}
public void testGetAccountWithPrivateConstructor() throws SQLException {
- Account account = newAccount6();
+ FieldAccount account = newFieldAccount6();
sqlMap.insert("insertAccountFromFields", account);
Modified: ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Account.xml
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Account.xml?view=diff&rev=505839&r1=505838&r2=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Account.xml (original)
+++ ibatis/trunk/java/mapper/mapper2/test/com/ibatis/sqlmap/maps/Account.xml Sat Feb 10 21:00:24 2007
@@ -462,7 +462,7 @@
<insert id="insertAccountFromFields"
- parameterClass="account"
+ parameterClass="testdomain.FieldAccount"
>
insert into ACCOUNT (
ACC_ID,
@@ -470,25 +470,25 @@
ACC_LAST_NAME,
ACC_EMAIL)
values (
- #(id)#,
- #(firstName)#,
- #(lastName)#,
- #(emailAddress):VARCHAR:no_email@provided.com#
+ #id#,
+ #firstName#,
+ #lastName#,
+ #emailAddress:VARCHAR:no_email@provided.com#
)
</insert>
<select id="getAccountToFields"
parameterClass="int"
- resultClass="account">
+ resultClass="testdomain.FieldAccount">
select
- ACC_ID as "(id)",
- ACC_FIRST_NAME as "(firstName)",
- ACC_LAST_NAME as "(lastName)",
- ACC_EMAIL as "(emailAddress)",
- ACC_ID as "(account).(id)",
- ACC_FIRST_NAME as "(account).(firstName)",
- ACC_LAST_NAME as "(account).(lastName)",
- ACC_EMAIL as "(account).(emailAddress)"
+ ACC_ID as "id",
+ ACC_FIRST_NAME as "firstName",
+ ACC_LAST_NAME as "lastName",
+ ACC_EMAIL as "emailAddress",
+ ACC_ID as "account.id",
+ ACC_FIRST_NAME as "account.firstName",
+ ACC_LAST_NAME as "account.lastName",
+ ACC_EMAIL as "account.emailAddress"
from ACCOUNT
where ACC_ID = #value#
</select>
@@ -497,14 +497,14 @@
parameterClass="int"
resultClass="testdomain.PrivateAccount">
select
- ACC_ID as "(id)",
- ACC_FIRST_NAME as "(firstName)",
- ACC_LAST_NAME as "(lastName)",
- ACC_EMAIL as "(emailAddress)",
- ACC_ID as "(account).(id)",
- ACC_FIRST_NAME as "(account).(firstName)",
- ACC_LAST_NAME as "(account).(lastName)",
- ACC_EMAIL as "(account).(emailAddress)"
+ ACC_ID as "id",
+ ACC_FIRST_NAME as "firstName",
+ ACC_LAST_NAME as "lastName",
+ ACC_EMAIL as "emailAddress",
+ ACC_ID as "account.id",
+ ACC_FIRST_NAME as "account.firstName",
+ ACC_LAST_NAME as "account.lastName",
+ ACC_EMAIL as "account.emailAddress"
from ACCOUNT
where ACC_ID = #value#
</select>
Added: ibatis/trunk/java/mapper/mapper2/test/testdomain/FieldAccount.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/test/testdomain/FieldAccount.java?view=auto&rev=505839
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/test/testdomain/FieldAccount.java (added)
+++ ibatis/trunk/java/mapper/mapper2/test/testdomain/FieldAccount.java Sat Feb 10 21:00:24 2007
@@ -0,0 +1,52 @@
+package testdomain;
+
+import java.io.Serializable;
+
+public class FieldAccount implements Serializable {
+
+ private int id;
+ private String firstName;
+ private String lastName;
+ private String emailAddress;
+ private FieldAccount account;
+
+ public int id() {
+ return id;
+ }
+
+ public void id(int id) {
+ this.id = id;
+ }
+
+ public String firstName() {
+ return firstName;
+ }
+
+ public void firstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String lastName() {
+ return lastName;
+ }
+
+ public void lastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String emailAddress() {
+ return emailAddress;
+ }
+
+ public void emailAddress(String emailAddress) {
+ this.emailAddress = emailAddress;
+ }
+
+ public FieldAccount account() {
+ return account;
+ }
+
+ public void account(FieldAccount account) {
+ this.account = account;
+ }
+}