Author: jolee
Date: 2013-08-01 14:55:50 -0400 (Thu, 01 Aug 2013)
New Revision: 4589
Added:
branches/7.7.x/client/src/test/resources/req.ser
Modified:
branches/7.7.x/client/src/main/java/org/teiid/client/RequestMessage.java
branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java
branches/7.7.x/client/src/test/java/org/teiid/client/TestRequestMessage.java
Log:
TEIID-2611: Client forwards compatibility issue
Modified: branches/7.7.x/client/src/main/java/org/teiid/client/RequestMessage.java
===================================================================
--- branches/7.7.x/client/src/main/java/org/teiid/client/RequestMessage.java 2013-08-01
18:25:26 UTC (rev 4588)
+++ branches/7.7.x/client/src/main/java/org/teiid/client/RequestMessage.java 2013-08-01
18:55:50 UTC (rev 4589)
@@ -29,7 +29,6 @@
import java.io.ObjectOutput;
import java.io.OptionalDataException;
import java.io.Serializable;
-import java.sql.ResultSet;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -94,7 +93,7 @@
private boolean noExec;
private transient boolean sync;
- private boolean delaySerialization = true;
+ private boolean delaySerialization;
public RequestMessage() {
}
@@ -182,7 +181,6 @@
*/
public void setCursorType(int cursorType) {
this.cursorType = cursorType;
- this.delaySerialization = this.cursorType == ResultSet.TYPE_FORWARD_ONLY;
}
/**
@@ -426,7 +424,6 @@
return delaySerialization;
}
- //TODO: allow for the client to explicitly enable/disable this behavior
public void setDelaySerialization(boolean delaySerialization) {
this.delaySerialization = delaySerialization;
}
Modified: branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2013-08-01
18:25:26 UTC (rev 4588)
+++ branches/7.7.x/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2013-08-01
18:55:50 UTC (rev 4589)
@@ -584,6 +584,7 @@
} else {
reqMsg.setExecutionPayload(this.getMMConnection().getPayload());
}
+ reqMsg.setDelaySerialization(true);
reqMsg.setCursorType(this.resultSetType);
reqMsg.setFetchSize(this.fetchSize);
reqMsg.setRowLimit(this.maxRows);
Modified: branches/7.7.x/client/src/test/java/org/teiid/client/TestRequestMessage.java
===================================================================
---
branches/7.7.x/client/src/test/java/org/teiid/client/TestRequestMessage.java 2013-08-01
18:25:26 UTC (rev 4588)
+++
branches/7.7.x/client/src/test/java/org/teiid/client/TestRequestMessage.java 2013-08-01
18:55:50 UTC (rev 4589)
@@ -22,27 +22,25 @@
package org.teiid.client;
+import static org.junit.Assert.*;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import junit.framework.TestCase;
-
+import org.junit.Test;
import org.teiid.client.RequestMessage.ShowPlan;
import org.teiid.client.RequestMessage.StatementType;
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.util.UnitTestUtil;
+import org.teiid.netty.handler.codec.serialization.CompactObjectInputStream;
-public class TestRequestMessage extends TestCase {
+@SuppressWarnings("nls")
+public class TestRequestMessage {
- /**
- * Constructor for TestRequestMessage.
- * @param name
- */
- public TestRequestMessage(String name) {
- super(name);
- }
-
public static RequestMessage example() {
RequestMessage message = new RequestMessage();
message.setStatementType(StatementType.CALLABLE);
@@ -67,10 +65,11 @@
message.setXMLFormat("xMLFormat"); //$NON-NLS-1$
message.setShowPlan(ShowPlan.ON);
message.setRowLimit(1313);
+ message.setDelaySerialization(true);
return message;
}
- public void testSerialize() throws Exception {
+ @Test public void testSerialize() throws Exception {
RequestMessage copy = UnitTestUtil.helpSerialize(example());
assertTrue(copy.isCallableStatement());
@@ -93,7 +92,7 @@
assertTrue(copy.isDelaySerialization());
}
- public void testInvalidTxnAutoWrap() {
+ @Test public void testInvalidTxnAutoWrap() {
RequestMessage rm = new RequestMessage();
try {
rm.setTxnAutoWrapMode("foo"); //$NON-NLS-1$
@@ -102,5 +101,12 @@
assertEquals("'FOO' is an invalid transaction autowrap mode.",
e.getMessage()); //$NON-NLS-1$
}
}
+
+ @Test public void test83() throws FileNotFoundException, IOException,
ClassNotFoundException {
+ CompactObjectInputStream ois = new CompactObjectInputStream(new
FileInputStream(UnitTestUtil.getTestDataFile("req.ser")),
RequestMessage.class.getClassLoader());
+ RequestMessage rm = (RequestMessage) ois.readObject();
+ ois.close();
+ assertFalse(rm.isDelaySerialization());
+ }
}
Added: branches/7.7.x/client/src/test/resources/req.ser
===================================================================
--- branches/7.7.x/client/src/test/resources/req.ser (rev 0)
+++ branches/7.7.x/client/src/test/resources/req.ser 2013-08-01 18:55:50 UTC (rev 4589)
@@ -0,0 +1,2 @@
+srxpw
\ No newline at end of file
Show replies by date