You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2011/11/22 00:52:07 UTC
svn commit: r1204754 - in /cxf/branches/2.3.x-fixes: ./
rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/
rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/
Author: ay
Date: Mon Nov 21 23:52:05 2011
New Revision: 1204754
URL: http://svn.apache.org/viewvc?rev=1204754&view=rev
Log:
Merged revisions 1204585 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes
................
r1204585 | ay | 2011-11-21 17:43:29 +0100 (Mon, 21 Nov 2011) | 13 lines
Merged revisions 1204500,1204537 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1204500 | ay | 2011-11-21 14:59:23 +0100 (Mon, 21 Nov 2011) | 1 line
[CXF-3921] makingRMTxStore's tabel-exists error state configurable
........
r1204537 | ay | 2011-11-21 16:19:36 +0100 (Mon, 21 Nov 2011) | 1 line
fixing jdk15 build for CXF-3921
........
................
Added:
cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/txstore-custom-error-bean.xml
- copied unchanged from r1204585, cxf/branches/2.4.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/txstore-custom-error-bean.xml
Modified:
cxf/branches/2.3.x-fixes/ (props changed)
cxf/branches/2.3.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreConfigurationTest.java
cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Nov 21 23:52:05 2011
@@ -0,0 +1,2 @@
+/cxf/branches/2.4.x-fixes:1204585
+/cxf/trunk:1204500,1204537
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.3.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java?rev=1204754&r1=1204753&r2=1204754&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java (original)
+++ cxf/branches/2.3.x-fixes/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStore.java Mon Nov 21 23:52:05 2011
@@ -144,6 +144,9 @@ public class RMTxStore implements RMStor
private String userName;
private String password;
+ private String tableExistsState = DERBY_TABLE_EXISTS_STATE;
+ private int tableExistsCode = ORACLE_TABLE_EXISTS_CODE;
+
// configuration
public void setDriverClassName(String dcn) {
@@ -178,6 +181,22 @@ public class RMTxStore implements RMStor
return userName;
}
+ public String getTableExistsState() {
+ return tableExistsState;
+ }
+
+ public void setTableExistsState(String tableExistsState) {
+ this.tableExistsState = tableExistsState;
+ }
+
+ public int getTableExistsCode() {
+ return tableExistsCode;
+ }
+
+ public void setTableExistsCode(int tableExistsCode) {
+ this.tableExistsCode = tableExistsCode;
+ }
+
public void setConnection(Connection c) {
connection = c;
}
@@ -684,8 +703,9 @@ public class RMTxStore implements RMStor
}
protected boolean isTableExistsError(SQLException ex) {
- return DERBY_TABLE_EXISTS_STATE.equals(ex.getSQLState())
- || ORACLE_TABLE_EXISTS_CODE == ex.getErrorCode();
+ // we could be deriving the state/code from the driver url to avoid explicit setting of them
+ return (null != tableExistsState && tableExistsState.equals(ex.getSQLState()))
+ || tableExistsCode == ex.getErrorCode();
}
Modified: cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreConfigurationTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreConfigurationTest.java?rev=1204754&r1=1204753&r2=1204754&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreConfigurationTest.java (original)
+++ cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreConfigurationTest.java Mon Nov 21 23:52:05 2011
@@ -19,6 +19,8 @@
package org.apache.cxf.ws.rm.persistence.jdbc;
+import java.sql.SQLException;
+
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.ws.rm.RMManager;
@@ -46,4 +48,16 @@ public class RMTxStoreConfigurationTest
assertEquals("jdbc:derby://localhost:1527/rmdb;create=true", store.getUrl());
}
+ @Test
+ public void testSetCustomTableExistsState() {
+ SpringBusFactory factory = new SpringBusFactory();
+ Bus bus = factory.createBus("org/apache/cxf/ws/rm/persistence/jdbc/txstore-custom-error-bean.xml");
+ RMManager manager = bus.getExtension(RMManager.class);
+ assertNotNull(manager);
+ RMTxStore store = (RMTxStore)manager.getStore();
+
+ assertTrue(store.isTableExistsError(new SQLException("Table exists", "I6000", 288)));
+
+ assertFalse(store.isTableExistsError(new SQLException("Unknown error", "00000", -1)));
+ }
}
Modified: cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java?rev=1204754&r1=1204753&r2=1204754&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java (original)
+++ cxf/branches/2.3.x-fixes/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/persistence/jdbc/RMTxStoreTest.java Mon Nov 21 23:52:05 2011
@@ -25,7 +25,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
-import java.util.List;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.ws.addressing.v200408.EndpointReferenceType;
@@ -519,7 +518,7 @@ public class RMTxStoreTest extends Asser
return sid;
}
-
+ /*
private void verifyDestinationSequence(String s, DestinationSequence seq) {
Identifier sid = seq.getIdentifier();
assertNotNull(sid);
@@ -553,7 +552,7 @@ public class RMTxStoreTest extends Asser
assertTrue(seq.isLastMessage());
}
}
-
+
private void verifyAcknowledgementRanges(List<SequenceAcknowledgement.AcknowledgementRange> ranges,
long[] values) {
assertNotNull(ranges);
@@ -565,7 +564,7 @@ public class RMTxStoreTest extends Asser
assertEquals(values[v++], (long)range.getUpper().longValue());
}
}
-
+ */
private void setupMessage(Identifier sid, BigInteger mn, String to, boolean outbound)
throws IOException, SQLException {
RMMessage msg = control.createMock(RMMessage.class);