You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/11/13 09:49:26 UTC
svn commit: r474194 - in
/incubator/tuscany/java/sca/services/persistence/store.jdbc/src:
main/java/org/apache/tuscany/service/persistence/store/jdbc/
main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/
test/java/org/apache/tuscany/s...
Author: jmarino
Date: Mon Nov 13 00:49:25 2006
New Revision: 474194
URL: http://svn.apache.org/viewvc?view=rev&rev=474194
Log:
bug fixes for updates in the jdbc store
Modified:
incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java
incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java
incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java
incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java
incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java?view=diff&rev=474194&r1=474193&r2=474194
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java Mon Nov 13 00:49:25 2006
@@ -54,11 +54,6 @@
*/
public class JDBCStore implements Store {
- public static final int LEAST_SIGNIFICANT_BITS = 1;
- public static final int MOST_SIGNIFICANT_BITS = 2;
- public static final int EXPIRATION = 3;
- public static final int DATA = 4;
-
private DataSource dataSource;
private StoreMonitor monitor;
private Converter converter;
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java?view=diff&rev=474194&r1=474193&r2=474194
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java Mon Nov 13 00:49:25 2006
@@ -18,12 +18,11 @@
*/
package org.apache.tuscany.service.persistence.store.jdbc.converter;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import java.io.ObjectInputStream;
-import java.io.ByteArrayInputStream;
import org.apache.tuscany.service.persistence.store.jdbc.Converter;
import org.apache.tuscany.service.persistence.store.jdbc.TCCLObjectInputStream;
@@ -34,6 +33,14 @@
* @version $Rev$ $Date$
*/
public abstract class AbstractConverter implements Converter {
+ public static final int DATA = 4;
+ public static final int MOST_SIGNIFICANT_BITS = 1;
+ public static final int LEAST_SIGNIFICANT_BITS = 2;
+ public static final int EXPIRATION = 3;
+ public static final int OBJECT_UPDATE = 1;
+ public static final int MOST_SIGNIFICANT_BITS_UPDATE = 2;
+ public static final int LEAST_SIGNIFICANT_BITS_UPDATE = 3;
+
protected String findSql = "SELECT * FROM CONVERSATION_STATE WHERE ID_1 = ? AND ID_2 = ?";
protected String insertSql = "INSERT INTO CONVERSATION_STATE (ID_1, ID_2, EXPIRATION, OBJECT) VALUES (?, ?, ?, ?)";
protected String updateSql = "UPDATE CONVERSATION_STATE SET OBJECT = ? WHERE ID_1 = ? AND ID_2 = ?";
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java?view=diff&rev=474194&r1=474193&r2=474194
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java Mon Nov 13 00:49:25 2006
@@ -28,10 +28,6 @@
import org.apache.tuscany.service.persistence.store.StoreReadException;
import org.apache.tuscany.service.persistence.store.StoreWriteException;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.DATA;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.EXPIRATION;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.LEAST_SIGNIFICANT_BITS;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.MOST_SIGNIFICANT_BITS;
/**
* Performs writing and reading operations to HSQLDB
@@ -55,7 +51,9 @@
public void update(PreparedStatement stmt, UUID id, Serializable object) throws StoreWriteException {
try {
- stmt.setBytes(DATA, serialize(object));
+ stmt.setBytes(OBJECT_UPDATE, serialize(object));
+ stmt.setLong(MOST_SIGNIFICANT_BITS_UPDATE, id.getMostSignificantBits());
+ stmt.setLong(LEAST_SIGNIFICANT_BITS_UPDATE, id.getLeastSignificantBits());
} catch (SQLException e) {
throw new StoreWriteException(e);
} catch (IOException e) {
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java?view=diff&rev=474194&r1=474193&r2=474194
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java Mon Nov 13 00:49:25 2006
@@ -33,10 +33,6 @@
import org.apache.tuscany.service.persistence.store.StoreReadException;
import org.apache.tuscany.service.persistence.store.StoreWriteException;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.DATA;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.EXPIRATION;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.LEAST_SIGNIFICANT_BITS;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.MOST_SIGNIFICANT_BITS;
/**
* Performs writing and reading operations to a JDBC driver/database combination that supports Blobs
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java?view=diff&rev=474194&r1=474193&r2=474194
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java Mon Nov 13 00:49:25 2006
@@ -27,11 +27,9 @@
import junit.framework.TestCase;
import static org.apache.tuscany.service.persistence.store.Store.NEVER;
import org.apache.tuscany.service.persistence.store.StoreMonitor;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.EXPIRATION;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.LEAST_SIGNIFICANT_BITS;
-import static org.apache.tuscany.service.persistence.store.jdbc.JDBCStore.MOST_SIGNIFICANT_BITS;
import static org.apache.tuscany.service.persistence.store.jdbc.TestUtils.SELECT_SQL;
import org.apache.tuscany.service.persistence.store.jdbc.converter.HSQLDBConverter;
+import org.apache.tuscany.service.persistence.store.jdbc.converter.AbstractConverter;
import org.easymock.EasyMock;
/**
@@ -43,7 +41,7 @@
private DataSource ds;
private JDBCStore store;
- public void testWriteMetaData() throws Exception {
+ public void testAppendMetaData() throws Exception {
store.init();
Foo foo = new Foo("test");
UUID id = UUID.randomUUID();
@@ -51,12 +49,12 @@
Statement stmt = ds.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(SELECT_SQL);
rs.next();
- assertEquals(id.getMostSignificantBits(), rs.getLong(MOST_SIGNIFICANT_BITS));
- assertEquals(id.getLeastSignificantBits(), rs.getLong(LEAST_SIGNIFICANT_BITS));
- assertEquals(NEVER, rs.getLong(EXPIRATION));
+ assertEquals(id.getMostSignificantBits(), rs.getLong(AbstractConverter.MOST_SIGNIFICANT_BITS));
+ assertEquals(id.getLeastSignificantBits(), rs.getLong(AbstractConverter.LEAST_SIGNIFICANT_BITS));
+ assertEquals(NEVER, rs.getLong(AbstractConverter.EXPIRATION));
}
- public void testWriteRead() throws Exception {
+ public void testAppendRead() throws Exception {
store.init();
Foo foo = new Foo("test");
UUID id = UUID.randomUUID();
@@ -65,13 +63,14 @@
assertEquals("test", foo2.data);
}
+
public void testNotFound() throws Exception {
store.init();
UUID id = UUID.randomUUID();
assertNull(store.readRecord(id));
}
- public void testBatchWrite() throws Exception {
+ public void testBatchAppend() throws Exception {
store.setBatchSize(2);
store.init();
Foo foo = new Foo("test");
@@ -111,6 +110,29 @@
store.appendRecord(id, foo, System.currentTimeMillis() + 20);
Thread.sleep(100);
assertNull(store.readRecord(id));
+ }
+
+ public void testUpdateRead() throws Exception {
+ store.init();
+ Foo foo = new Foo("test");
+ UUID id = UUID.randomUUID();
+ store.appendRecord(id, foo, NEVER);
+ foo.data = "test2";
+ store.updateRecord(id, foo);
+ Foo foo2 = (Foo) store.readRecord(id);
+ assertEquals("test2", foo2.data);
+ }
+
+ public void testCacheUpdateRead() throws Exception {
+ store.setBatchSize(10);
+ store.init();
+ Foo foo = new Foo("test");
+ UUID id = UUID.randomUUID();
+ store.appendRecord(id, foo, NEVER);
+ foo.data = "test2";
+ store.updateRecord(id, foo);
+ Foo foo2 = (Foo) store.readRecord(id);
+ assertEquals("test2", foo2.data);
}
protected void setUp() throws Exception {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org