You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by jb...@apache.org on 2018/05/18 18:26:56 UTC
[geode-native] branch develop updated: GEODE-5205: Break up
ThinClientPdxTests
This is an automated email from the ASF dual-hosted git repository.
jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git
The following commit(s) were added to refs/heads/develop by this push:
new 7605815 GEODE-5205: Break up ThinClientPdxTests
7605815 is described below
commit 76058155a9c52aaa7cfd1608130401e98bf968e8
Author: M. Oleske <mo...@users.noreply.github.com>
AuthorDate: Fri May 18 11:26:53 2018 -0700
GEODE-5205: Break up ThinClientPdxTests
Signed-off-by: Mike Martell <mm...@pivotal.io>
Signed-off-by: Michael Oleske <mo...@pivotal.io>
---
clicache/integration-test/ThinClientNameTests.cs | 197 +
.../integration-test/ThinClientPdxLocalTests.cs | 238 +
clicache/integration-test/ThinClientPdxTests.cs | 6628 --------------------
clicache/integration-test/ThinClientPdxTests1.cs | 2326 +++++++
clicache/integration-test/ThinClientPdxTests2.cs | 1462 +++++
clicache/integration-test/ThinClientPdxTests3.cs | 1613 +++++
.../integration-test/ThinClientPdxVersionTests.cs | 1373 ++++
clicache/integration-test/UnitTests.csproj.in | 19 +-
8 files changed, 7226 insertions(+), 6630 deletions(-)
diff --git a/clicache/integration-test/ThinClientNameTests.cs b/clicache/integration-test/ThinClientNameTests.cs
new file mode 100644
index 0000000..f46f08f
--- /dev/null
+++ b/clicache/integration-test/ThinClientNameTests.cs
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace Apache.Geode.Client.UnitTests
+{
+ using NUnit.Framework;
+ using DUnitFramework;
+ using Client;
+
+ [TestFixture]
+ [Category("group4")]
+ [Category("unicast_only")]
+ [Category("generics")]
+ internal class ThinClientNameTests : ThinClientRegionSteps
+ {
+ #region Private members
+
+ private UnitProcess m_client1, m_client2;
+
+ #endregion
+
+ protected override ClientBase[] GetClients()
+ {
+ m_client1 = new UnitProcess();
+ m_client2 = new UnitProcess();
+ return new ClientBase[] {m_client1, m_client2};
+ }
+
+ [TestFixtureTearDown]
+ public override void EndTests()
+ {
+ CacheHelper.StopJavaServers();
+ base.EndTests();
+ }
+
+ [TearDown]
+ public override void EndTest()
+ {
+ try
+ {
+ m_client1.Call(DestroyRegions);
+ m_client2.Call(DestroyRegions);
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+ finally
+ {
+ CacheHelper.StopJavaServers();
+ CacheHelper.StopJavaLocators();
+ }
+
+ base.EndTest();
+ }
+
+ void cleanup()
+ {
+ {
+ CacheHelper.SetExtraPropertiesFile(null);
+ if (m_clients != null)
+ {
+ foreach (var client in m_clients)
+ {
+ try
+ {
+ client.Call(CacheHelper.Close);
+ }
+ catch (System.Runtime.Remoting.RemotingException)
+ {
+ }
+ catch (System.Net.Sockets.SocketException)
+ {
+ }
+ }
+ }
+
+ CacheHelper.Close();
+ }
+ }
+
+ private void DoputAndVerifyClientName()
+ {
+ //CacheableString cVal = new CacheableString(new string('A', 1024));
+ var region = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var cVal = new string('A', 5);
+
+ Util.Log("Putting key = key-0");
+ region["key-0"] = cVal;
+ Util.Log("Put Operation done successfully");
+
+ //Verify the Client Name.
+ var cReceivedName = region["clientName1"] as string;
+ Util.Log(" DoputAndVerifyClientName Received Client Name = {0} ", cReceivedName);
+ Assert.AreEqual(cReceivedName.Equals("Client-1"), true, "Did not find the expected value.");
+ }
+
+ private void DoGetAndVerifyClientName()
+ {
+ var region = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var cReceivedName = region["clientName2"] as string;
+
+ Util.Log("Get Operation done successfully");
+
+ //Verify the Client Name.
+ Util.Log(" DoGetAndVerifyClientName Received Client Name = {0} ", cReceivedName);
+ Assert.AreEqual(cReceivedName.Equals("Client-2"), true, "Did not find the expected value.");
+ }
+
+ private void ConfigClient1AndCreateRegions_Pool(string[] regionNames,
+ string locators, string poolName, bool clientNotification, bool ssl, bool cachingEnable)
+ {
+ //Configure Client "name" for Client-1
+ var props = Properties<string, string>.Create();
+ props.Insert("name", "Client-1");
+ CacheHelper.InitConfig(props);
+
+ CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[0], true, cachingEnable,
+ null, locators, poolName, clientNotification, ssl, false);
+ CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[1], false, cachingEnable,
+ null, locators, poolName, clientNotification, ssl, false);
+ m_regionNames = regionNames;
+ }
+
+ private void ConfigClient2AndCreateRegions_Pool(string[] regionNames,
+ string locators, string poolName, bool clientNotification, bool ssl, bool cachingEnable)
+ {
+ //Configure Client "name" for Client-2
+ var props = Properties<string, string>.Create();
+ props.Insert("name", "Client-2");
+ CacheHelper.InitConfig(props);
+
+ CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[0], true, cachingEnable,
+ null, locators, poolName, clientNotification, ssl, false);
+ CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[1], false, cachingEnable,
+ null, locators, poolName, clientNotification, ssl, false);
+ m_regionNames = regionNames;
+ }
+
+ #region Tests
+
+ [Test]
+ //NON PDX UnitTest for Ticket#866 on NC OR SR#13306117704. Set client name via native client API
+ public void UserCanSetClientName()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserverPdx.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ //Client Notification and local caching enabled for clients
+ m_client1.Call(ConfigClient1AndCreateRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", true, false,
+ true);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(ConfigClient2AndCreateRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", true, false,
+ true);
+ Util.Log("StepTwo (pool locators) complete.");
+
+ m_client1.Call(DoputAndVerifyClientName);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(DoGetAndVerifyClientName);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/clicache/integration-test/ThinClientPdxLocalTests.cs b/clicache/integration-test/ThinClientPdxLocalTests.cs
new file mode 100644
index 0000000..bd1879f
--- /dev/null
+++ b/clicache/integration-test/ThinClientPdxLocalTests.cs
@@ -0,0 +1,238 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using PdxTests;
+
+namespace Apache.Geode.Client.UnitTests
+{
+ using NUnit.Framework;
+ using DUnitFramework;
+ using Client;
+ using Region = IRegion<object, object>;
+
+ [TestFixture]
+ [Category("group4")]
+ [Category("unicast_only")]
+ [Category("generics")]
+ internal class ThinClientPdxLocalTests : ThinClientRegionSteps
+ {
+ #region Private members
+
+ private UnitProcess m_client1;
+
+ #endregion
+
+ protected override ClientBase[] GetClients()
+ {
+ m_client1 = new UnitProcess();
+ return new ClientBase[] {m_client1};
+ }
+
+ [TestFixtureTearDown]
+ public override void EndTests()
+ {
+ CacheHelper.StopJavaServers();
+ base.EndTests();
+ }
+
+ [TearDown]
+ public override void EndTest()
+ {
+ try
+ {
+ m_client1.Call(DestroyRegions);
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+ finally
+ {
+ CacheHelper.StopJavaServers();
+ CacheHelper.StopJavaLocators();
+ }
+
+ base.EndTest();
+ }
+
+ private void cleanup()
+ {
+ {
+ CacheHelper.SetExtraPropertiesFile(null);
+ if (m_clients != null)
+ {
+ foreach (var client in m_clients)
+ {
+ try
+ {
+ client.Call(CacheHelper.Close);
+ }
+ catch (System.Runtime.Remoting.RemotingException)
+ {
+ }
+ catch (System.Net.Sockets.SocketException)
+ {
+ }
+ }
+ }
+
+ CacheHelper.Close();
+ }
+ }
+
+ private void LocalOpsStep()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var localregion = region0.GetLocalView();
+
+
+ var p1 = new PdxTypes1();
+ var x = "";
+ localregion.Add(p1, x);
+ var val = localregion[p1];
+ //object val = region0[p1];
+ val = localregion[p1];
+ val = localregion[p1];
+ Assert.IsTrue(val.Equals(x), "value should be equal");
+ Assert.IsTrue(localregion.Remove(new KeyValuePair<object, object>(p1, x)),
+ "Result of remove should be true, as this value null exists locally.");
+ Assert.IsFalse(localregion.ContainsKey(p1), "containsKey should be false");
+ try
+ {
+ localregion[p1] = null;
+ Assert.Fail("Expected IllegalArgumentException here for put");
+ }
+ catch (IllegalArgumentException)
+ {
+ Util.Log("Got Expected IllegalArgumentException");
+ }
+
+ localregion[p1] = 1;
+ localregion.Invalidate(p1);
+ try
+ {
+ var retVal = localregion[p1];
+ }
+ catch (Client.KeyNotFoundException)
+ {
+ Util.Log("Got expected KeyNotFoundException exception");
+ }
+
+ Assert.IsFalse(localregion.Remove(new KeyValuePair<object, object>(p1, 1)),
+ "Result of remove should be false, as this value does not exists locally.");
+ Assert.IsTrue(localregion.ContainsKey(p1), "containsKey should be true");
+ localregion[p1] = 1;
+ Assert.IsTrue(localregion.Remove(p1), "Result of remove should be true, as this value exists locally.");
+ Assert.IsFalse(localregion.ContainsKey(p1), "containsKey should be false");
+
+ var p2 = new PdxTypes2();
+ localregion.Add(p2, 1);
+ var
+ intVal1 = localregion[p2]; // local get work for pdx object as key but it wont work with caching enable. Throws KeyNotFoundException.
+ Assert.IsTrue(intVal1.Equals(1), "intVal should be 1.");
+
+ var p3 = new PdxTypes3();
+ localregion.Add(p3, "testString");
+ if (localregion.ContainsKey(p3))
+ {
+ var strVal1 = localregion[p3];
+ Assert.IsTrue(strVal1.Equals("testString"), "strVal should be testString.");
+ }
+
+ try
+ {
+ if (localregion.ContainsKey(p3))
+ {
+ localregion.Add(p3, 11);
+ Assert.Fail("Expected EntryExistException here");
+ }
+ }
+ catch (EntryExistsException)
+ {
+ Util.Log(" Expected EntryExistsException exception thrown by localCreate");
+ }
+
+ var p4 = new PdxTypes4();
+ localregion.Add(p4, p1);
+ var objVal1 = localregion[p4];
+ Assert.IsTrue(objVal1.Equals(p1), "valObject and objVal should match.");
+ Assert.IsTrue(localregion.Remove(new KeyValuePair<object, object>(p4, p1)),
+ "Result of remove should be true, as this value exists locally.");
+ Assert.IsFalse(localregion.ContainsKey(p4), "containsKey should be false");
+ localregion[p4] = p1;
+ Assert.IsTrue(localregion.Remove(p4), "Result of remove should be true, as this value exists locally.");
+ Assert.IsFalse(localregion.ContainsKey(p4), "containsKey should be false");
+
+ var p5 = new PdxTypes5();
+
+ //object cval = region0[p1]; //this will only work when caching is enable else throws KeyNotFoundException
+
+ localregion.Clear();
+ }
+
+ private void runLocalOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, true /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+
+ m_client1.Call(LocalOpsStep);
+ Util.Log("localOps complete.");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ #region Tests
+
+ [Test]
+ public void LocalOps()
+ {
+ runLocalOps();
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/clicache/integration-test/ThinClientPdxTests.cs b/clicache/integration-test/ThinClientPdxTests.cs
deleted file mode 100755
index 3039cc5..0000000
--- a/clicache/integration-test/ThinClientPdxTests.cs
+++ /dev/null
@@ -1,6628 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.Collections;
-using System.Collections.ObjectModel;
-using System.IO;
-using System.Threading;
-using PdxTests;
-using System.Reflection;
-
-namespace Apache.Geode.Client.UnitTests
-{
- using NUnit.Framework;
- using Apache.Geode.DUnitFramework;
- using Apache.Geode.Client;
- using Region = Apache.Geode.Client.IRegion<Object, Object>;
-
-
- [TestFixture]
- [Category("group4")]
- [Category("unicast_only")]
- [Category("generics")]
- class ThinClientPdxTests : ThinClientRegionSteps
- {
- static bool m_useWeakHashMap = false;
- #region Private members
-
- private UnitProcess m_client1, m_client2, m_client3, m_client4;
-
- #endregion
-
- protected override ClientBase[] GetClients()
- {
- m_client1 = new UnitProcess();
- m_client2 = new UnitProcess();
- m_client3 = new UnitProcess();
- m_client4 = new UnitProcess();
- return new ClientBase[] { m_client1, m_client2, m_client3, m_client4 };
- //return new ClientBase[] { m_client1, m_client2 };
- }
-
- [TestFixtureTearDown]
- public override void EndTests()
- {
- CacheHelper.StopJavaServers();
- base.EndTests();
- }
-
- [TearDown]
- public override void EndTest()
- {
- try {
- m_client1.Call(DestroyRegions);
- m_client2.Call(DestroyRegions);
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
- finally {
- CacheHelper.StopJavaServers();
- CacheHelper.StopJavaLocators();
- }
- base.EndTest();
- }
-
- void cleanup()
- {
- {
- CacheHelper.SetExtraPropertiesFile(null);
- if (m_clients != null)
- {
- foreach (ClientBase client in m_clients)
- {
- try
- {
- client.Call(CacheHelper.Close);
- }
- catch (System.Runtime.Remoting.RemotingException)
- {
- }
- catch (System.Net.Sockets.SocketException)
- {
- }
- }
- }
- CacheHelper.Close();
- }
- }
-
- void runDistOps()
- {
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateNonExistentRegion, CacheHelper.Locators);
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(StepThree);
- Util.Log("StepThree complete.");
-
- m_client2.Call(StepFour);
- Util.Log("StepFour complete.");
-
- m_client1.Call(CheckServerKeys);
- m_client1.Call(StepFive, true);
- Util.Log("StepFive complete.");
-
- m_client2.Call(StepSix, true);
- Util.Log("StepSix complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void PutAndVerifyPdxInGet()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
-
- Region region0 = CacheHelper.GetVerifyRegion<object,object>(m_regionNames[0]);
-
- region0[1] = new PdxType();
-
- PdxType pRet = (PdxType)region0[1];
- checkPdxInstanceToStringAtServer(region0);
-
- Assert.AreEqual(CacheHelper.DCache.GetPdxReadSerialized(), false, "Pdx read serialized property should be false.");
-
- }
-
- void VerifyGetOnly()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxType pRet = (PdxType)region0[1];
- checkPdxInstanceToStringAtServer(region0);
-
-
- }
-
- void PutAndVerifyVariousPdxTypes()
- {
- var typeRegistry = CacheHelper.DCache.TypeRegistry;
- typeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes9.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.PortfolioPdx.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.PositionPdx.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.AllPdxTypes.Create);
-
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- {
- PdxTypes1 p1 = new PdxTypes1();
- region0[11] = p1;
- PdxTypes1 pRet = (PdxTypes1)region0[11];
- Assert.AreEqual(p1, pRet);
- checkPdxInstanceToStringAtServer(region0);
-
- }
-
- {
- PdxTypes2 p2 = new PdxTypes2();
- region0[12] = p2;
- PdxTypes2 pRet2 = (PdxTypes2)region0[12];
- Assert.AreEqual(p2, pRet2);
- checkPdxInstanceToStringAtServer(region0);
-
- }
-
- {
- PdxTypes3 p3 = new PdxTypes3();
- region0[13] = p3;
- PdxTypes3 pRet3 = (PdxTypes3)region0[13];
- Assert.AreEqual(p3, pRet3);
- checkPdxInstanceToStringAtServer(region0);
-
- }
-
- {
- PdxTypes4 p4 = new PdxTypes4();
- region0[14] = p4;
- PdxTypes4 pRet4 = (PdxTypes4)region0[14];
- Assert.AreEqual(p4, pRet4);
- checkPdxInstanceToStringAtServer(region0);
-
- }
-
- {
- PdxTypes5 p5 = new PdxTypes5();
- region0[15] = p5;
- PdxTypes5 pRet5 = (PdxTypes5)region0[15];
- Assert.AreEqual(p5, pRet5);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes6 p6 = new PdxTypes6();
- region0[16] = p6;
- PdxTypes6 pRet6 = (PdxTypes6)region0[16];
- Assert.AreEqual(p6, pRet6);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes7 p7 = new PdxTypes7();
- region0[17] = p7;
- PdxTypes7 pRet7 = (PdxTypes7)region0[17];
- Assert.AreEqual(p7, pRet7);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes8 p8 = new PdxTypes8();
- region0[18] = p8;
- PdxTypes8 pRet8 = (PdxTypes8)region0[18];
- Assert.AreEqual(p8, pRet8);
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- PdxTypes9 p9 = new PdxTypes9();
- region0[19] = p9;
- PdxTypes9 pRet9 = (PdxTypes9)region0[19];
- Assert.AreEqual(p9, pRet9);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PortfolioPdx pf = new PortfolioPdx(1001, 10);
- region0[20] = pf;
- PortfolioPdx retpf = (PortfolioPdx)region0[20];
- checkPdxInstanceToStringAtServer(region0);
- //Assert.AreEqual(p9, pRet9);
- }
-
- {
- PortfolioPdx pf = new PortfolioPdx(1001, 10, new string[] { "one", "two", "three" });
- region0[21] = pf;
- PortfolioPdx retpf = (PortfolioPdx)region0[21];
- checkPdxInstanceToStringAtServer(region0);
- //Assert.AreEqual(p9, pRet9);
- }
- {
- PdxTypes10 p10 = new PdxTypes10();
- region0[22] = p10;
- PdxTypes10 pRet10 = (PdxTypes10)region0[22];
- Assert.AreEqual(p10, pRet10);
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- AllPdxTypes apt = new AllPdxTypes(true);
- region0[23] = apt;
- AllPdxTypes aptRet = (AllPdxTypes)region0[23];
- Assert.AreEqual(apt, aptRet);
- checkPdxInstanceToStringAtServer(region0);
- }
- }
-
- void VerifyVariousPdxGets()
- {
- var typeRegistry = CacheHelper.DCache.TypeRegistry;
- typeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTypes9.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.PortfolioPdx.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.PositionPdx.CreateDeserializable);
- typeRegistry.RegisterPdxType(PdxTests.AllPdxTypes.Create);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- {
- PdxTypes1 p1 = new PdxTypes1();
- PdxTypes1 pRet = (PdxTypes1)region0[11];
- Assert.AreEqual(p1, pRet);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes2 p2 = new PdxTypes2();
- PdxTypes2 pRet2 = (PdxTypes2)region0[12];
- Assert.AreEqual(p2, pRet2);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes3 p3 = new PdxTypes3();
- PdxTypes3 pRet3 = (PdxTypes3)region0[13];
- Assert.AreEqual(p3, pRet3);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes4 p4 = new PdxTypes4();
- PdxTypes4 pRet4 = (PdxTypes4)region0[14];
- Assert.AreEqual(p4, pRet4);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes5 p5 = new PdxTypes5();
- PdxTypes5 pRet5 = (PdxTypes5)region0[15];
- Assert.AreEqual(p5, pRet5);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes6 p6 = new PdxTypes6();
- PdxTypes6 pRet6 = (PdxTypes6)region0[16];
- Assert.AreEqual(p6, pRet6);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes7 p7 = new PdxTypes7();
- PdxTypes7 pRet7 = (PdxTypes7)region0[17];
- Assert.AreEqual(p7, pRet7);
- checkPdxInstanceToStringAtServer(region0);
- }
-
- {
- PdxTypes8 p8 = new PdxTypes8();
- PdxTypes8 pRet8 = (PdxTypes8)region0[18];
- Assert.AreEqual(p8, pRet8);
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- PdxTypes9 p9 = new PdxTypes9();
- PdxTypes9 pRet9 = (PdxTypes9)region0[19];
- Assert.AreEqual(p9, pRet9);
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- PortfolioPdx retpf = (PortfolioPdx)region0[20];
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- PortfolioPdx retpf = (PortfolioPdx)region0[21];
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- PdxTypes10 p10 = new PdxTypes10();
- PdxTypes10 pRet10 = (PdxTypes10)region0[22];
- Assert.AreEqual(p10, pRet10);
- checkPdxInstanceToStringAtServer(region0);
- }
- {
- AllPdxTypes apt = new AllPdxTypes(true);
- AllPdxTypes aptRet = (AllPdxTypes)region0[23];
- Assert.AreEqual(apt, aptRet);
- checkPdxInstanceToStringAtServer(region0);
- }
- }
-
- void checkPdxInstanceToStringAtServer(Region region)
- {
- bool retVal = (bool)region["success"];
- Assert.IsTrue(retVal);
- }
-
- private void DoputAndVerifyClientName()
- {
- //CacheableString cVal = new CacheableString(new string('A', 1024));
- Region region = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- string cVal = new string('A', 5);
-
- Util.Log("Putting key = key-0");
- region["key-0"] = cVal;
- Util.Log("Put Operation done successfully");
-
- //Verify the Client Name.
- string cReceivedName = region["clientName1"] as string;
- Util.Log(" DoputAndVerifyClientName Received Client Name = {0} ", cReceivedName);
- Assert.AreEqual(cReceivedName.Equals("Client-1"), true, "Did not find the expected value.");
- }
-
- private void DoGetAndVerifyClientName()
- {
- Region region = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- string cReceivedName = region["clientName2"] as string; ;
- Util.Log("Get Operation done successfully");
-
- //Verify the Client Name.
- Util.Log(" DoGetAndVerifyClientName Received Client Name = {0} ", cReceivedName);
- Assert.AreEqual(cReceivedName.Equals("Client-2"), true, "Did not find the expected value.");
- }
-
- public void ConfigClient1AndCreateRegions_Pool(string[] regionNames,
- string locators, string poolName, bool clientNotification, bool ssl, bool cachingEnable)
- {
- //Configure Client "name" for Client-1
- var props = Properties<string, string>.Create();
- props.Insert("name", "Client-1");
- CacheHelper.InitConfig(props);
-
- CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[0], true, cachingEnable,
- null, locators, poolName, clientNotification, ssl, false);
- CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[1], false, cachingEnable,
- null, locators, poolName, clientNotification, ssl, false);
- m_regionNames = regionNames;
-
- }
-
- public void ConfigClient2AndCreateRegions_Pool(string[] regionNames,
- string locators, string poolName, bool clientNotification, bool ssl, bool cachingEnable)
- {
- //Configure Client "name" for Client-2
- var props = Properties<string, string>.Create();
- props.Insert("name", "Client-2");
- CacheHelper.InitConfig(props);
-
- CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[0], true, cachingEnable,
- null, locators, poolName, clientNotification, ssl, false);
- CacheHelper.CreateTCRegion_Pool<object, object>(regionNames[1], false, cachingEnable,
- null, locators, poolName, clientNotification, ssl, false);
- m_regionNames = regionNames;
- }
-
- void runtestForBug866()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- //Client Notification and local caching enabled for clients
- m_client1.Call(ConfigClient1AndCreateRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", true, false, true);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(ConfigClient2AndCreateRegions_Pool, RegionNames, CacheHelper.Locators, "__TESTPOOL1_", true, false, true);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(DoputAndVerifyClientName);
- Util.Log("StepThree complete.");
-
- m_client2.Call(DoGetAndVerifyClientName);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }//END:: testBug866
-
- void runPdxDistOps()
- {
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(PutAndVerifyPdxInGet);
- Util.Log("StepThree complete.");
-
- m_client2.Call(VerifyGetOnly);
- Util.Log("StepFour complete.");
-
- m_client1.Call(PutAndVerifyVariousPdxTypes);
- Util.Log("StepFive complete.");
-
- m_client2.Call(VerifyVariousPdxGets);
- Util.Log("StepSeven complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void VerifyDataOutputAdvance()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(MyClass.Create);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(MyClasses.Create);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- MyClasses mcs = new MyClasses("1", 1000);
-
- region0[1] = mcs;
-
- object ret = region0[1];
-
- Assert.AreEqual(mcs, ret);
- }
-
- void runPdxDistOps2()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(VerifyDataOutputAdvance);
- Util.Log("StepThree complete.");
-
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void PutAndVerifyNestedPdxInGet()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- NestedPdx np = new NestedPdx();
- region0[1] = np;
-
- NestedPdx pRet = (NestedPdx)region0[1];
-
- Assert.AreEqual(np, pRet);
- }
-
- void VerifyNestedGetOnly()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
-
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- NestedPdx orig = new NestedPdx();
- NestedPdx pRet = (NestedPdx)region0[1];
-
- Assert.AreEqual(orig, pRet);
- }
-
- void runNestedPdxOps()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(PutAndVerifyNestedPdxInGet);
- Util.Log("StepThree complete.");
-
- m_client2.Call(VerifyNestedGetOnly);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void PutAndVerifyPdxInIGFSInGet()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
- }
- catch (Exception )
- {
- }
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- PdxInsideIGeodeSerializable np = new PdxInsideIGeodeSerializable();
- region0[1] = np;
-
- PdxInsideIGeodeSerializable pRet = (PdxInsideIGeodeSerializable)region0[1];
-
- Assert.AreEqual(np, pRet);
- }
-
- void VerifyPdxInIGFSGetOnly()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
- }
- catch (Exception )
- { }
-
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxInsideIGeodeSerializable orig = new PdxInsideIGeodeSerializable();
- PdxInsideIGeodeSerializable pRet = (PdxInsideIGeodeSerializable)region0[1];
-
- Assert.AreEqual(orig, pRet);
- }
-
- void runPdxInIGFSOps()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(PutAndVerifyPdxInIGFSInGet);
- Util.Log("StepThree complete.");
-
- m_client2.Call(VerifyPdxInIGFSGetOnly);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void JavaPutGet_LinedListType()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- //Do some put to invike attached listener,
- region0[1] = 123;
-
- //Get
- int value = (int)region0[1];
- //Util.Log("JavaPutGet_LinedListType value received = " + value);
-
- //verify that listener methods have been called.
- Assert.IsTrue((bool)region0["success"]);
-
- //LinkedList validation
- LinkedList<Object> myList1 = new LinkedList<Object>();
- myList1.AddFirst("Manan");
- myList1.AddLast("Nishka");
-
- //get the JSON document (as PdxInstance) that has been put from java in attached cacheListener code.
- IPdxInstance ret = (IPdxInstance)region0["jsondoc1"];
- LinkedList<Object> linkedList = (LinkedList<Object>)ret.GetField("kids");
-
- //verify sizes
- Assert.AreEqual((linkedList.Count == myList1.Count), true, " LinkedList size should be equal.");
-
- LinkedList<Object>.Enumerator e1 = linkedList.GetEnumerator();
- LinkedList<Object>.Enumerator e2 = myList1.GetEnumerator();
-
- //verify content of LinkedList
- while (e1.MoveNext() && e2.MoveNext())
- {
- //Util.Log("JavaPutGet_LinedListType Kids = " + e1.Current);
- PdxType.GenericValCompare(e1.Current, e2.Current);
- }
-
- Util.Log("successfully completed JavaPutGet_LinedListType");
- }
-
- void JavaPutGet()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- }
- catch (Exception )
- {
- }
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- PdxType np = new PdxType();
- region0[1] = np;
-
- PdxType pRet = (PdxType)region0[1];
-
- //Assert.AreEqual(np, pRet);
-
- Assert.IsTrue((bool)region0["success"]);
- }
-
- void JavaGet()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- }
- catch (Exception )
- {
- }
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxType np = new PdxType();
-
- PdxType pRet = (PdxType)region0[1];
-
- PdxType putFromjava = (PdxType)region0["putFromjava"];
- }
-
- void runJavaInterOpsWithLinkedListType()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverForPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDXWithLL, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("Clinet-1 CreateTCRegions_Pool_PDXWithLL (pool with locator) completed.");
-
- m_client1.Call(JavaPutGet_LinedListType);
- Util.Log("JavaPutGet_LinedListType complete.");
-
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void runJavaInteroperableOps()
- {
-
- CacheHelper.SetupJavaServers(true, "cacheserverForPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(JavaPutGet);
- Util.Log("StepThree complete.");
-
- m_client2.Call(JavaGet);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void putallAndGetallPdx()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
- }
- catch (Exception )
- { }
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- IDictionary<object, object> all = new Dictionary<object, object>();
-
- PdxTypes1 p1 = new PdxTypes1();
- PdxTypes2 p2 = new PdxTypes2();
- PdxTypes3 p3 = new PdxTypes3();
- PdxTypes4 p4 = new PdxTypes4();
- PdxTypes5 p5 = new PdxTypes5();
- PdxTypes6 p6 = new PdxTypes6();
- PdxTypes7 p7 = new PdxTypes7();
- PdxTypes8 p8 = new PdxTypes8();
-
- all.Add(21, p1);
- all.Add(22, p2);
- all.Add(23, p3);
- all.Add(24, p4);
- all.Add(25, p5);
- all.Add(26, p6);
- all.Add(27, p7);
- all.Add(28, p8);
- region0.PutAll(all);
-
-
- ICollection<object> keys = new List<object>();
- IDictionary<object, object> getall = new Dictionary<object, object>();
-
- keys.Add(21);
- keys.Add(22);
- keys.Add(23);
- keys.Add(24);
- keys.Add(25);
- keys.Add(26);
- keys.Add(27);
- keys.Add(28);
- //keys.Add(p1);
- //keys.Add(p2);
- region0.GetAll(keys, getall, null);
- foreach (KeyValuePair<object, object> kv in all)
- {
- object key = kv.Key;
- Util.Log("putall keys "+ key.GetType() + " : " + key);
- }
- //IEnumerator<KeyValuePair<object, object>> ie = getall.GetEnumerator();
- foreach (KeyValuePair<object, object> kv in getall)
- {
- object key = kv.Key;
- if (key != null)
- Util.Log("got key " + key.GetType() + " : " + key);
- else
- Util.Log("got NULL key ");
- object origVal = all[key];
- Assert.AreEqual(kv.Value, origVal);
- }
- }
-
-
- void runPutAllGetAllOps()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(putallAndGetallPdx);
- Util.Log("StepThree complete.");
-
- m_client2.Call(putallAndGetallPdx);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
- void LocalOpsStep()
- {
- try
- {
- CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxTests.PdxInsideIGeodeSerializable.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
-
- }
- catch (Exception)
- { }
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- IRegion<object, object> localregion = region0.GetLocalView();
-
-
- PdxTypes1 p1 = new PdxTypes1();
- string x = "";
- localregion.Add(p1, x);
- object val = localregion[p1];
- //object val = region0[p1];
- val = localregion[p1];
- val = localregion[p1];
- Assert.IsTrue(val.Equals(x), "value should be equal");
- Assert.IsTrue(localregion.Remove(new KeyValuePair<Object, Object>(p1, x)), "Result of remove should be true, as this value null exists locally.");
- Assert.IsFalse(localregion.ContainsKey(p1), "containsKey should be false");
- try
- {
- localregion[p1] = null;
- Assert.Fail("Expected IllegalArgumentException here for put");
- }
- catch (IllegalArgumentException)
- {
- Util.Log("Got Expected IllegalArgumentException");
- }
-
- localregion[p1] = 1;
- localregion.Invalidate(p1);
- try
- {
- object retVal = localregion[p1];
- }
- catch (Apache.Geode.Client.KeyNotFoundException)
- {
- Util.Log("Got expected KeyNotFoundException exception");
- }
- Assert.IsFalse(localregion.Remove(new KeyValuePair<Object, Object>(p1, 1)), "Result of remove should be false, as this value does not exists locally.");
- Assert.IsTrue(localregion.ContainsKey(p1), "containsKey should be true");
- localregion[p1] = 1;
- Assert.IsTrue(localregion.Remove(p1), "Result of remove should be true, as this value exists locally.");
- Assert.IsFalse(localregion.ContainsKey(p1), "containsKey should be false");
-
- PdxTypes2 p2 = new PdxTypes2();
- localregion.Add(p2, 1);
- object intVal1 = localregion[p2]; // local get work for pdx object as key but it wont work with caching enable. Throws KeyNotFoundException.
- Assert.IsTrue(intVal1.Equals(1), "intVal should be 1.");
-
- PdxTypes3 p3 = new PdxTypes3();
- localregion.Add(p3, "testString");
- if (localregion.ContainsKey(p3))
- {
- object strVal1 = localregion[p3];
- Assert.IsTrue(strVal1.Equals("testString"), "strVal should be testString.");
- }
-
- try
- {
- if (localregion.ContainsKey(p3))
- {
- localregion.Add(p3, 11);
- Assert.Fail("Expected EntryExistException here");
- }
- }
- catch (EntryExistsException)
- {
- Util.Log(" Expected EntryExistsException exception thrown by localCreate");
- }
-
- PdxTypes4 p4 = new PdxTypes4();
- localregion.Add(p4, p1);
- object objVal1 = localregion[p4];
- Assert.IsTrue(objVal1.Equals(p1), "valObject and objVal should match.");
- Assert.IsTrue(localregion.Remove(new KeyValuePair<Object, Object>(p4, p1)), "Result of remove should be true, as this value exists locally.");
- Assert.IsFalse(localregion.ContainsKey(p4), "containsKey should be false");
- localregion[p4] = p1;
- Assert.IsTrue(localregion.Remove(p4), "Result of remove should be true, as this value exists locally.");
- Assert.IsFalse(localregion.ContainsKey(p4), "containsKey should be false");
-
- PdxTypes5 p5 = new PdxTypes5();
-
- //object cval = region0[p1]; //this will only work when caching is enable else throws KeyNotFoundException
-
- localregion.Clear();
-
- }
- void runLocalOps()
- {
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
-
- m_client1.Call(LocalOpsStep);
- Util.Log("localOps complete.");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
- Assembly m_pdxVesionOneAsm;
- Assembly m_pdxVesionTwoAsm;
-
- #region "Version Fisrt will be here PdxType1"
- void initializePdxAssemblyOne(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeOne);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes1");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- m_useWeakHashMap = useWeakHashmap;
- }
-
- IPdxSerializable registerPdxTypeOne()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes1");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxAssemblyTwo(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeTwo);
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes1");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- m_useWeakHashMap = useWeakHashmap;
- }
- IPdxSerializable registerPdxTypeTwo()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes1");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void putAtVersionOne11(bool useWeakHashmap)
- {
- initializePdxAssemblyOne(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance , null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine( np.ToString());
- Console.WriteLine( pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- }
-
- void getPutAtVersionTwo12(bool useWeakHashmap)
- {
- initializePdxAssemblyTwo(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance , null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionOne13()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwo14()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
- public void getPutAtVersionOne15()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- if (m_useWeakHashMap == false)
- {
- Assert.AreEqual(CacheHelper.DCache.GetPdxTypeRegistry().testNumberOfPreservedData(), 0);
- }
- else
- {
- Assert.IsTrue(CacheHelper.DCache.GetPdxTypeRegistry().testNumberOfPreservedData() > 0);
- }
- }
-
- public void getPutAtVersionTwo16()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes1");
- object np = pt.InvokeMember("PdxTypes1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
-
- if (m_useWeakHashMap == false)
- {
- Assert.AreEqual(CacheHelper.DCache.GetPdxTypeRegistry().testNumberOfPreservedData(), 0);
- }
- else
- {
- //it has extra fields, so no need to preserve data
- Assert.IsTrue(CacheHelper.DCache.GetPdxTypeRegistry().testNumberOfPreservedData() == 0);
- }
- }
-
- #endregion
- void runBasicMergeOps()
- {
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(putAtVersionOne11, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client2.Call(getPutAtVersionTwo12, m_useWeakHashMap);
- Util.Log("StepFour complete.");
-
- m_client1.Call(getPutAtVersionOne13);
- Util.Log("StepFive complete.");
-
- m_client2.Call(getPutAtVersionTwo14);
- Util.Log("StepSix complete.");
-
- for (int i = 0; i < 10; i++)
- {
- m_client1.Call(getPutAtVersionOne15);
- Util.Log("StepSeven complete." + i);
-
- m_client2.Call(getPutAtVersionTwo16);
- Util.Log("StepEight complete." + i);
- }
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
-
- void initializePdxAssemblyOnePS(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
-
- //object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- m_useWeakHashMap = useWeakHashmap;
- }
-
- void putFromVersion1_PS(bool useWeakHashmap)
- {
- //local cache is on
- initializePdxAssemblyOnePS(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
- object np = pt.InvokeMember("Create", BindingFlags.InvokeMethod, null, null, null);
-
- CacheHelper.DCache.TypeRegistry.PdxSerializer = (IPdxSerializer)np;
-
- //created new object
- np = pt.InvokeMember("TestDiffTypePdxS", BindingFlags.CreateInstance, null, null, new object[] { true });
-
- Type keytype = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestKey");
- object key = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-1" });
-
- region0[key] = np;
-
- object pRet = region0[key];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- //this should come from local caching
- pRet = region0.GetLocalView()[key];
-
- Assert.IsNotNull(pRet);
-
- region0.GetLocalView().Invalidate(key);
- bool isKNFE = false;
- try
- {
- pRet = region0.GetLocalView()[key];
- }
- catch (Apache.Geode.Client.KeyNotFoundException )
- {
- isKNFE = true;
- }
-
- Assert.IsTrue(isKNFE);
-
- pRet = region0[key];
-
- isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- region0.GetLocalView().Remove(key);
-
- }
-
- void initializePdxAssemblyTwoPS(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
-
- //object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- m_useWeakHashMap = useWeakHashmap;
- }
-
- void putFromVersion2_PS(bool useWeakHashmap)
- {
- initializePdxAssemblyTwoPS(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
-
- object np = pt.InvokeMember("Create", BindingFlags.InvokeMethod, null, null, null);
-
- CacheHelper.DCache.TypeRegistry.PdxSerializer = (IPdxSerializer)np;
-
- np = pt.InvokeMember("TestDiffTypePdxS", BindingFlags.CreateInstance, null, null, new object[] { true });
-
- Type keytype = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestKey");
- object key = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-1" });
-
- region0[key] = np;
-
- object pRet = region0[key];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- object key2 = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-2" });
- region0[key2] = np;
- }
-
-
- void getputFromVersion1_PS()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
- object np = pt.InvokeMember("TestDiffTypePdxS", BindingFlags.CreateInstance, null, null, new object[] { true });
-
-
- Type keytype = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestKey");
- object key = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-1" });
-
-
- object pRet = region0[key];
-
- Assert.IsTrue(np.Equals(pRet));
-
- //get then put.. this should merge data back
- region0[key] = pRet;
-
- object key2 = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-2" });
-
- pRet = region0[key2];
-
- Assert.IsTrue(np.Equals(pRet));
-
- //get then put.. this should Not merge data back
- region0[key2] = np;
-
- }
-
- void getAtVersion2_PS()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestDiffTypePdxS");
- object np = pt.InvokeMember("TestDiffTypePdxS", BindingFlags.CreateInstance, null, null, new object[] { true });
-
-
- Type keytype = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestKey");
- object key = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-1" });
-
- bool gotexcep = false;
- try
- {
- object r = region0.GetLocalView()[key];
- }
- catch (Exception )
- {
- gotexcep = true;
- }
- Assert.IsTrue(gotexcep);
-
- object pRet = region0[key];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- object key2 = keytype.InvokeMember("TestKey", BindingFlags.CreateInstance, null, null, new object[] { "key-2" });
-
- np = pt.InvokeMember("TestDiffTypePdxS", BindingFlags.CreateInstance, null, null, new object[] { true });
-
- pRet = region0[key2];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- Assert.IsTrue(!np.Equals(pRet));
- }
-
- void runBasicMergeOpsWithPdxSerializer()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching true*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(putFromVersion1_PS, m_useWeakHashMap);
- Util.Log("StepOne complete.");
-
- m_client2.Call(putFromVersion2_PS, m_useWeakHashMap);
- Util.Log("StepTwo complete.");
-
- m_client1.Call(getputFromVersion1_PS);
- Util.Log("Stepthree complete.");
-
- m_client2.Call(getAtVersion2_PS);
- Util.Log("StepFour complete.");
-
- m_client1.Call(dinitPdxSerializer);
- m_client2.Call(dinitPdxSerializer);
-
- //m_client1.Call(getPutAtVersionOne13);
- //Util.Log("StepFive complete.");
-
- //m_client2.Call(getPutAtVersionTwo14);
- //Util.Log("StepSix complete.");
-
- //for (int i = 0; i < 10; i++)
- //{
- // m_client1.Call(getPutAtVersionOne15);
- // Util.Log("StepSeven complete." + i);
-
- // m_client2.Call(getPutAtVersionTwo16);
- // Util.Log("StepEight complete." + i);
- //}
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- #region Basic merge three PDxType2
-
- void initializePdxAssemblyOne2(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeOne2);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes2");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
- IPdxSerializable registerPdxTypeOne2()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes2");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxAssemblyTwo2(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeTwo2);
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes2");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
- IPdxSerializable registerPdxTypeTwo2()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes2");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- public void putAtVersionOne21(bool useWeakHashmap)
- {
- initializePdxAssemblyOne2(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes2");
- object np = pt.InvokeMember("PdxTypes2", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
-
- pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.Pdx1");
- object pdx1 = pt.InvokeMember("Pdx1", BindingFlags.CreateInstance, null, null, null);
-
- for (int i = 1000; i < 1010; i++) {
- region0[i] = pdx1;
- }
- }
-
- public void getPutAtVersionTwo22(bool useWeakHashmap)
- {
- initializePdxAssemblyTwo2(useWeakHashmap);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes2");
- object np = pt.InvokeMember("PdxTypes2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
-
- pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.Pdx1");
- object pdx1 = pt.InvokeMember("Pdx1", BindingFlags.CreateInstance, null, null, null);
-
- for (int i = 1000; i < 1010; i++)
- {
- object ret = region0[i];
- }
- }
- public void getPutAtVersionOne23()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes2");
- object np = pt.InvokeMember("PdxTypes2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwo24()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes2");
- object np = pt.InvokeMember("PdxTypes2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- void runBasicMergeOps2()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(putAtVersionOne21, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client2.Call(getPutAtVersionTwo22, m_useWeakHashMap);
-
- for (int i = 0; i < 10; i++)
- {
- m_client1.Call(getPutAtVersionOne23);
- m_client2.Call(getPutAtVersionTwo24);
-
- Util.Log("step complete " + i);
- }
-
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
- #endregion
-
- #region Basic merge three PDxType3
-
- void initializePdxAssemblyOne3(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeOne3);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes3");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
- IPdxSerializable registerPdxTypeOne3()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes3");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxAssemblyTwo3(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeTwo3);
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes3");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
- IPdxSerializable registerPdxTypeTwo3()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes3");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- public void putAtVersionOne31(bool useWeakHashmap)
- {
- initializePdxAssemblyOne3(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
- Assert.IsTrue(isEqual);
- }
-
- public void getPutAtVersionTwo32(bool useWeakHashmap)
- {
- initializePdxAssemblyTwo3(useWeakHashmap);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
- public void getPutAtVersionOne33()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwo34()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = (object)region0[1];
-
- Console.WriteLine(np.ToString());
- Console.WriteLine(pRet.ToString());
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
-
- region0[1] = pRet;
- }
-
- void runBasicMergeOps3()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(putAtVersionOne31, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client2.Call(getPutAtVersionTwo32, m_useWeakHashMap);
-
- for (int i = 0; i < 10; i++)
- {
- m_client1.Call(getPutAtVersionOne33);
- m_client2.Call(getPutAtVersionTwo34);
-
- Util.Log("step complete " + i);
- }
-
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
- #endregion
-
- #region "Version two will first here"
-
- void initializePdxAssemblyOneR1(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeOneR1);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR1");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
-
- }
-
- IPdxSerializable registerPdxTypeOneR1()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR1");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
-
- void initializePdxAssemblyTwoR1(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeTwoR1);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR1");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
-
- IPdxSerializable registerPdxTypeTwoR1()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR1");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- public void putAtVersionTwo1(bool useWeakHashmap)
- {
- initializePdxAssemblyTwoR1(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- Assert.AreEqual(np, pRet);
- }
-
- public void getPutAtVersionOne2(bool useWeakHashmap)
- {
- initializePdxAssemblyOneR1(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwo3()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];//get
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionOne4()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwo5()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionOne6()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR1");
- object np = pt.InvokeMember("PdxTypesR1", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
- #endregion
-
- void runBasicMergeOpsR1()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client2.Call(putAtVersionTwo1, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client1.Call(getPutAtVersionOne2, m_useWeakHashMap);
- Util.Log("StepFour complete.");
-
- m_client2.Call(getPutAtVersionTwo3);
- Util.Log("StepFive complete.");
-
- m_client1.Call(getPutAtVersionOne4);
- Util.Log("StepSix complete.");
-
- for (int i = 0; i < 10; i++)
- {
- m_client2.Call(getPutAtVersionTwo5);
- Util.Log("StepSeven complete." + i);
-
- m_client1.Call(getPutAtVersionOne6);
- Util.Log("StepEight complete." + i);
- }
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- IPdxSerializable registerPdxUIV1()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxUIAssemblyOne(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxUIV1);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
- public void putV1PdxUI(bool useWeakHashmap)
- {
- initializePdxUIAssemblyOne(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
- object np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
- object pRet = region0[1];
- region0[1] = pRet;
-
-
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- //Assert.AreEqual(np, pRet);
- }
-
- IPdxSerializable registerPdxUIV2()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxUIAssemblyTwo(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxUIV2);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
- public void putV2PdxUI(bool useWeakHashmap)
- {
- initializePdxUIAssemblyTwo(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
- object np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- Assert.AreEqual(np, pRet);
- region0[1] = pRet;
- Console.WriteLine(" " + pRet);
- }
-
- public void getV2PdxUI()
- {
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
- object np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- Assert.AreEqual(np, pRet);
- }
- void runPdxIgnoreUnreadFieldTest()
- {
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client2.Call(putV2PdxUI, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client1.Call(putV1PdxUI, m_useWeakHashMap);
- Util.Log("StepFour complete.");
-
- m_client2.Call(getV2PdxUI);
- Util.Log("StepFive complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- #region PdxType2 Version two first
-
- void initializePdxAssemblyOneR2(bool useWeakHashmap)
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeOneR2);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR2");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
-
- }
-
- IPdxSerializable registerPdxTypeOneR2()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR2");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
-
- void initializePdxAssemblyTwoR2(bool useWeakHashmap)
- {
- m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeTwoR2);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR2");
-
- object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
-
- IPdxSerializable registerPdxTypeTwoR2()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR2");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- public void putAtVersionTwoR21(bool useWeakHashmap)
- {
- initializePdxAssemblyTwoR2(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR2");
- object np = pt.InvokeMember("PdxTypesR2", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool isEqual = np.Equals(pRet);
-
- Assert.IsTrue(isEqual);
- }
-
- public void getPutAtVersionOneR22(bool useWeakHashmap)
- {
- initializePdxAssemblyOneR2(useWeakHashmap);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR2");
- object np = pt.InvokeMember("PdxTypesR2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionTwoR23()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesR2");
- object np = pt.InvokeMember("PdxTypesR2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];//get
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
- public void getPutAtVersionOneR24()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesR2");
- object np = pt.InvokeMember("PdxTypesR2", BindingFlags.CreateInstance, null, null, null);
-
- object pRet = region0[1];
-
- Console.WriteLine(np);
- Console.WriteLine(pRet);
-
- bool retVal = np.Equals(pRet);
- Assert.IsTrue(retVal);
-
- region0[1] = pRet;
- }
-
-
- void runBasicMergeOpsR2()
- {
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client2.Call(putAtVersionTwoR21, m_useWeakHashMap);
- Util.Log("StepThree complete.");
-
- m_client1.Call(getPutAtVersionOneR22, m_useWeakHashMap);
- Util.Log("StepFour complete.");
-
- for (int i = 0; i < 10; i++)
- {
- m_client2.Call(getPutAtVersionTwoR23);
- Util.Log("StepFive complete.");
-
- m_client1.Call(getPutAtVersionOneR24);
- Util.Log("StepSix complete.");
- }
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- #endregion
-
- public void putFromPool1()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
- Util.Log("Put from pool-1 started");
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
-
- region0[1] = new PdxTypes1();
-
- region0[2] = new PdxTests.PdxType();
- Util.Log("Put from pool-1 Completed");
- }
-
- public void putFromPool2()
- {
- Util.Log("Put from pool-21 started");
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[1]);
-
- region0[1] = new PdxTypes1();
- region0[2] = new PdxTests.PdxType();
- object ret = region0[1];
- ret = region0[2];
- Util.Log("Put from pool-2 completed");
-
- int pdxIds = CacheHelper.DCache.GetPdxTypeRegistry().testGetNumberOfPdxIds();
-
- Assert.AreEqual(3, pdxIds);
- }
-
- public void runMultipleDSTest()
- {
- Util.Log("Starting runMultipleDSTest. " );
-
- CacheHelper.SetupJavaServers(true, "cacheserverMDS1.xml", "cacheserverMDS2.xml");
- CacheHelper.StartJavaLocator_MDS(1, "GFELOC", null, 1/*ds id is one*/);
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaLocator_MDS(2, "GFELOC2", null, 2/*ds id is one*/);
- Util.Log("Locator 2 started.");
-
- CacheHelper.StartJavaServerWithLocator_MDS(1, "GFECS1", 1);
- Util.Log("Server 1 started with locator 1.");
-
- CacheHelper.StartJavaServerWithLocator_MDS(2, "GFECS2", 2);
- Util.Log("Server 2 started with locator 2.");
-
- //client intialization
- /*
- * CreateTCRegion_Pool(string name, bool ack, bool caching,
- ICacheListener listener, string endpoints, string locators, string poolName, bool clientNotification, bool ssl,
- bool cloningEnabled)
- *
- */
-
- m_client1.Call(CacheHelper.CreateTCRegion_Pool_MDS,
- RegionNames[0], true, false,
- CacheHelper.LocatorFirst, "__TESTPOOL1_",
- false, false, false);
-
- Util.Log("StepOne (pool-1 locators) complete. " + CacheHelper.LocatorFirst);
-
- m_client1.Call(CacheHelper.CreateTCRegion_Pool_MDS,
- RegionNames[1], false, false,
- CacheHelper.LocatorSecond, "__TESTPOOL2_",
- false, false, false);
-
- Util.Log("StepTwo (pool-2 locators) complete. " + CacheHelper.LocatorSecond);
-
-
- m_client1.Call(putFromPool1);
-
- m_client1.Call(putFromPool2);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- //m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
- CacheHelper.StopJavaServer(2);
- Util.Log("Cacheserver 2 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
- CacheHelper.StopJavaLocator(2);
- Util.Log("Locator 2 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- void initializePdxSerializer()
- {
- CacheHelper.DCache.TypeRegistry.PdxSerializer = new PdxSerializer();
-
- //Serializable.RegisterTypeForPdxSerializer(SerializePdx1.CreateDeserializable);
- }
-
- void doPutGetWithPdxSerializer()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- object put = new SerializePdx1(true); ;
-
- region0[i] = put;
-
- object ret = region0[i];
-
- Assert.AreEqual(put, ret);
-
- put = new SerializePdx2(true);
- region0[i + 10] = put;
-
-
- ret = region0[i + 10];
-
- Assert.AreEqual(put, ret);
-
-
- put = new SerializePdx3(true, i % 2);
- region0[i + 20] = put;
-
- ret = region0[i + 20];
-
- Assert.AreEqual(put, ret);
-
- }
- }
-
- void doGetWithPdxSerializerC2()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- SerializePdx3 sp3Even = new SerializePdx3(true, 0);
- SerializePdx3 sp3Odd = new SerializePdx3(true, 1);
-
- for (int i = 0; i < 10; i++)
- {
- object local = new SerializePdx1(true); ;
-
- object ret = region0[i];
-
- Assert.AreEqual(local, ret);
-
- ret = region0[i + 10];
- Assert.AreEqual(new SerializePdx2(true), ret);
-
- ret = region0[i + 20];
- if (i % 2 == 0)
- {
- Assert.AreEqual(ret, sp3Even);
- Assert.AreNotEqual(ret, sp3Odd);
- }
- else
- {
- Assert.AreEqual(ret, sp3Odd);
- Assert.AreNotEqual(ret, sp3Even);
- }
- }
- }
-
- void doQueryTest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- ISelectResults<object> result = region0.Query<object>("i1 = " + i);
- Util.Log(" query result size " + result.Size);
- }
- ISelectResults<object> result2 = region0.Query<object>("1 = 1");
- Util.Log(" query result size " + result2.Size);
-
- //private Address[] _addressArray;
- //private int arrayCount = 10;
- //private ArrayList _addressList;
- //private Address _address;
- //private Hashtable _hashTable;
-
- //var qs = PoolManager/*<object, object>*/.Find("__TESTPOOL1_").GetQueryService();
-
- //Query<object> qry = qs.NewQuery<object>("select _addressArray from /" + m_regionNames[0] + " where arrayCount = 10");
- //ISelectResults<object> results = qry.Execute();
- //Assert.Greater(results.Size, 5, "query should have result");
- //IEnumerator<object> ie = results.GetEnumerator();
- //Address[] ad;
- //while (ie.MoveNext())
- //{
- // Address[] ar = (Address[])ie.Current;
- // Assert.AreEqual(ar.Length, 10, "Array size should be 10");
- //}
-
-
- }
-
- void runPdxSerializerTest()
- {
- Util.Log("Starting iteration for pool locator runPdxSerializerTest");
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(initializePdxSerializer);
- m_client2.Call(initializePdxSerializer);
- Util.Log("StepThree complete.");
-
- m_client1.Call(doPutGetWithPdxSerializer);
- Util.Log("StepFour complete.");
-
- m_client2.Call(doGetWithPdxSerializerC2);
- Util.Log("StepFive complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void initializeReflectionPdxSerializer()
- {
- CacheHelper.DCache.TypeRegistry.PdxSerializer = new AutoSerializerEx();
-
- //Serializable.RegisterTypeForPdxSerializer(SerializePdx1.CreateDeserializable);
- }
-
- void doPutGetWithPdxSerializerR()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- object put = new SerializePdx1(true); ;
-
- region0[i] = put;
-
- object ret = region0[i];
-
- Assert.AreEqual(put, ret);
-
- put = new SerializePdx2(true);
- region0[i + 10] = put;
-
-
- ret = region0[i + 10];
-
- Assert.AreEqual(put, ret);
-
- put = new PdxTypesReflectionTest(true);
- region0[i + 20] = put;
-
-
- ret = region0[i + 20];
-
- Assert.AreEqual(put, ret);
-
- put = new SerializePdx3(true, i % 2);
- region0[i + 30] = put;
-
-
- ret = region0[i + 30];
-
- Assert.AreEqual(put, ret);
-
- put = new SerializePdx4(true);
- region0[i + 40] = put;
-
-
- ret = region0[i + 40];
-
- Assert.AreEqual(put, ret);
-
- object p1 = region0[i + 30];
- object p2 = region0[i + 40];
-
- Assert.AreNotEqual(p1, p2, "This should NOt be equals");
-
- PdxFieldTest pft = new PdxFieldTest(true);
- region0[i + 50] = pft;
- ret = region0[i + 50];
-
- Assert.AreNotEqual(pft, ret);
-
- pft.NotInclude = "default_value";
- Assert.AreEqual(pft, ret);
- }
- IDictionary<object, object> putall = new Dictionary<object, object>();
- putall.Add(100, new SerializePdx3(true, 0));
- putall.Add(200, new SerializePdx3(true, 1));
- putall.Add(300, new SerializePdx4(true));
- region0.PutAll(putall);
- }
-
- void doGetWithPdxSerializerC2R()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- object local = new SerializePdx1(true); ;
-
- object ret = region0[i];
-
- Assert.AreEqual(local, ret);
-
- ret = region0[i + 10];
- Assert.AreEqual(new SerializePdx2(true), ret);
-
- ret = region0[i + 20];
- Assert.AreEqual(new PdxTypesReflectionTest(true), ret);
-
- SerializePdx3 sp3Odd = new SerializePdx3(true, 1);
- SerializePdx3 sp3Even = new SerializePdx3(true, 0);
-
- ret = region0[i + 30];
-
- if (i % 2 == 0)
- {
- Assert.AreEqual(sp3Even, ret);
- Assert.AreNotEqual(sp3Odd, ret);
- }
- else
- {
- Assert.AreEqual(sp3Odd, ret);
- Assert.AreNotEqual(sp3Even, ret);
- }
-
- ret = region0[i + 40];
- SerializePdx4 sp4 = new SerializePdx4(true);
- Assert.AreEqual(sp4, ret);
- Console.WriteLine(sp4 + "===" + ret);
-
- object p1 = region0[i + 30];
- object p2 = region0[i + 40];
-
- Assert.AreNotEqual(p1, p2, "This should NOt be equal");
- }
-
- IDictionary<object, object> getall = new Dictionary<object, object>();
- ICollection<object> keys = new List<object>();
- keys.Add(100);
- keys.Add(200);
- keys.Add(300);
- //putall.Add(100, new SerializePdx3(true, 0));
- //putall.Add(200, new SerializePdx3(true, 1));
- //putall.Add(300, new SerializePdx4(true));
- region0.GetAll(keys, getall, null);
-
- Assert.AreEqual(getall[100], new SerializePdx3(true, 0));
- Assert.AreEqual(getall[200], new SerializePdx3(true, 1));
- Assert.AreEqual(getall[300], new SerializePdx4(true));
- }
- void runReflectionPdxSerializerTest()
- {
- Util.Log("Starting iteration for pool locator runPdxSerializerTest");
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(initializeReflectionPdxSerializer);
- m_client2.Call(initializeReflectionPdxSerializer);
- Util.Log("StepThree complete.");
-
- m_client1.Call(doPutGetWithPdxSerializerR);
- Util.Log("StepFour complete.");
-
- m_client2.Call(doGetWithPdxSerializerC2R);
- Util.Log("StepFive complete.");
-
- m_client2.Call(doQueryTest);
- Util.Log("StepSix complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void dinitPdxSerializer()
- {
- CacheHelper.DCache.TypeRegistry.PdxSerializer = null;
- }
-
- void doPutGetWithPdxSerializerNoReg()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- object put = new SerializePdxNoRegister(true); ;
-
- region0[i] = put;
-
- object ret = region0[i];
-
- Assert.AreEqual(put, ret);
- }
- }
-
- void doGetWithPdxSerializerC2NoReg()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < 10; i++)
- {
- object local = new SerializePdxNoRegister(true); ;
-
- object ret = region0[i];
-
- Assert.AreEqual(local, ret);
- }
- }
- void runPdxTestWithNoTypeRegister()
- {
- Util.Log("Starting iteration for pool locator runPdxTestWithNoTypeRegister");
-
- CacheHelper.SetupJavaServers(true, "cacheserver.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- Util.Log("StepThree complete.");
-
- m_client1.Call(dinitPdxSerializer);
- m_client2.Call(dinitPdxSerializer);
- m_client1.Call(doPutGetWithPdxSerializerNoReg);
- Util.Log("StepFour complete.");
-
- m_client2.Call(doGetWithPdxSerializerC2NoReg);
- Util.Log("StepFive complete.");
-
- m_client2.Call(doQueryTest);
- Util.Log("StepSix complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void pdxPut()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- region0["pdxput"] = new PdxTests.PdxType();
- region0["pdxput2"] = new ParentPdx(1);
- }
-
- void getObject()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance ret = (IPdxInstance)region0["pdxput"];
-
- Assert.AreEqual(ret.GetClassName(), "PdxTests.PdxType", "PdxInstance.GetClassName should return PdxTests.PdxType");
-
- PdxType pt = (PdxType)ret.GetObject();
-
- PdxType ptorig = new PdxType();
-
-
- Assert.AreEqual(pt, ptorig, "PdxInstance.getObject not equals original object.");
-
- ret = (IPdxInstance)region0["pdxput2"];
- ParentPdx pp = (ParentPdx)ret.GetObject();
-
- ParentPdx ppOrig = new ParentPdx(1);
-
- Assert.AreEqual(pp, ppOrig, "Parent pdx should be equal ");
-
- }
-
- void verifyPdxInstanceEquals()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance ret = (IPdxInstance)region0["pdxput"];
- IPdxInstance ret2 = (IPdxInstance)region0["pdxput"];
-
-
- Assert.AreEqual(ret, ret2, "PdxInstance equals are not matched.");
-
- Util.Log(ret.ToString());
- Util.Log(ret2.ToString());
-
- ret = (IPdxInstance)region0["pdxput2"];
- ret2 = (IPdxInstance)region0["pdxput2"];
-
- Assert.AreEqual(ret, ret2, "parent pdx equals are not matched.");
- }
-
- void verifyPdxInstanceHashcode()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance ret = (IPdxInstance)region0["pdxput"];
- PdxType dPdxType = new PdxType();
-
- int pdxInstHashcode = ret.GetHashCode();
- Util.Log("pdxinstance hash code "+ pdxInstHashcode);
-
- int javaPdxHC = (int)region0["javaPdxHC"];
-
- //TODO: need to fix this is beacause Enum hashcode is different in java and .net
- //Assert.AreEqual(javaPdxHC, pdxInstHashcode, "Pdxhashcode hashcode not matched with java padx hash code.");
-
- //for parent pdx
- ret = (IPdxInstance)region0["pdxput2"];
- pdxInstHashcode = ret.GetHashCode();
- Assert.AreEqual(javaPdxHC, pdxInstHashcode, "Pdxhashcode hashcode not matched with java padx hash code for Parentpdx class.");
- }
-
- void accessPdxInstance()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxType.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance ret = (IPdxInstance)region0["pdxput"];
- PdxType dPdxType = new PdxType();
-
- string retStr = (string)ret.GetField("m_string");
-
- Assert.AreEqual(dPdxType.PString, retStr);
-
- PdxType.GenericValCompare((char)ret.GetField("m_char"), dPdxType.Char);
-
- byte[][] baa = (byte[][])ret.GetField("m_byteByteArray");
- PdxType.compareByteByteArray(baa, dPdxType.ByteByteArray);
-
- PdxType.GenericCompare((char[])ret.GetField("m_charArray"), dPdxType.CharArray);
-
- bool bl = (bool)ret.GetField("m_bool");
- PdxType.GenericValCompare(bl, dPdxType.Bool);
- PdxType.GenericCompare((bool[])ret.GetField("m_boolArray"), dPdxType.BoolArray);
-
- PdxType.GenericValCompare((sbyte)ret.GetField("m_byte"), dPdxType.Byte);
- PdxType.GenericCompare((byte[])ret.GetField("m_byteArray"), dPdxType.ByteArray);
-
-
- List<object> tmpl = (List<object>)ret.GetField("m_arraylist");
-
- PdxType.compareCompareCollection(tmpl, dPdxType.Arraylist);
-
- IDictionary<object, object> tmpM = (IDictionary<object, object>)ret.GetField("m_map");
- if (tmpM.Count != dPdxType.Map.Count)
- throw new IllegalStateException("Not got expected value for type: " + dPdxType.Map.GetType().ToString());
-
- Hashtable tmpH = (Hashtable)ret.GetField("m_hashtable");
-
- if (tmpH.Count != dPdxType.Hashtable.Count)
- throw new IllegalStateException("Not got expected value for type: " + dPdxType.Hashtable.GetType().ToString());
-
- ArrayList arrAl = (ArrayList)ret.GetField("m_vector");
-
- if (arrAl.Count != dPdxType.Vector.Count)
- throw new IllegalStateException("Not got expected value for type: " + dPdxType.Vector.GetType().ToString());
-
- CacheableHashSet rmpChs = (CacheableHashSet)ret.GetField("m_chs");
-
- if (rmpChs.Count != dPdxType.Chs.Count)
- throw new IllegalStateException("Not got expected value for type: " + dPdxType.Chs.GetType().ToString());
-
- CacheableLinkedHashSet rmpClhs = (CacheableLinkedHashSet)ret.GetField("m_clhs");
-
- if (rmpClhs.Count != dPdxType.Clhs.Count)
- throw new IllegalStateException("Not got expected value for type: " + dPdxType.Clhs.GetType().ToString());
-
-
- PdxType.GenericValCompare((string)ret.GetField("m_string"), dPdxType.String);
-
- PdxType.compareData((DateTime)ret.GetField("m_dateTime"), dPdxType.DateTime);
-
- PdxType.GenericValCompare((double)ret.GetField("m_double"), dPdxType.Double);
-
- PdxType.GenericCompare((long[])ret.GetField("m_longArray"), dPdxType.LongArray);
- PdxType.GenericCompare((Int16[])ret.GetField("m_int16Array"), dPdxType.Int16Array);
- PdxType.GenericValCompare((sbyte)ret.GetField("m_sbyte"), dPdxType.Sbyte);
- PdxType.GenericCompare((byte[])ret.GetField("m_sbyteArray"), dPdxType.SbyteArray);
- PdxType.GenericCompare((string[])ret.GetField("m_stringArray"), dPdxType.StringArray);
- PdxType.GenericValCompare((Int16)ret.GetField("m_uint16"), dPdxType.Uint16);
- PdxType.GenericValCompare((int)ret.GetField("m_uint32"), dPdxType.Uint32);
- PdxType.GenericValCompare((long)ret.GetField("m_ulong"), dPdxType.Ulong);
- PdxType.GenericCompare((int[])ret.GetField("m_uint32Array"), dPdxType.Uint32Array);
-
- PdxType.GenericCompare((double[])ret.GetField("m_doubleArray"), dPdxType.DoubleArray);
- PdxType.GenericValCompare((float)ret.GetField("m_float"), dPdxType.Float);
- PdxType.GenericCompare((float[])ret.GetField("m_floatArray"), dPdxType.FloatArray);
- PdxType.GenericValCompare((Int16)ret.GetField("m_int16"), dPdxType.Int16);
- PdxType.GenericValCompare((Int32)ret.GetField("m_int32"), dPdxType.Int32);
- PdxType.GenericValCompare((long)ret.GetField("m_long"), dPdxType.Long);
- PdxType.GenericCompare((int[])ret.GetField("m_int32Array"), dPdxType.Int32Array);
-
- PdxType.GenericCompare((long[])ret.GetField("m_ulongArray"), dPdxType.UlongArray);
- PdxType.GenericCompare((Int16[])ret.GetField("m_uint16Array"), dPdxType.Uint16Array);
-
- byte[] retbA = (byte[])ret.GetField("m_byte252");
- if (retbA.Length != 252)
- throw new Exception("Array len 252 not found");
-
- retbA = (byte[])ret.GetField("m_byte253");
- if (retbA.Length != 253)
- throw new Exception("Array len 253 not found");
-
- retbA = (byte[])ret.GetField("m_byte65535");
- if (retbA.Length != 65535)
- throw new Exception("Array len 65535 not found");
-
- retbA = (byte[])ret.GetField("m_byte65536");
- if (retbA.Length != 65536)
- throw new Exception("Array len 65536 not found");
-
- pdxEnumTest ev = (pdxEnumTest)ret.GetField("m_pdxEnum");
- if(ev != dPdxType.PdxEnum)
- throw new Exception("Pdx enum is not equal");
-
- IPdxInstance[] addreaaPdxI = (IPdxInstance[])ret.GetField("m_address");
- Assert.AreEqual(addreaaPdxI.Length, dPdxType.AddressArray.Length);
-
- Assert.AreEqual(addreaaPdxI[0].GetObject(), dPdxType.AddressArray[0]);
-
-
- List<object> objArr = (List<object>)ret.GetField("m_objectArray");
- Assert.AreEqual(objArr.Count, dPdxType.ObjectArray.Count);
-
- Assert.AreEqual(((IPdxInstance)objArr[0]).GetObject(), dPdxType.ObjectArray[0]);
-
-
- ret = (IPdxInstance)region0["pdxput2"];
-
- IPdxInstance cpi = (IPdxInstance)ret.GetField("_childPdx");
-
- ChildPdx cpo = (ChildPdx)cpi.GetObject();
-
- Assert.AreEqual(cpo, new ChildPdx(1393), "child pdx should be equal");
- }
-
- void modifyPdxInstance()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance newpdxins;
- IPdxInstance pdxins = (IPdxInstance)region0["pdxput"];
-
- int oldVal = (int)pdxins.GetField("m_int32");
-
- IWritablePdxInstance iwpi = pdxins.CreateWriter();
-
- iwpi.SetField("m_int32", oldVal + 1);
- iwpi.SetField("m_string", "change the string");
- region0["pdxput"] = iwpi;
-
- newpdxins = (IPdxInstance)region0["pdxput"];
-
- int newVal = (int)newpdxins.GetField("m_int32");
-
- Assert.AreEqual(oldVal + 1, newVal);
-
- string cStr = (string)newpdxins.GetField("m_string");
- Assert.AreEqual("change the string", cStr);
-
- List<object> arr = (List<object>)newpdxins.GetField("m_arraylist");
-
- Assert.AreEqual(arr.Count, 2);
-
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_char", 'D');
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((char)newpdxins.GetField("m_char"), 'D', "Char is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_bool", false);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((bool)newpdxins.GetField("m_bool"), false, "bool is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byte", (sbyte)0x75);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((sbyte)newpdxins.GetField("m_byte"), (sbyte)0x75, "sbyte is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_sbyte", (sbyte)0x57);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((sbyte)newpdxins.GetField("m_sbyte"), (sbyte)0x57, "sbyte is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int16", (short)0x5678);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((Int16)newpdxins.GetField("m_int16"), (short)0x5678, "int16 is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_long", (long)0x56787878);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((long)newpdxins.GetField("m_long"), (long)0x56787878, "long is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_float", 18389.34f);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((float)newpdxins.GetField("m_float"), 18389.34f, "float is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_float", 18389.34f);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((float)newpdxins.GetField("m_float"), 18389.34f, "float is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_double", 18389.34d);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((double)newpdxins.GetField("m_double"), 18389.34d, "double is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_boolArray", new bool[] { true, false, true, false, true, true, false, true });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((bool[])newpdxins.GetField("m_boolArray"), new bool[] { true, false, true, false, true, true, false, true }, "bool array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byteArray", new byte[] { 0x34, 0x64, 0x34, 0x64 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((byte[])newpdxins.GetField("m_byteArray"), new byte[] { 0x34, 0x64, 0x34, 0x64 }, "byte array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_charArray", new char[] { 'c', 'v', 'c', 'v' });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((char[])newpdxins.GetField("m_charArray"), new char[] { 'c', 'v', 'c', 'v' }, "char array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- long ticks = 634460644691580000L;
- DateTime tdt = new DateTime(ticks);
- iwpi.SetField("m_dateTime", tdt);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((DateTime)newpdxins.GetField("m_dateTime"), tdt, "datetime is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int16Array", new short[] { 0x2332, 0x4545, 0x88, 0x898 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((Int16[])newpdxins.GetField("m_int16Array"), new short[] { 0x2332, 0x4545, 0x88, 0x898 }, "short array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int32Array", new int[] { 23, 676868, 34343 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((Int32[])newpdxins.GetField("m_int32Array"), new int[] { 23, 676868, 34343 }, "int32 array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_longArray", new Int64[] { 3245435, 3425435 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((long[])newpdxins.GetField("m_longArray"), new Int64[] { 3245435, 3425435 }, "long array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_floatArray", new float[] { 232.565f, 234323354.67f });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((float[])newpdxins.GetField("m_floatArray"), new float[] { 232.565f, 234323354.67f }, "float array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_doubleArray", new double[] { 23423432d, 43242354315d });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((double[])newpdxins.GetField("m_doubleArray"), new double[] { 23423432d, 43242354315d }, "double array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- byte[][] tmpbb = new byte[][]{new byte[] {0x23},
- new byte[]{0x34, 0x55},
- new byte[] {0x23},
- new byte[]{0x34, 0x55}
- };
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byteByteArray", tmpbb);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- byte[][] retbb = (byte[][])newpdxins.GetField("m_byteByteArray");
-
- PdxType.compareByteByteArray(tmpbb, retbb);
-
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_stringArray", new string[] { "one", "two", "eeeee" });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual((string[])newpdxins.GetField("m_stringArray"), new string[] { "one", "two", "eeeee" }, "string array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- List<object> tl = new List<object>();
- tl.Add(new PdxType());
- tl.Add(new byte[] { 0x34, 0x55 });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_arraylist", tl);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((List<object>)newpdxins.GetField("m_arraylist")).Count, tl.Count, "list<object> is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- Dictionary<object, object> map = new Dictionary<object, object>();
- map.Add(1, new bool[] { true, false, true, false, true, true, false, true });
- map.Add(2, new string[] { "one", "two", "eeeee" });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_map", map);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((Dictionary<object, object>)newpdxins.GetField("m_map")).Count, map.Count , "map is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- Hashtable hashtable = new Hashtable();
- hashtable.Add(1, new string[] { "one", "two", "eeeee" });
- hashtable.Add(2, new int[] { 23, 676868, 34343 });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_hashtable", hashtable);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((Hashtable)newpdxins.GetField("m_hashtable")).Count, hashtable.Count, "hashtable is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_pdxEnum", pdxEnumTest.pdx1);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((pdxEnumTest)newpdxins.GetField("m_pdxEnum")), pdxEnumTest.pdx1, "pdx enum is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- ArrayList vector = new ArrayList();
- vector.Add(1);
- vector.Add(2);
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_vector", vector);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((ArrayList)newpdxins.GetField("m_vector")).Count, vector.Count, "vector is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- CacheableHashSet chm = CacheableHashSet.Create();
- chm.Add(1);
- chm.Add("jkfdkjdsfl");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_chs", chm);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.True(chm.Equals(newpdxins.GetField("m_chs")), "CacheableHashSet is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- CacheableLinkedHashSet clhs = CacheableLinkedHashSet.Create();
- clhs.Add(111);
- clhs.Add(111343);
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_clhs", clhs);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.True(clhs.Equals(newpdxins.GetField("m_clhs")), "CacheableLinkedHashSet is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- PdxTests.Address[] aa = new PdxTests.Address[2];
- for (int i = 0; i < aa.Length; i++)
- {
- aa[i] = new PdxTests.Address(i + 1, "street" + i.ToString(), "city" + i.ToString());
- }
-
- iwpi = pdxins.CreateWriter();
-
- iwpi.SetField("m_address", aa);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- IPdxInstance[] iaa = (IPdxInstance[])newpdxins.GetField("m_address");
- Assert.AreEqual(iaa.Length, aa.Length, "address array length should equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal for address array");
-
- List<object> oa = new List<object>();
- oa.Add(new PdxTests.Address(1, "1", "12"));
- oa.Add(new PdxTests.Address(1, "1", "12"));
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_objectArray", oa);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput"];
- Assert.AreEqual(((List<object>)newpdxins.GetField("m_objectArray")).Count, oa.Count, "Object arary is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
-
- pdxins = (IPdxInstance)region0["pdxput2"];
- IPdxInstance cpi = (IPdxInstance)pdxins.GetField("_childPdx");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("_childPdx", new ChildPdx(2));
- region0["pdxput2"] = iwpi;
- newpdxins = (IPdxInstance)region0["pdxput2"];
- Console.WriteLine(pdxins);
- Console.WriteLine(newpdxins);
- Assert.AreNotEqual(pdxins, newpdxins, "parent pdx should be not equal");
- Assert.AreNotEqual(cpi, newpdxins.GetField("_childPdx"), "child pdx instance should be equal");
- Assert.AreEqual(new ChildPdx(2), ((IPdxInstance)(newpdxins.GetField("_childPdx"))).GetObject(), "child pdx instance should be equal");
- }
-
- void runPdxInstanceTest()
- {
- Util.Log("Starting iteration for pool locator runPdxInstanceTest");
-
- CacheHelper.SetupJavaServers(true, "cacheserver_pdxinstance_hashcode.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(pdxPut);
- m_client2.Call(getObject);
- m_client2.Call(verifyPdxInstanceEquals);
- m_client2.Call(verifyPdxInstanceHashcode);
- m_client2.Call(accessPdxInstance);
-
- m_client2.Call(modifyPdxInstance);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
-
- public void InitClientXml(string cacheXml, int serverport1, int serverport2)
- {
- CacheHelper.HOST_PORT_1 = serverport1;
- CacheHelper.HOST_PORT_2 = serverport2;
- CacheHelper.InitConfig(cacheXml);
- }
-
- void testReadSerializedXMLProperty()
- {
- Assert.AreEqual(CacheHelper.DCache.GetPdxReadSerialized(), true);
- }
-
- void putPdxWithIdentityField()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(SerializePdx.Create);
- SerializePdx sp = new SerializePdx(true);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
-
- region0[1] = sp;
- }
-
- void verifyPdxIdentityField()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
-
- IPdxInstance pi = (IPdxInstance)region0[1];
-
- Assert.AreEqual(pi.GetFieldNames().Count, 4, "number of fields should be four in SerializePdx");
-
- Assert.AreEqual(pi.IsIdentityField("i1"), true, "SerializePdx1.i1 should be identity field");
-
- Assert.AreEqual(pi.IsIdentityField("i2"), false, "SerializePdx1.i2 should NOT be identity field");
-
- Assert.AreEqual(pi.HasField("i1"), true, "SerializePdx1.i1 should be in PdxInstance stream");
-
- Assert.AreEqual(pi.HasField("i3"), false, "There is no field i3 in SerializePdx1's PdxInstance stream");
-
- int javaPdxHC = (int)region0["javaPdxHC"];
-
- Assert.AreEqual(javaPdxHC, pi.GetHashCode(), "Pdxhashcode for identity field object SerializePdx1 not matched with java pdx hash code.");
-
- IPdxInstance pi2 = (IPdxInstance)region0[1];
-
- Assert.AreEqual(pi, pi2, "Both pdx instance should equal.");
- }
-
- void putPdxWithNullIdentityFields()
- {
- SerializePdx sp = new SerializePdx(false); //not initialized
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
-
- region0[2] = sp;
- }
-
- void verifyPdxNullIdentityFieldHC()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
-
- IPdxInstance pi = (IPdxInstance)region0[2];
-
- int javaPdxHC = (int)region0["javaPdxHC"];
-
- Assert.AreEqual(javaPdxHC, pi.GetHashCode(), "Pdxhashcode for identity field object SerializePdx1 not matched with java pdx hash code.");
-
- IPdxInstance pi2 = (IPdxInstance)region0[2];
-
- Assert.AreEqual(pi, pi2, "Both pdx instance should equal.");
-
- Dictionary<object, object> values = new Dictionary<object,object>();
- List<object> keys = new List<object>();
- keys.Add(1);
- keys.Add(2);
- region0.GetAll(keys, values, null);
-
- Assert.AreEqual(values.Count, 2, "Getall count should be two");
- }
-
- void runPdxReadSerializedTest()
- {
- Util.Log("runPdxReadSerializedTest");
-
- CacheHelper.SetupJavaServers(false, "cacheserver_pdxinstance_hashcode.xml");
- CacheHelper.StartJavaServer(1, "GFECS1");
-
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(InitClientXml, "client_pdx.xml", CacheHelper.HOST_PORT_1, CacheHelper.HOST_PORT_2);
- m_client2.Call(InitClientXml, "client_pdx.xml", CacheHelper.HOST_PORT_1, CacheHelper.HOST_PORT_2);
-
- m_client1.Call(testReadSerializedXMLProperty);
- m_client2.Call(testReadSerializedXMLProperty);
-
- m_client1.Call(putPdxWithIdentityField);
- m_client2.Call(verifyPdxIdentityField);
-
- m_client1.Call(putPdxWithNullIdentityFields);
- m_client2.Call(verifyPdxNullIdentityFieldHC);
-
- m_client1.Call(Close);
- m_client2.Call(Close);
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void initializePdxAssemblyForEqualTestv1()
- {
- m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeForEqualv1);
-
- // Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestEquals");
-
- //object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
-
- IPdxSerializable registerPdxTypeForEqualv1()
- {
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestEquals");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void initializePdxAssemblyForEqualTestv2()
- {
- m_pdxVesionTwoAsm= Assembly.LoadFrom("PdxVersion2Lib.dll");
-
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxTypeForEqualv2);
-
- // Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestEquals");
-
- //object ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, new object[] { useWeakHashmap });
- }
-
-
- IPdxSerializable registerPdxTypeForEqualv2()
- {
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestEquals");
-
- object ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null, null);
-
- return (IPdxSerializable)ob;
- }
-
- void pdxVersion1Put()
- {
- initializePdxAssemblyForEqualTestv1();
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.TestEquals");
-
- object np = pt.InvokeMember("TestEquals", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
- }
-
- void pdxVersion2Put()
- {
- initializePdxAssemblyForEqualTestv2();
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.TestEquals");
- object np = pt.InvokeMember("TestEquals", BindingFlags.CreateInstance, null, null, null);
- region0[2] = np;
- }
-
- void getVersionObject()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance v1 = (IPdxInstance)region0[1];
- IPdxInstance v2 = (IPdxInstance)region0[2];
-
- Assert.AreEqual(v1, v2, "both pdxinstance should be equal");
- }
-
- void runPdxVersionClassesEqualTest()
- {
- Util.Log("Starting iteration for pool locator runPdxInstanceTest");
-
- CacheHelper.SetupJavaServers(true, "cacheserver_pdxinstance_hashcode.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(pdxVersion1Put);
- m_client2.Call(pdxVersion2Put);
- m_client2.Call(getVersionObject);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- void modifyPdxInstanceAndCheckLocally()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- IPdxInstance newpdxins;
- IPdxInstance pdxins = (IPdxInstance)region0["pdxput"];
-
- int oldVal = (int)pdxins.GetField("m_int32");
-
- IWritablePdxInstance iwpi = pdxins.CreateWriter();
-
- iwpi.SetField("m_int32", oldVal + 1);
- iwpi.SetField("m_string", "change the string");
- region0["pdxput"] = iwpi;
-
- IRegion<object, object> lRegion = region0.GetLocalView();
-
- newpdxins = (IPdxInstance)lRegion["pdxput"];
-
- int newVal = (int)newpdxins.GetField("m_int32");
-
- Assert.AreEqual(oldVal + 1, newVal);
-
- string cStr = (string)newpdxins.GetField("m_string");
- Assert.AreEqual("change the string", cStr);
-
- List<object> arr = (List<object>)newpdxins.GetField("m_arraylist");
-
- Assert.AreEqual(arr.Count, 2);
-
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_char", 'D');
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((char)newpdxins.GetField("m_char"), 'D', "Char is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_bool", false);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((bool)newpdxins.GetField("m_bool"), false, "bool is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byte", (sbyte)0x75);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((sbyte)newpdxins.GetField("m_byte"), (sbyte)0x75, "sbyte is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_sbyte", (sbyte)0x57);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((sbyte)newpdxins.GetField("m_sbyte"), (sbyte)0x57, "sbyte is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int16", (short)0x5678);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((Int16)newpdxins.GetField("m_int16"), (short)0x5678, "int16 is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_long", (long)0x56787878);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((long)newpdxins.GetField("m_long"), (long)0x56787878, "long is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_float", 18389.34f);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((float)newpdxins.GetField("m_float"), 18389.34f, "float is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_float", 18389.34f);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((float)newpdxins.GetField("m_float"), 18389.34f, "float is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_double", 18389.34d);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((double)newpdxins.GetField("m_double"), 18389.34d, "double is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_boolArray", new bool[] { true, false, true, false, true, true, false, true });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((bool[])newpdxins.GetField("m_boolArray"), new bool[] { true, false, true, false, true, true, false, true }, "bool array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byteArray", new byte[] { 0x34, 0x64, 0x34, 0x64 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((byte[])newpdxins.GetField("m_byteArray"), new byte[] { 0x34, 0x64, 0x34, 0x64 }, "byte array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_charArray", new char[] { 'c', 'v', 'c', 'v' });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((char[])newpdxins.GetField("m_charArray"), new char[] { 'c', 'v', 'c', 'v' }, "char array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- long ticks = 634460644691580000L;
- DateTime tdt = new DateTime(ticks);
- iwpi.SetField("m_dateTime", tdt);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((DateTime)newpdxins.GetField("m_dateTime"), tdt, "datetime is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int16Array", new short[] { 0x2332, 0x4545, 0x88, 0x898 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((Int16[])newpdxins.GetField("m_int16Array"), new short[] { 0x2332, 0x4545, 0x88, 0x898 }, "short array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_int32Array", new int[] { 23, 676868, 34343 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((Int32[])newpdxins.GetField("m_int32Array"), new int[] { 23, 676868, 34343 }, "int32 array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_longArray", new Int64[] { 3245435, 3425435 });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((long[])newpdxins.GetField("m_longArray"), new Int64[] { 3245435, 3425435 }, "long array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_floatArray", new float[] { 232.565f, 234323354.67f });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((float[])newpdxins.GetField("m_floatArray"), new float[] { 232.565f, 234323354.67f }, "float array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_doubleArray", new double[] { 23423432d, 43242354315d });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((double[])newpdxins.GetField("m_doubleArray"), new double[] { 23423432d, 43242354315d }, "double array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- byte[][] tmpbb = new byte[][]{new byte[] {0x23},
- new byte[]{0x34, 0x55},
- new byte[] {0x23},
- new byte[]{0x34, 0x55}
- };
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_byteByteArray", tmpbb);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- byte[][] retbb = (byte[][])newpdxins.GetField("m_byteByteArray");
-
- PdxType.compareByteByteArray(tmpbb, retbb);
-
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_stringArray", new string[] { "one", "two", "eeeee" });
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual((string[])newpdxins.GetField("m_stringArray"), new string[] { "one", "two", "eeeee" }, "string array is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- List<object> tl = new List<object>();
- tl.Add(new PdxType());
- tl.Add(new byte[] { 0x34, 0x55 });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_arraylist", tl);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual(((List<object>)newpdxins.GetField("m_arraylist")).Count, tl.Count, "list<object> is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- Dictionary<object, object> map = new Dictionary<object, object>();
- map.Add(1, new bool[] { true, false, true, false, true, true, false, true });
- map.Add(2, new string[] { "one", "two", "eeeee" });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_map", map);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual(((Dictionary<object, object>)newpdxins.GetField("m_map")).Count, map.Count, "map is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- Hashtable hashtable = new Hashtable();
- hashtable.Add(1, new string[] { "one", "two", "eeeee" });
- hashtable.Add(2, new int[] { 23, 676868, 34343 });
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_hashtable", hashtable);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual(((Hashtable)newpdxins.GetField("m_hashtable")).Count, hashtable.Count, "hashtable is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- ArrayList vector = new ArrayList();
- vector.Add(1);
- vector.Add(2);
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_vector", vector);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.AreEqual(((ArrayList)newpdxins.GetField("m_vector")).Count, vector.Count, "vector is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- CacheableHashSet chm = CacheableHashSet.Create();
- chm.Add(1);
- chm.Add("jkfdkjdsfl");
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_chs", chm);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.True(chm.Equals(newpdxins.GetField("m_chs")), "CacheableHashSet is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
-
- CacheableLinkedHashSet clhs = CacheableLinkedHashSet.Create();
- clhs.Add(111);
- clhs.Add(111343);
-
- iwpi = pdxins.CreateWriter();
- iwpi.SetField("m_clhs", clhs);
- region0["pdxput"] = iwpi;
- newpdxins = (IPdxInstance)lRegion["pdxput"];
- Assert.True(clhs.Equals(newpdxins.GetField("m_clhs")), "CacheableLinkedHashSet is not equal");
- Assert.AreNotEqual(pdxins, newpdxins, "PdxInstance should not be equal");
- }
-
- void runPdxInstanceLocalTest()
- {
- Util.Log("Starting iteration for pool locator runPdxInstanceTest");
-
- CacheHelper.SetupJavaServers(true, "cacheserver_pdxinstance_hashcode.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
-
- m_client1.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(pdxPut);
- m_client2.Call(modifyPdxInstanceAndCheckLocally);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
- }
-
- public void pdxIFPutGetTest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxTests.PdxType pt = new PdxType();
-
- IPdxInstanceFactory pif = CacheHelper.DCache.CreatePdxInstanceFactory("PdxTests.PdxType");
-
- pif.WriteInt("m_int32", pt.Int32);
- pif.WriteString("m_string", pt.PString);
- pif.WriteObject("m_arraylist", pt.Arraylist);
- pif.WriteChar("m_char", pt.Char);
- pif.WriteBoolean("m_bool", pt.Bool);
- pif.WriteByte("m_sbyte", pt.Sbyte);
- pif.WriteByte("m_byte", pt.Byte);
- pif.WriteShort("m_int16", pt.Int16);
- pif.WriteByteArray("m_byteArray", pt.ByteArray);
- pif.WriteLong("m_long", pt.Long);
- pif.WriteFloat("m_float", pt.Float);
- pif.WriteDouble("m_double", pt.Double);
- pif.WriteBooleanArray("m_boolArray", pt.BoolArray);
- pif.WriteByteArray("m_sbyteArray", pt.SbyteArray);
- pif.WriteCharArray("m_charArray", pt.CharArray);
- pif.WriteDate("m_dateTime", pt.DateTime);
- pif.WriteShortArray("m_int16Array", pt.Int16Array);
- pif.WriteIntArray("m_int32Array", pt.Int32Array);
- pif.WriteLongArray("m_longArray", pt.LongArray);
- pif.WriteFloatArray("m_floatArray", pt.FloatArray);
- pif.WriteDoubleArray("m_doubleArray", pt.DoubleArray);
- pif.WriteArrayOfByteArrays("m_byteByteArray", pt.ByteByteArray);
- pif.WriteStringArray("m_stringArray", pt.StringArray);
- pif.WriteObject("m_map", pt.Map);
- pif.WriteObject("m_hashtable", pt.Hashtable);
- pif.WriteObject("m_vector", pt.Vector);
- pif.WriteObject("m_chs", pt.Chs);
- pif.WriteObject("m_clhs", pt.Clhs);
- pif.WriteInt("m_uint32", pt.Uint32);
- pif.WriteLong("m_ulong", pt.Ulong);
- pif.WriteShort("m_uint16", pt.Uint16);
- pif.WriteIntArray("m_uint32Array", pt.Uint32Array);
- pif.WriteLongArray("m_ulongArray", pt.UlongArray);
- pif.WriteShortArray("m_uint16Array", pt.Uint16Array);
- pif.WriteByteArray("m_byte252", pt.Byte252);
- pif.WriteByteArray("m_byte253", pt.Byte253);
- pif.WriteByteArray("m_byte65535", pt.Byte65535);
- pif.WriteByteArray("m_byte65536", pt.Byte65536);
- pif.WriteObject("m_pdxEnum", pt.PdxEnum);
-
- pif.WriteObject("m_address", pt.AddressArray);
- pif.WriteObjectArray("m_objectArray", pt.ObjectArray);
-
- IPdxInstance pi = pif.Create();
-
- Assert.AreEqual(pi.GetClassName(), "PdxTests.PdxType", "PdxInstanceFactory created PdxInstance. PdxInstance.GetClassName should return PdxTests.PdxType");
-
- object piObject = pi.GetObject();
-
- Assert.AreEqual(piObject, pt);
-
- region0["pi"] = pi;
-
- Object ret = region0["pi"];
-
- Assert.AreEqual(ret, pt);
-
- bool gotexcep = false;
- try
- {
- pif.Create();
- }
- catch (IllegalStateException ) { gotexcep = true; }
-
- Assert.IsTrue(gotexcep, "Pdx instance factory should have thrown IllegalStateException");
-
- ParentPdx pp = new ParentPdx(2);
- IPdxInstanceFactory if2 = CacheHelper.DCache.CreatePdxInstanceFactory(pp.GetType().FullName);
- if2.WriteInt("_parentId", pp._parentId);
- if2.WriteObject("_gender", pp._gender);
- if2.WriteString("_parentName", pp._parentName);
- if2.WriteObject("_childPdx", pp._childPdx);
-
- IPdxInstance ip2 = if2.Create();
- region0["pp"] = ip2;
-
- ret = region0["pp"];
-
- Assert.AreEqual(ret, pp, "parent pdx should be same");
- }
-
- //this test use write field Api
- public void pdxIFPutGetTest2()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxTests.PdxType pt = new PdxType();
-
- IPdxInstanceFactory pif = CacheHelper.DCache.CreatePdxInstanceFactory("PdxTests.PdxType");
-
- pif.WriteField("m_int32", pt.Int32, pt.Int32.GetType());
- pif.WriteField("m_string", pt.PString, pt.PString.GetType());
- // pif.WriteField("m_arraylist", pt.Arraylist, pt.Arraylist.GetType());
- //we treat arraylist as ObjectArray as well, so here need to differentiate it
- pif.WriteObject("m_arraylist", pt.Arraylist);
- pif.WriteField("m_char", pt.Char, pt.Char.GetType());
- pif.WriteField("m_bool", pt.Bool, pt.Bool.GetType());
- pif.WriteField("m_sbyte", pt.Sbyte, pt.Sbyte.GetType());
- pif.WriteField("m_byte", pt.Byte, pt.Byte.GetType());
- pif.WriteField("m_int16", pt.Int16, pt.Int16.GetType());
- pif.WriteField("m_byteArray", pt.ByteArray, pt.ByteArray.GetType());
- pif.WriteField("m_long", pt.Long, pt.Long.GetType());
- pif.WriteField("m_float", pt.Float, pt.Float.GetType());
- pif.WriteField("m_double", pt.Double, pt.Double.GetType());
- pif.WriteField("m_boolArray", pt.BoolArray, pt.BoolArray.GetType());
- pif.WriteField("m_sbyteArray", pt.SbyteArray, pt.SbyteArray.GetType());
- pif.WriteField("m_charArray", pt.CharArray, pt.CharArray.GetType());
- pif.WriteField("m_dateTime", pt.DateTime, pt.DateTime.GetType());
- pif.WriteField("m_int16Array", pt.Int16Array, pt.Int16Array.GetType());
- pif.WriteField("m_int32Array", pt.Int32Array, pt.Int32Array.GetType());
- pif.WriteField("m_longArray", pt.LongArray, pt.LongArray.GetType());
- pif.WriteField("m_floatArray", pt.FloatArray, pt.FloatArray.GetType());
- pif.WriteField("m_doubleArray", pt.DoubleArray, pt.DoubleArray.GetType());
- pif.WriteField("m_byteByteArray", pt.ByteByteArray, pt.ByteByteArray.GetType());
- pif.WriteField("m_stringArray", pt.StringArray, pt.StringArray.GetType());
- pif.WriteField("m_map", pt.Map, pt.Map.GetType());
- pif.WriteField("m_hashtable", pt.Hashtable, pt.Hashtable.GetType());
- pif.WriteField("m_vector", pt.Vector, pt.Vector.GetType());
- pif.WriteField("m_chs", pt.Chs, pt.Chs.GetType());
- pif.WriteField("m_clhs", pt.Clhs, pt.Clhs.GetType());
- pif.WriteField("m_uint32", pt.Uint32, pt.Uint32.GetType());
- pif.WriteField("m_ulong", pt.Ulong, pt.Ulong.GetType());
- pif.WriteField("m_uint16", pt.Uint16, pt.Uint16.GetType());
- pif.WriteField("m_uint32Array", pt.Uint32Array, pt.Uint32Array.GetType());
- pif.WriteField("m_ulongArray", pt.UlongArray, pt.UlongArray.GetType());
- pif.WriteField("m_uint16Array", pt.Uint16Array, pt.Uint16Array.GetType());
- pif.WriteField("m_byte252", pt.Byte252, pt.Byte252.GetType());
- pif.WriteField("m_byte253", pt.Byte253, pt.Byte253.GetType());
- pif.WriteField("m_byte65535", pt.Byte65535, pt.Byte65535.GetType());
- pif.WriteField("m_byte65536", pt.Byte65536, pt.Byte65536.GetType());
- pif.WriteField("m_pdxEnum", pt.PdxEnum, pt.PdxEnum.GetType());
-
- PdxTests.Address[] aa = new PdxTests.Address[10];
-
- for (int i = 0; i < 10; i++)
- {
- aa[i] = new PdxTests.Address(i + 1, "street" + i.ToString(), "city" + i.ToString());
- }
-
- pif.WriteField("m_address", pt.AddressArray, aa.GetType());
- pif.WriteField("m_objectArray", pt.ObjectArray, pt.ObjectArray.GetType());
-
- IPdxInstance pi = pif.Create();
-
- object piObject = pi.GetObject();
-
- Assert.AreEqual(piObject, pt);
-
- region0["pi2"] = pi;
-
- Object ret = region0["pi2"];
-
- Assert.AreEqual(ret, pt);
-
- ParentPdx pp = new ParentPdx(2);
- IPdxInstanceFactory if2 = CacheHelper.DCache.CreatePdxInstanceFactory(pp.GetType().FullName);
- if2.WriteField("_parentId", pp._parentId, pp._parentId.GetType());
- if2.WriteField("_gender", pp._gender, pp._gender.GetType());
- if2.WriteField("_parentName", pp._parentName, pp._parentName.GetType());
- if2.WriteField("_childPdx", pp._childPdx, pp._childPdx.GetType());
-
- IPdxInstance ip2 = if2.Create();
- region0["ppwf"] = ip2;
-
- ret = region0["ppwf"];
-
- Assert.AreEqual(ret, pp, "parent pdx should be same");
- }
-
- public void runPdxInstanceFactoryTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(pdxIFPutGetTest);
- //m_client2.Call();
- Util.Log("StepThree complete.");
- m_client1.Call(pdxIFPutGetTest2);
- Util.Log("StepFour complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- public void pdxTypeMapperTest1()
- {
- Console.WriteLine("pdxTypeMapperTest 1");
- CacheHelper.DCache.TypeRegistry.PdxTypeMapper = new PdxTypeMapper();
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- if(region0 == null)
- Console.WriteLine("pdxTypeMapperTest region is null");
- else
- Console.WriteLine("pdxTypeMapperTest region is NOT null");
-
- PdxTests.PdxType pt = new PdxType();
-
- for (int i = 0; i < 10; i++)
- {
- region0[i] = pt;
- }
- for (int i = 0; i < 10; i++)
- {
- object ret = region0[i];
-
- Assert.AreEqual(ret, pt);
- }
- }
-
- public void pdxTypeMapperTest2()
- {
- CacheHelper.DCache.TypeRegistry.PdxTypeMapper = new PdxTypeMapper();
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxTests.PdxType pt = new PdxType();
-
- for (int i = 0; i < 10; i++)
- {
- object ret = region0[1];
-
- Assert.AreEqual(ret, pt);
- }
- }
-
- public void pdxITypeMapperTest()
- {
- CacheHelper.DCache.TypeRegistry.PdxTypeMapper = new PdxTypeMapper();
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- PdxTests.PdxType pt = new PdxType();
-
- for (int i = 0; i < 10; i++)
- {
- object ret = region0[1];
-
- IPdxInstance pi = ret as IPdxInstance;
- Assert.IsNotNull(pi);
-
- using (pi)
- {
- Assert.AreEqual(pi.GetObject(), pt);
- }
- }
- }
-
- public void pdxASTypeMapperTest()
- {
- CacheHelper.DCache.TypeRegistry.PdxSerializer = new AutoSerializerEx();
- CacheHelper.DCache.TypeRegistry.PdxTypeMapper = new PdxTypeMapper();
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- SerializePdx3 sp3 = new SerializePdx3(true, 2);
-
- for (int i = 100; i < 110; i++)
- {
- region0[i] = sp3;
- }
-
- for (int i = 100; i < 110; i++)
- {
- object ret = region0[i];
- Assert.AreEqual(sp3, ret);
- }
- }
-
- public void runPdxTypeMapperTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client4.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
-
- m_client3.Call(CreateTCRegions_Pool_PDX2, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
-
-
- Util.Log("StepTwo (pool locators) complete.");
- Console.WriteLine("client created");
-
- m_client1.Call(pdxTypeMapperTest1);
- Console.WriteLine("client created2");
- m_client2.Call(pdxTypeMapperTest2);
- m_client3.Call(pdxITypeMapperTest);
- m_client4.Call(pdxASTypeMapperTest);
-
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- m_client3.Call(Close);
- m_client4.Call(Close);
- //Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
- int nPdxPuts = 100000;
- int pdxobjsize = 5000;
- void checkLocalCache()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- IRegion<object, object> localregion = region0.GetLocalView();
-
- int entryNotFound = 0;
- int entryFound = 0;
- for (int i = 0; i < nPdxPuts; i++)
- {
- try
- {
- object ret = localregion[i];
- if (ret != null)
- {
- Heaptest ht = ret as Heaptest;
- if (ht != null)
- entryFound++;
- }
- }
- catch (Client.KeyNotFoundException )
- {
- entryNotFound++;
- }
- }
- Assert.Greater(entryFound, 100, "enteries should be in local cache");
- Assert.Greater(nPdxPuts, entryFound + 50000, "pdx object should have evicted");
- }
- void putPdxheaptest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < nPdxPuts; i++)
- {
- region0[i] = new Heaptest(pdxobjsize);
- }
- checkLocalCache();
- }
-
- void getPdxHeaptest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- for (int i = 0; i < nPdxPuts; i++)
- {
- object ret = region0[i];
- }
- checkLocalCache();
- }
-
- public void runPdxTypeObjectSizeTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(SetHeaplimit, 100, 10);
- m_client2.Call(SetHeaplimit, 100, 10);
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(putPdxheaptest);
- m_client2.Call(getPdxHeaptest);
-
- m_client1.Call(UnsetHeapLimit);
- m_client2.Call(UnsetHeapLimit);
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- int nBAPuts = 25;
- int baSize = 16240000;
- void checkLocalCacheBA(bool checkmem)
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- IRegion<object, object> localregion = region0.GetLocalView();
-
- int entryNotFound = 0;
- int entryFound = 0;
- for (int i = 0; i < nBAPuts; i++)
- {
- try
- {
- object ret = localregion[i];
- if (ret != null)
- {
- Byte[] ht = ret as Byte[];
- if (ht != null)
- entryFound++;
- }
- }
- catch (Client.KeyNotFoundException )
- {
- entryNotFound++;
- }
- }
- Assert.Greater(entryFound, 8, "enteries should be in local cache");
- Assert.Greater(nBAPuts, entryFound + 10, "pdx object should have evicted");
-
- int mem = (int)GC.GetTotalMemory(true);
- // if(checkmem)
- //Assert.Less(mem, 200000000, "Memory should be less then 200 mb");
- }
- void putBAheaptest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- for (int i = 0; i < nBAPuts; i++)
- {
- region0[i] = new byte[baSize];
- }
- checkLocalCacheBA(false);
- }
-
- void getBAHeaptest()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- for (int i = 0; i < nBAPuts; i++)
- {
- object ret = region0[i];
- }
- checkLocalCacheBA(true);
- }
-
- public void runByteArrayObjectSizeTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(SetHeaplimit, 150, 5);
- m_client2.Call(SetHeaplimit, 150, 5);
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(putBAheaptest);
- m_client2.Call(getBAHeaptest);
-
- m_client1.Call(UnsetHeapLimit);
- m_client2.Call(UnsetHeapLimit);
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- private void putPdxWithEnum()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- region0[0] = new PdxEnumTestClass(0);
- region0[1] = new PdxEnumTestClass(1);
- region0[2] = new PdxEnumTestClass(2);
- }
- private void pdxEnumQuery()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- ISelectResults<object> sr = region0.Query<object>("_enumid.name = 'id2'");
-
- Assert.AreEqual(1, sr.Size, "query result should have one item");
-
- IEnumerator<object> en = sr.GetEnumerator();
-
- while (en.MoveNext())
- {
- PdxEnumTestClass re = (PdxEnumTestClass)en.Current;
- Assert.AreEqual(1, re.ID, "query should have return id 1");
- }
- }
-
- public void runPdxEnumQueryTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(putPdxWithEnum);
- m_client1.Call(pdxEnumQuery);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- void registerPdxDelta()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- region0.GetSubscriptionService().RegisterAllKeys();
- }
-
- void putPdxDelta()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- javaobject.PdxDelta pd = new javaobject.PdxDelta(1001);
- for (int i = 0; i < 10; i++)
- {
- region0["pdxdelta"] = pd;
- }
- Assert.Greater(javaobject.PdxDelta.GotDelta, 7, "this should have more todelta");
- }
-
- void verifyPdxDelta()
- {
- System.Threading.Thread.Sleep(5000);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- //Assert.Greater(javaobject.PdxDelta.GotDelta, 7, "this should have recieve delta");
- javaobject.PdxDelta pd = (javaobject.PdxDelta)region0.GetLocalView()["pdxdelta"];
- Assert.Greater(pd.Delta, 7, "this should have recieve delta");
- Assert.Greater(javaobject.PdxDelta.GotDelta, 7, "this should have more todelta");
- }
-
- public void runPdxDeltaTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverForPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", true, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
- m_client2.Call(registerPdxDelta);
- m_client1.Call(putPdxDelta);
- m_client2.Call(verifyPdxDelta);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- private void generateJavaPdxType()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- string args = "saveAllJavaPdxTypes";
- List<object> filter = new List<object>();
- filter.Add(1);
- Execution<object> execution = FunctionService<object>.OnRegion<object, object>(region0)
- .WithArgs<object>(args).WithFilter<object>(filter);
-
-
-
- IResultCollector<object> resultCollector = execution.Execute("ComparePdxTypes");
-
- ICollection<object> executeFunctionResult = resultCollector.GetResult();
-
- bool gotResult = false;
- foreach (object item in executeFunctionResult)
- {
- Assert.AreEqual(item, true, "Function should return true");
- gotResult = true;
- }
- Assert.AreEqual(gotResult, true, "Function should return true");
- }
-
- private void putAllPdxTypes()
- {
- Region r = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- PdxTypes1 p1 = new PdxTypes1();
- r[p1.GetType().FullName] = p1;
-
- PdxTypes2 p2 = new PdxTypes2();
- r[p2.GetType().FullName] = p2;
-
- PdxTypes3 p3 = new PdxTypes3();
- r[p3.GetType().FullName] = p3;
-
- PdxTypes4 p4 = new PdxTypes4();
- r[p4.GetType().FullName] = p4;
-
- PdxTypes5 p5 = new PdxTypes5();
- r[p5.GetType().FullName] = p5;
-
- PdxTypes6 p6 = new PdxTypes6();
- r[p6.GetType().FullName] = p6;
-
- PdxTypes7 p7 = new PdxTypes7();
- r[p7.GetType().FullName] = p7;
-
- PdxTypes8 p8 = new PdxTypes8();
- r[p8.GetType().FullName] = p8;
-
- PdxTypes9 p9 = new PdxTypes9();
- r[p9.GetType().FullName] = p9;
-
- PdxTypes10 p10 = new PdxTypes10();
- r[p10.GetType().FullName] = p10;
- }
-
- private void verifyDotNetPdxTypes()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- string args = "compareDotNETPdxTypes";
- List<object> filter = new List<object>();
- filter.Add(1);
- Execution<object> execution = FunctionService<object>.OnRegion<object, object>(region0)
- .WithArgs<object>(args).WithFilter<object>(filter);
-
-
-
- IResultCollector<object> resultCollector = execution.Execute("ComparePdxTypes");
-
- ICollection<object> executeFunctionResult = resultCollector.GetResult();
-
- bool gotResult = false;
- foreach (object item in executeFunctionResult)
- {
- Assert.AreEqual(item, true, "Function should return true");
- gotResult = true;
- }
- Assert.AreEqual(gotResult, true, "Function should return true");
- }
-
- public void runPdxMetadataCheckTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdx2.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", true, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
- m_client1.Call(generateJavaPdxType);
- m_client1.Call(putAllPdxTypes);
- m_client1.Call(verifyDotNetPdxTypes);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- private void client1PutsV1Object()
- {
- initializePdxAssemblyOne3(false);
-
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
- region0[1] = np;
-
- object pRet = region0[1];
- }
-
- //this has v2 object
- private void client2GetsV1ObjectAndPutsV2Object()
- {
- initializePdxAssemblyTwo3(false);
-
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- Type pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypes3");
- object np = pt.InvokeMember("PdxTypes3", BindingFlags.CreateInstance, null, null, null);
-
- //get v1 ojbject ..
- object pRet = (object)region0[1];
-
- //now put v2 object
- region0[2] = np;
- }
-
- //this should fails..
- private void client3GetsV2Object()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- List<object> filter = new List<object>();
- filter.Add(1);
- Execution<object> execution = FunctionService<object>.OnRegion<object, object>(region0);
-
- IResultCollector<object> resultCollector = execution.Execute("IterateRegion");
-
- ICollection<object> executeFunctionResult = resultCollector.GetResult();
-
- bool gotResult = false;
- foreach (object item in executeFunctionResult)
- {
- Assert.AreEqual(item, true, "Function should return true");
- gotResult = true;
- }
- Assert.AreEqual(gotResult, true, "Function should return true");
- }
-
-
- public void runPdxBankTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdx2.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, true/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", true, false, true/*local caching false*/);
-
- m_client3.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", true, false, true/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
- m_client1.Call(client1PutsV1Object);
- m_client2.Call(client2GetsV1ObjectAndPutsV2Object);
- m_client3.Call(client3GetsV2Object);
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
- m_client3.Call(Close);
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- }
-
- void putFromLongRunningClient()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxTypes2.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- region0[1] = new PdxTests.PdxTypes1();
- region0[2] = new PdxTests.PdxTypes2();
-
- }
-
- void VerifyEntryFLRC()
- {
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxTypes1.CreateDeserializable);
- CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTests.PdxTypes2.CreateDeserializable);
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- object ret = region0[1];
- }
-
- void put2FromLongRunningClient()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
-
- region0[2] = new PdxTests.PdxTypes2();
- }
-
- void VerifyEntry2FLRC()
- {
- Region region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
- try
- {
- object ret = region0[2];
- Assert.Fail("Expected exception.");
- }
- catch (Exception) {
- // Expected
- }
- }
-
- string testSysPropFileName = "testLR.properties";
- void createExtraSysPropFile(string name, string value)
- {
- // create a file for alternate properties...
- StreamWriter sw = new StreamWriter(testSysPropFileName);
- sw.WriteLine(name + "=" + value);
- sw.Close();
- }
- void runPdxLongrunningClientTest()
- {
-
-
- CacheHelper.SetupJavaServers(true, "cacheserverPdx.xml");
- CacheHelper.StartJavaLocator(1, "GFELOC");
- Util.Log("Locator 1 started.");
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started.");
-
- createExtraSysPropFile("on-client-disconnect-clear-pdxType-Ids", "true");
- m_client1.Call(CacheHelper.SetExtraPropertiesFile, testSysPropFileName);
- m_client2.Call(CacheHelper.SetExtraPropertiesFile, testSysPropFileName);
-
- m_client1.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepOne (pool locators) complete.");
-
- m_client2.Call(CreateTCRegions_Pool, RegionNames,
- CacheHelper.Locators, "__TESTPOOL1_", false, false, false/*local caching false*/);
- Util.Log("StepTwo (pool locators) complete.");
-
-
- m_client1.Call(putFromLongRunningClient);
- Util.Log("StepThree complete.");
-
- //m_client2.Call(VerifyEntryFLRC);
- Util.Log("StepFour complete.");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
- Util.Log("Cacheserver 1 started again.");
-
- //different object
- m_client1.Call(put2FromLongRunningClient);
- Util.Log("StepFive complete.");
-
- //this should throw exception
- m_client2.Call(VerifyEntry2FLRC);
- Util.Log("StepSeven complete.");
-
- m_client1.Call(Close);
- Util.Log("Client 1 closed");
- m_client2.Call(Close);
- Util.Log("Client 2 closed");
-
- CacheHelper.StopJavaServer(1);
- Util.Log("Cacheserver 1 stopped.");
-
- CacheHelper.StopJavaLocator(1);
- Util.Log("Locator 1 stopped.");
-
- CacheHelper.ClearEndpoints();
- CacheHelper.ClearLocators();
-
- m_client1.Call(CacheHelper.SetExtraPropertiesFile, (string)null);
- m_client2.Call(CacheHelper.SetExtraPropertiesFile, (string)null);
- }
-
- #region Tests
-
- [Test]
- //NON PDX UnitTest for Ticket#866 on NC OR SR#13306117704. Set client name via native client API
- public void testBug866()
- {
- runtestForBug866();
- }
-
- [Test]
- public void DistOps()
- {
- runPdxDistOps();
- }
-
- [Test]
- public void DistOps2()
- {
- runPdxDistOps2();
- }
-
- [Test]
- public void NestedPdxOps()
- {
- runNestedPdxOps();
- }
-
- [Test]
- public void PdxInIGFSOps()
- {
- runPdxInIGFSOps();
- }
-
- [Test]
- public void JavaInteroperableOps()
- {
- runJavaInteroperableOps();
- }
-
- [Test]
- public void JavaInterOpsWithLinkedListType()
- {
- runJavaInterOpsWithLinkedListType();
- }
-
- [Test]
- public void PutAllGetAllOps()
- {
- runPutAllGetAllOps();
- }
-
- [Test]
- public void LocalOps()
- {
- runLocalOps();
- }
-
- [Test]
- public void BasicMergeOps()
- {
- m_useWeakHashMap = true;
- runBasicMergeOps();
- m_useWeakHashMap = false;
- runBasicMergeOps();
- }
-
- [Test]
- public void BasicMergeOpsWithPdxSerializer()
- {
- m_useWeakHashMap = true;
- runBasicMergeOpsWithPdxSerializer();
- m_useWeakHashMap = false;
- runBasicMergeOpsWithPdxSerializer();
- }
-
- [Test]
- public void BasicMergeOpsR1()//first register with higher version
- {
- m_useWeakHashMap = true;
- runBasicMergeOpsR1();
- m_useWeakHashMap = false;
- runBasicMergeOpsR1();
- }
-
- [Test]
- public void BasicMergeOpsR2()//first register with higher version
- {
- m_useWeakHashMap = true;
- runBasicMergeOpsR2();
- m_useWeakHashMap = false;
- runBasicMergeOpsR2();
- }
-
- [Test]
- public void BasicMergeOps2()//first register with higher version
- {
- m_useWeakHashMap = true;
- runBasicMergeOps2();
- m_useWeakHashMap = false;
- runBasicMergeOps2();
- }
-
- [Test]
- public void BasicMergeOps3()//first register with higher version
- {
- m_useWeakHashMap = true;
- runBasicMergeOps3();
- m_useWeakHashMap = false;
- runBasicMergeOps3();
- }
-
- [Test]
- public void PdxIgnoreUnreadFieldTest()
- {
- m_useWeakHashMap = true;
- runPdxIgnoreUnreadFieldTest();
- m_useWeakHashMap = false;
- runPdxIgnoreUnreadFieldTest();
- }
-
- [Test]
- public void MultipleDSTest()
- {
- runMultipleDSTest();
- }
-
- [Test]
- public void PdxSerializerTest()
- {
- runPdxSerializerTest();
- }
-
- [Test]
- public void ReflectionPdxSerializerTest()
- {
- runReflectionPdxSerializerTest();
- }
-
- [Test]
- public void PdxTestWithNoTypeRegister()
- {
- runPdxTestWithNoTypeRegister();
- }
-
- [Test]
- public void PdxInstanceTest()
- {
- runPdxInstanceTest();
- }
-
- [Test]
- public void PdxReadSerializedTest()
- {
- runPdxReadSerializedTest();
- }
-
- [Test]
- public void PdxVersionClassesEqualTest()
- {
- runPdxVersionClassesEqualTest();
- }
-
- [Test]
- public void PdxInstanceLocalTest()
- {
- runPdxInstanceLocalTest();
- }
-
- [Test]
- public void PdxInstanceFactoryTest()
- {
- runPdxInstanceFactoryTest();
- }
-
- [Test]
- public void PdxTypeMapperTest()
- {
- runPdxTypeMapperTest();
- }
-
- //[Test]
- public void PdxTypeObjectSizeTest()
- {
- runPdxTypeObjectSizeTest();
- }
-
- [Test]
- public void ByteArrayObjectSizeTest()
- {
- runByteArrayObjectSizeTest();
- }
-
- [Test]
- public void PdxEnumQueryTest()
- {
- runPdxEnumQueryTest();
- }
-
- [Test]
- public void PdxDeltaTest()
- {
- runPdxDeltaTest();
- }
-
- [Test]
- public void PdxMetadataCheckTest()
- {
- runPdxMetadataCheckTest();
- }
-
- [Test]
- public void PdxBankTest()
- {
- runPdxBankTest();
- }
-
- [Test]
- public void PdxLongrunningClientTest()
- {
- runPdxLongrunningClientTest();
- }
-
- #endregion
- }
-
- #region IpDxSerializer stuff
- public class SerializePdx : IPdxSerializable
- {
- [PdxIdentityField]
- public int i1;
- public int i2;
- public string s1;
- public string s2;
-
- /*public static SerializePdx1 CreateDeserializable()
- {
- return new SerializePdx1(false);
- }*/
-
- //public SerializePdx()
- //{
- //}
-
- public static SerializePdx Create()
- {
- return new SerializePdx(false);
- }
- public SerializePdx(bool init)
- {
- if (init)
- {
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdx other = obj as SerializePdx;
-
- if (obj == null)
- return false;
-
- if (i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- return true;
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- i1 = reader.ReadInt("i1");
- i2 = reader.ReadInt("i2");
- s1 = reader.ReadString("s1");
- s2 = reader.ReadString("s2");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("i1", i1);
- writer.MarkIdentityField("i1");
- writer.WriteInt("i2", i2);
- writer.WriteString("s1", s1);
- writer.MarkIdentityField("s1");
- writer.WriteString("s2", s2);
- }
-
- #endregion
- }
- public class SerializePdx1
- {
- [PdxIdentityField]
- public int i1;
- public int i2;
- public string s1;
- public string s2;
-
- /*public static SerializePdx1 CreateDeserializable()
- {
- return new SerializePdx1(false);
- }*/
-
- public SerializePdx1()
- {
- }
- public SerializePdx1(bool init)
- {
- if (init)
- {
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdx1 other = obj as SerializePdx1;
-
- if (other == null)
- return false;
-
- if (i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- return true;
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class SerializePdx2
- {
- public string s0;
- [PdxIdentityField]
- public int i1;
- public int i2;
- public string s1;
- public string s2;
-
- public SerializePdx2()
- {
-
- }
- public override string ToString()
- {
- return i1 + i2 + s1 + s2;
- }
- public SerializePdx2(bool init)
- {
- if (init)
- {
- s0 = "s9999999999999999999999999999999999";
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdx2 other = obj as SerializePdx2;
-
- if (other == null)
- return false;
-
- if (s0 == other.s0
- && i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- return true;
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class BaseClass
- {
- //private readonly int _b1 = 1000;
- [NonSerialized]
- //private int _nonserialized = 1001;
- //private static int _static = 1002;
-
- private const int _const = 1003;
-
- private int _baseclassmember;
-
- public BaseClass()
- {
-
- }
- public BaseClass(bool init)
- {
- if (init)
- {
- _baseclassmember = 101;
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- BaseClass bc = obj as BaseClass;
- if (bc == null)
- return false;
-
- if (bc == this)
- return true;
-
- if (bc._baseclassmember == this._baseclassmember)
- {
- return true;
- }
- return false;
- }
-
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
-
- public void ToData(IPdxWriter w)
- {
- w.WriteInt("_baseclassmember", _baseclassmember);
- }
-
- public void FromData(IPdxReader r)
- {
- _baseclassmember = r.ReadInt("_baseclassmember");
- }
- }
-
- public class Address
- {
- private static Guid oddGuid = new Guid("924243B5-9C2A-41d7-86B1-E0B905C7EED3");
- private static Guid evenGuid = new Guid("47AA8F17-FF6B-4a7d-B398-D83790977574");
- private string _street;
- private string _aptName;
- private int _flatNumber;
- private Guid _guid;
- public Address()
- { }
- public Address(int id)
- {
- _flatNumber = id;
- _aptName = id.ToString();
- _street = id.ToString() + "_street";
- if (id % 2 == 0)
- _guid = evenGuid;
- else
- _guid = oddGuid;
- }
- public override string ToString()
- {
- return _flatNumber + " " + _aptName + " " + _street + " " + _guid.ToString();
- }
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- Address other = obj as Address;
-
- if (other == null)
- return false;
-
- if (_street == other._street &&
- _aptName == other._aptName &&
- _flatNumber == other._flatNumber &&
- _guid.Equals(other._guid))
- return true;
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- public void ToData(IPdxWriter w)
- {
- w.WriteString("_street", _street);
- w.WriteString("_aptName", _aptName);
- w.WriteInt("_flatNumber", _flatNumber);
- w.WriteString("_guid", _guid.ToString());
- }
-
- public void FromData(IPdxReader r)
- {
- _street = r.ReadString("_street");
- _aptName = r.ReadString("_aptName");
- _flatNumber = r.ReadInt("_flatNumber");
- string s = r.ReadString("_guid");
- _guid = new Guid(s);
- }
- }
-
- public class SerializePdx3 : BaseClass
- {
- private string s0;
- [PdxIdentityField]
- private int i1;
- public int i2;
- public string s1;
- public string s2;
- private SerializePdx2 nestedObject;
- private ArrayList _addressList;
- private Address _address;
- private Hashtable _hashTable;
- //private int arrayCountS3= 10;
- private List<object> _addressListObj;
- //private Address[] _arrayOfAddress;
-
- public SerializePdx3()
- : base()
- {
-
- }
-
- public SerializePdx3(bool init, int nAddress)
- : base(init)
- {
- if (init)
- {
- s0 = "s9999999999999999999999999999999999";
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- nestedObject = new SerializePdx2(true);
-
- _addressList = new ArrayList();
- _hashTable = new Hashtable();
- _addressListObj = new List<object>();
-
- for (int i = 0; i < 10; i++)
- {
- _addressList.Add(new Address(i));
- _hashTable.Add(i, new SerializePdx2(true));
- _addressListObj.Add(new Address(i));
- }
-
- _address = new Address(nAddress);
-
- //_arrayOfAddress = new Address[3];
-
- //for (int i = 0; i < 3; i++)
- //{
- // _arrayOfAddress[i] = new Address(i);
- //}
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdx3 other = obj as SerializePdx3;
-
- if (other == null)
- return false;
-
- if (s0 == other.s0
- && i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- {
- bool ret = nestedObject.Equals(other.nestedObject);
- if (ret)
- {
- if (_addressList.Count == 10 &&
- _addressList.Count == other._addressList.Count//&&
- //_arrayOfAddress.Length == other._arrayOfAddress.Length &&
- //_arrayOfAddress[0].Equals(other._arrayOfAddress[0])
- )
- {
- for (int i = 0; i < _addressList.Count; i++)
- {
- ret = _addressList[i].Equals(other._addressList[i]);
- if (!ret)
- return false;
- }
-
- if (_hashTable.Count != other._hashTable.Count)
- return false;
- foreach (DictionaryEntry de in _hashTable)
- {
- object otherHe = other._hashTable[de.Key];
- ret = de.Value.Equals(otherHe);
- if (!ret)
- return false;
- }
-
- if (!_address.Equals(other._address))
- return false;
- return base.Equals(other);
- }
- }
- }
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
-
- public new void ToData(IPdxWriter w)
- {
- base.ToData(w);
- w.WriteString("s0", s0);
- w.WriteInt("i1", i1);
- w.WriteInt("i2", i2);
- w.WriteString("s1", s1);
- w.WriteString("s2", s2);
- w.WriteObject("nestedObject", nestedObject);
- w.WriteObject("_addressList", _addressList);
- w.WriteObject("_address", _address);
- w.WriteObject("_hashTable", _hashTable);
- }
-
- public new void FromData(IPdxReader r)
- {
- base.FromData(r);
- s0 = r.ReadString("s0");
- i1 = r.ReadInt("i1");
- i2 = r.ReadInt("i2");
- s1 = r.ReadString("s1");
- s2 = r.ReadString("s2");
- nestedObject = (SerializePdx2)r.ReadObject("nestedObject");
- _addressList = (ArrayList)r.ReadObject("_addressList");
- _address = (Address)r.ReadObject("_address");
- _hashTable = (Hashtable)r.ReadObject("_hashTable");
- }
- }
-
- public class SerializePdx4 : BaseClass
- {
- private string s0;
- [PdxIdentityField]
- private int i1;
- public int i2;
- public string s1;
- public string s2;
- private SerializePdx2 nestedObject;
- private ArrayList _addressList;
- private Address[] _addressArray;
- //private int arrayCount = 10;
- public SerializePdx4()
- : base()
- {
-
- }
- public override string ToString()
- {
- return i1 + ":" + i2 + ":" + s1 + ":" + s2 + nestedObject.ToString() + " add: " + _addressList[0].ToString();
- }
- public SerializePdx4(bool init)
- : base(init)
- {
- if (init)
- {
- s0 = "s9999999999999999999999999999999999";
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- nestedObject = new SerializePdx2(true);
-
- _addressList = new ArrayList();
- _addressArray = new Address[10];
-
- for (int i = 0; i < 10; i++)
- {
- _addressList.Add(new Address(i));
- _addressArray[i] = new Address(i);
- }
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdx4 other = obj as SerializePdx4;
-
- if (other == null)
- return false;
-
- if (s0 == other.s0
- && i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- {
- bool ret = nestedObject.Equals(other.nestedObject);
- if (ret)
- {
- if (_addressList.Count == other._addressList.Count &&
- _addressList[0].Equals(other._addressList[0]))
- {
- for (int i = 0; i < _addressList.Count; i++)
- {
- ret = _addressList[i].Equals(other._addressList[i]);
- if (!ret)
- return false;
- }
- for (int i = 0; i < _addressArray.Length; i++)
- {
- ret = _addressArray[i].Equals(other._addressArray[i]);
- if (!ret)
- return false;
- }
- return base.Equals(other);
- }
- }
- }
-
- return false;
- }
-
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class PdxFieldTest
- {
- string _notInclude = "default_value";
- int _nameChange;
- int _identityField;
-
- public PdxFieldTest()
- {
-
- }
-
- public string NotInclude
- {
- set { _notInclude = "default_value"; }
- }
-
- public PdxFieldTest(bool init)
- {
- if (init)
- {
- _notInclude = "valuechange";
- _nameChange = 11213;
- _identityField = 1038193;
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
-
- PdxFieldTest other = obj as PdxFieldTest;
-
- if (other == null)
- return false;
-
- if (_notInclude == other._notInclude
- && _nameChange == other._nameChange
- && _identityField == other._identityField)
- return true;
-
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class PdxSerializer : IPdxSerializer
- {
-
- #region IPdxSerializer Members
-
- public object FromData(String className, IPdxReader reader)
- {
- object o = Activator.CreateInstance(Type.GetType(className));
- SerializePdx1 obj = o as SerializePdx1;
-
- if (obj != null)
- {
- obj.i1 = reader.ReadInt("i1");
- obj.i2 = reader.ReadInt("i2");
- obj.s1 = reader.ReadString("s1");
- obj.s2 = reader.ReadString("s2");
- return o;
- }
- else
- {
- SerializePdx2 obj2 = o as SerializePdx2;
- if (obj2 != null)
- {
- obj2.s0 = reader.ReadString("s0");
- obj2.i1 = reader.ReadInt("i1");
- obj2.i2 = reader.ReadInt("i2");
- obj2.s1 = reader.ReadString("s1");
- obj2.s2 = reader.ReadString("s2");
- return o;
- }
- else
- {
- SerializePdx3 sp3 = o as SerializePdx3;
-
- if (sp3 != null)
- {
- sp3.FromData(reader);
- return o;
- }
- else
- {
- Address ad = o as Address;
- if (ad != null)
- {
- ad.FromData(reader);
- return o;
- }
- }
- return null;
- }
- }
- }
-
- public bool ToData(object o, IPdxWriter writer)
- {
- SerializePdx1 obj = o as SerializePdx1;
-
- if (obj != null)
- {
- writer.WriteInt("i1", obj.i1);
- writer.WriteInt("i2", obj.i2);
- writer.WriteString("s1", obj.s1);
- writer.WriteString("s2", obj.s2);
- return true;
- }
- else
- {
- SerializePdx2 obj2 = o as SerializePdx2;
- if (obj2 != null)
- {
- writer.WriteString("s0", obj2.s0);
- writer.WriteInt("i1", obj2.i1);
- writer.WriteInt("i2", obj2.i2);
- writer.WriteString("s1", obj2.s1);
- writer.WriteString("s2", obj2.s2);
- return true;
- }
- else
- {
- SerializePdx3 sp3 = o as SerializePdx3;
-
- if (sp3 != null)
- {
- sp3.ToData(writer);
- return true;
- }
- else
- {
- Address ad = o as Address;
- if (ad != null)
- {
- ad.ToData(writer);
- return true;
- }
- }
- }
- return false;
- }
- }
-
- #endregion
- }
-
- public class SerializePdxNoRegister :IPdxSerializable
- {
- public int i1;
- public int i2;
- public string s1;
- public string s2;
-
- /*public static SerializePdx1 CreateDeserializable()
- {
- return new SerializePdx1(false);
- }*/
-
- public SerializePdxNoRegister()
- {
- }
- public SerializePdxNoRegister(bool init)
- {
- if (init)
- {
- i1 = 1;
- i2 = 2;
- s1 = "s1";
- s2 = "s2";
- }
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- if (obj == this)
- return true;
-
- SerializePdxNoRegister other = obj as SerializePdxNoRegister;
-
- if (other == null)
- return false;
-
- if (i1 == other.i1
- && i2 == other.i2
- && s1 == other.s1
- && s2 == other.s2)
- return true;
-
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
-
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- i1 = reader.ReadInt("i1");
- i2 = reader.ReadInt("i2");
- s1 = reader.ReadString("s1");
- s2 = reader.ReadString("s2");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("i1" , i1);
- writer.WriteInt("i2", i2);
- writer.WriteString("s1" ,s1);
- writer.WriteString("s2", s2);
- }
-
- #endregion
-
-
- }
- #endregion
-
- #region Extension of ReflectionBasedAutoSerializer
-
- public class AutoSerializerEx : ReflectionBasedAutoSerializer
- {
- public override bool IsIdentityField(FieldInfo fi, Type type)
- {
- if (fi.Name == "_identityField")
- return true;
- return base.IsIdentityField(fi, type);
- }
- public override string GetFieldName(FieldInfo fi, Type type)
- {
- if (fi.Name == "_nameChange")
- return fi.Name + "NewName";
-
- return fi.Name ;
- }
-
- public override bool IsFieldIncluded(FieldInfo fi, Type type)
- {
- if (fi.Name == "_notInclude")
- return false;
- return base.IsFieldIncluded(fi, type);
- }
-
- public override FieldType GetFieldType(FieldInfo fi, Type type)
- {
- if (fi.FieldType.Equals(Type.GetType("System.Guid")))
- return FieldType.STRING;
- return base.GetFieldType(fi, type);
- }
-
- public override object WriteTransform(FieldInfo fi, Type type, object originalValue)
- {
- if (fi.FieldType.Equals(Type.GetType("System.Guid")))
- {
- //writer.WriteField(fi.Name, fi.GetValue(o).ToString(), Type.GetType("System.String"));
- return originalValue.ToString();
- }
- else
- return base.WriteTransform(fi, type, originalValue);
- }
- public override object ReadTransform(FieldInfo fi, Type type, object serializeValue)
- {
- if (fi.FieldType.Equals(Type.GetType("System.Guid")))
- {
- Guid g = new Guid((string)serializeValue);
-
- //fi.SetValue(o, g);
- return g;
- }
- else
- return base.ReadTransform(fi, type, serializeValue);
- }
-
- /*public override void SerializeField(object o, FieldInfo fi, IPdxWriter writer)
- {
- if (fi.FieldType.Equals(Type.GetType("System.Guid")))
- {
- writer.WriteField(fi.Name, fi.GetValue(o).ToString(), Type.GetType("System.String"));
- }
- else
- base.SerializeField(o, fi, writer);
- }*/
-
- /* public override object DeserializeField(object o, FieldInfo fi, IPdxReader reader)
- {
- if (fi.FieldType.Equals(Type.GetType("System.Guid")))
- {
- string gStr = (string)reader.ReadField(fi.Name, Type.GetType("System.String"));
- Guid g = new Guid(gStr);
-
- //fi.SetValue(o, g);
- return g;
- }
- else
- return base.DeserializeField(o, fi, reader);
- }*/
- }
-
- #endregion
-
- #region Classes for per test and Dataoutput.Advance method
- class MyClasses : IPdxSerializable
- {
- [PdxIdentityField]
- public string Key;
- public List<Object> Children;
-
- public MyClasses()
- {
- }
-
- public MyClasses(string key, int nClasses)
- {
- Key = key;
- Children = new List<object>(nClasses);
- for (int i = 0; i < nClasses; i++)
- {
- MyClass my = new MyClass(i);
- Children.Add(my);
- }
- }
-
- public static IPdxSerializable Create()
- {
- return new MyClasses();
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
-
- MyClasses other = obj as MyClasses;
- if (other == null)
- return false;
-
- if (Children.Count == other.Children.Count)
- return true;
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- Key = reader.ReadString("Key");
- Children = (List<Object>)(reader.ReadObject("Children"));
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteString("Key", Key);
- writer.WriteObject("Children", Children);
- }
-
- #endregion
- }
-
- class MyClass : IPdxSerializable
- {
- [PdxIdentityField]
- public string Key;
- public int SecKey;
- public double ShareQuantity;
- public double Cost;
- public double Price;
- public int SettleSecKey;
- public double SettleFxRate;
- public double ValueBasis;
- public double OpenDate;
- public double Strategy;
-
- public MyClass() { }
-
- public MyClass(int key)
- {
- Key = key.ToString();
- SecKey = key;
- ShareQuantity = key * 9278;
- Cost = ShareQuantity * 100;
- Price = Cost * 10;
- SettleSecKey = SecKey + 100000;
- SettleFxRate = Price * 1.5;
- ValueBasis = 1.5;
- OpenDate = 100000;
- Strategy = 3.6;
- }
-
- public static IPdxSerializable Create()
- {
- return new MyClass();
- }
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- Key = reader.ReadString("Key");
- SecKey = reader.ReadInt("SecKey");
- ShareQuantity = reader.ReadDouble("ShareQuantity");
- Cost = reader.ReadDouble("Cost");
- Price = reader.ReadDouble("Price");
- SettleSecKey = reader.ReadInt("SettleSecKey");
- SettleFxRate = reader.ReadDouble("SettleFxRate");
- ValueBasis = reader.ReadDouble("ValueBasis");
- OpenDate = reader.ReadDouble("OpenDate");
- Strategy = reader.ReadDouble("Strategy");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteString("Key", Key);
- writer.WriteInt("SecKey", SecKey);
- writer.WriteDouble("ShareQuantity", ShareQuantity);
- writer.WriteDouble("Cost", Cost);
- writer.WriteDouble("Price", Price);
- writer.WriteInt("SettleSecKey", SettleSecKey);
- writer.WriteDouble("SettleFxRate", SettleFxRate);
- writer.WriteDouble("ValueBasis", ValueBasis);
- writer.WriteDouble("OpenDate", OpenDate);
- writer.WriteDouble("Strategy", Strategy);
- }
-
- #endregion
- }
- #endregion
-
- #region PdxTypeMapper
-
- public class PdxTypeMapper : IPdxTypeMapper
- {
- public string ToPdxTypeName(string localTypeName)
- {
- return "my" + localTypeName;
- }
-
- public string FromPdxTypeName(string pdxTypeName)
- {
- return pdxTypeName.Substring(2);//need to extract "my"
- }
- }
- #endregion
-
- #region Pdx nested class
- public enum Gender { male, female, other};
- public class ChildPdx : IPdxSerializable
- {
- public int _childId;
- public Gender _gender;
- public string _childName;
-
- public ChildPdx() { }
- public ChildPdx(int id)
- {
- _childId = id;
- _childName = "name" + id.ToString();
- if (id % 2 == 0)
- _gender = Gender.female;
- else
- _gender = Gender.male;
- }
- public override string ToString()
- {
- return _childId + ":" + _childName + ":" + _gender;
- }
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- ChildPdx other = obj as ChildPdx;
- if (other == null)
- return false;
- if (_childName == other._childName
- && _gender == other._gender
- && _childId == other._childId)
- return true;
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- _childId = reader.ReadInt("_childId");
- _gender = (Gender)reader.ReadObject("_gender");
- _childName = reader.ReadString("_childName");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("_childId", _childId);
- writer.MarkIdentityField("_childId");
- writer.WriteObject("_gender", _gender);
- writer.WriteString("_childName", _childName);
- }
-
- #endregion
- }
-
- public class ParentPdx : IPdxSerializable
- {
- public int _parentId;
- public Gender _gender;
- public string _parentName;
- public ChildPdx _childPdx;
-
- public ParentPdx() { }
- public ParentPdx(int id)
- {
- _parentId = id;
- _parentName = "name" + id.ToString();
- if (id % 2 == 0)
- _gender = Gender.female;
- else
- _gender = Gender.male;
- _childPdx = new ChildPdx(id * 1393);
- }
- public override string ToString()
- {
- return _parentId + ":" + _gender + ":" + _parentName+ ":" + _childPdx;
- }
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- ParentPdx other = obj as ParentPdx;
- if (other == null)
- return false;
- if (_parentId == other._parentId
- && _gender == other._gender
- && _parentName == other._parentName
- && _childPdx.Equals(other._childPdx))
- return true;
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- _parentId = reader.ReadInt("_parentId");
- _gender = (Gender)reader.ReadObject("_gender");
- _parentName = reader.ReadString("_parentName");
- _childPdx = (ChildPdx)reader.ReadObject("_childPdx");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("_parentId", _parentId);
- writer.MarkIdentityField("_parentId");
- writer.WriteObject("_gender", _gender);
- writer.WriteString("_parentName", _parentName);
- writer.WriteObject("_childPdx", _childPdx);
- writer.MarkIdentityField("_childPdx");
- }
-
- #endregion
- }
-
- public class ChildPdxAS
- {
- [PdxIdentityField]
- private int _childId;
- private Gender _gender;
- private string _childName;
- public ChildPdxAS() { }
- public ChildPdxAS(int id)
- {
- _childId = id;
- _childName = "name" + id.ToString();
- if (id % 2 == 0)
- _gender = Gender.female;
- else
- _gender = Gender.male;
- }
-
- public override string ToString()
- {
- return _childId + ":" + _childName + ":" + _gender;
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- ChildPdxAS other = obj as ChildPdxAS;
- if (other == null)
- return false;
- if (_childName == other._childName
- && _gender == other._gender
- && _childId == other._childId)
- return true;
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class ParentPdxAS
- {
- [PdxIdentityField]
- private int _parentId;
- private string _parentName;
- private Gender _gender;
- [PdxIdentityField]
- private ChildPdxAS _childPdx;
- public ParentPdxAS() { }
- public ParentPdxAS(int id)
- {
- _parentId = id;
- _parentName = "name" + id.ToString();
- if (id % 2 == 0)
- _gender = Gender.female;
- else
- _gender = Gender.male;
- _childPdx = new ChildPdxAS(id * 1393);
- }
-
- public override string ToString()
- {
- return _parentId + ":" + _gender + ":" + _parentName + ":" + _childPdx;
- }
-
- public override bool Equals(object obj)
- {
- if (obj == null)
- return false;
- ParentPdxAS other = obj as ParentPdxAS;
- if (other == null)
- return false;
- if (_parentId == other._parentId
- && _gender == other._gender
- && _parentName == other._parentName
- && _childPdx.Equals(other._childPdx))
- return true;
- return false;
- }
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
- }
-
- public class Heaptest : IPdxSerializable
- {
- int _id;
- byte[] _data;
-
- public Heaptest() { }
-
- public Heaptest(int id)
- {
- _id = id;
- _data = new byte[id];
- }
-
-
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- _id = reader.ReadInt("_id");
- _data = reader.ReadByteArray("_data");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("_id", _id);
- writer.WriteByteArray("_data", _data);
- }
-
- #endregion
- }
-
- public enum enumQuerytest { id1, id2, id3};
-
- public class PdxEnumTestClass :IPdxSerializable
- {
- int _id;
- enumQuerytest _enumid;
- public int ID
- {
- get { return _id; }
- }
- public PdxEnumTestClass(int id)
- {
- _id = id;
- switch (id)
- {
- case 0:
- _enumid = enumQuerytest.id1;
- break;
- case 1:
- _enumid = enumQuerytest.id2;
- break;
- case 2:
- _enumid = enumQuerytest.id3;
- break;
- default:
- _enumid = enumQuerytest.id1;
- break;
- }
- }
-
- public PdxEnumTestClass() { }
-
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- _id = reader.ReadInt("_id");
- _enumid = (enumQuerytest)reader.ReadObject("_enumid");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("_id", _id);
- writer.WriteObject("_enumid", _enumid);
- }
-
- #endregion
- }
-
- #endregion
-
-}
-
-namespace javaobject
-{
- using Apache.Geode.Client;
- #region Pdx Delta class
- public class PdxDelta : IPdxSerializable, IGeodeDelta, ICloneable
- {
- public static int GotDelta = 0;
- int _delta = 0;
- int _id;
-
- public PdxDelta() { }
- public PdxDelta(int id)
- {
- _id = id;
- }
-
- #region IPdxSerializable Members
-
- public void FromData(IPdxReader reader)
- {
- _id = reader.ReadInt("_id");
- _delta = reader.ReadInt("_delta");
- }
-
- public void ToData(IPdxWriter writer)
- {
- writer.WriteInt("_id", _id);
- writer.WriteInt("_delta", _delta);
- }
-
- #endregion
- public int Delta
- {
- get { return _delta; }
- }
- #region IGeodeDelta Members
-
- public void FromDelta(DataInput input)
- {
- Console.WriteLine(" in fromdelta " + GotDelta);
- _delta = input.ReadInt32();
- GotDelta++;
- }
-
- public bool HasDelta()
- {
- Console.WriteLine(" in hasdelta " + _delta);
- if (_delta > 0)
- {
- _delta++;
- return true;
- }
- else
- {
- _delta++;
- return false;
- }
- }
-
- public void ToDelta(DataOutput output)
- {
- Console.WriteLine(" in todelta " + GotDelta);
- output.WriteInt32(_delta);
- GotDelta++;
- }
-
- #endregion
-
- #region ICloneable Members
-
- public object Clone()
- {
- PdxDelta pd = new PdxDelta();
- pd._id = _id;
- pd._delta = _delta;
- return pd;
- }
-
- #endregion
- }
- #endregion
-}
diff --git a/clicache/integration-test/ThinClientPdxTests1.cs b/clicache/integration-test/ThinClientPdxTests1.cs
new file mode 100755
index 0000000..cbbbabb
--- /dev/null
+++ b/clicache/integration-test/ThinClientPdxTests1.cs
@@ -0,0 +1,2326 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Collections;
+using PdxTests;
+using System.Reflection;
+
+namespace Apache.Geode.Client.UnitTests
+{
+ using NUnit.Framework;
+ using DUnitFramework;
+ using Client;
+ using Region = IRegion<object, object>;
+
+ [TestFixture]
+ [Category("group4")]
+ [Category("unicast_only")]
+ [Category("generics")]
+ internal class ThinClientPdxTests1 : ThinClientRegionSteps
+ {
+ #region Private members
+
+ private UnitProcess m_client1, m_client2;
+
+ #endregion
+
+ protected override ClientBase[] GetClients()
+ {
+ m_client1 = new UnitProcess();
+ m_client2 = new UnitProcess();
+ return new ClientBase[] {m_client1, m_client2};
+ }
+
+ [TestFixtureTearDown]
+ public override void EndTests()
+ {
+ CacheHelper.StopJavaServers();
+ base.EndTests();
+ }
+
+ [TearDown]
+ public override void EndTest()
+ {
+ try
+ {
+ m_client1.Call(DestroyRegions);
+ m_client2.Call(DestroyRegions);
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+ finally
+ {
+ CacheHelper.StopJavaServers();
+ CacheHelper.StopJavaLocators();
+ }
+
+ base.EndTest();
+ }
+
+ private void cleanup()
+ {
+ {
+ CacheHelper.SetExtraPropertiesFile(null);
+ if (m_clients != null)
+ {
+ foreach (var client in m_clients)
+ {
+ try
+ {
+ client.Call(CacheHelper.Close);
+ }
+ catch (System.Runtime.Remoting.RemotingException)
+ {
+ }
+ catch (System.Net.Sockets.SocketException)
+ {
+ }
+ }
+ }
+
+ CacheHelper.Close();
+ }
+ }
+
+ private void PutAndVerifyPdxInGet()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ region0[1] = new PdxType();
+
+ var pRet = (PdxType) region0[1];
+ checkPdxInstanceToStringAtServer(region0);
+
+ Assert.AreEqual(CacheHelper.DCache.GetPdxReadSerialized(), false,
+ "Pdx read serialized property should be false.");
+ }
+
+ private void VerifyGetOnly()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var pRet = (PdxType) region0[1];
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ private void PutAndVerifyVariousPdxTypes()
+ {
+ var typeRegistry = CacheHelper.DCache.TypeRegistry;
+ typeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes9.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PortfolioPdx.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PositionPdx.CreateDeserializable);
+ typeRegistry.RegisterPdxType(AllPdxTypes.Create);
+
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ {
+ var p1 = new PdxTypes1();
+ region0[11] = p1;
+ var pRet = (PdxTypes1) region0[11];
+ Assert.AreEqual(p1, pRet);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p2 = new PdxTypes2();
+ region0[12] = p2;
+ var pRet2 = (PdxTypes2) region0[12];
+ Assert.AreEqual(p2, pRet2);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p3 = new PdxTypes3();
+ region0[13] = p3;
+ var pRet3 = (PdxTypes3) region0[13];
+ Assert.AreEqual(p3, pRet3);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p4 = new PdxTypes4();
+ region0[14] = p4;
+ var pRet4 = (PdxTypes4) region0[14];
+ Assert.AreEqual(p4, pRet4);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p5 = new PdxTypes5();
+ region0[15] = p5;
+ var pRet5 = (PdxTypes5) region0[15];
+ Assert.AreEqual(p5, pRet5);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p6 = new PdxTypes6();
+ region0[16] = p6;
+ var pRet6 = (PdxTypes6) region0[16];
+ Assert.AreEqual(p6, pRet6);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p7 = new PdxTypes7();
+ region0[17] = p7;
+ var pRet7 = (PdxTypes7) region0[17];
+ Assert.AreEqual(p7, pRet7);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p8 = new PdxTypes8();
+ region0[18] = p8;
+ var pRet8 = (PdxTypes8) region0[18];
+ Assert.AreEqual(p8, pRet8);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var p9 = new PdxTypes9();
+ region0[19] = p9;
+ var pRet9 = (PdxTypes9) region0[19];
+ Assert.AreEqual(p9, pRet9);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var pf = new PortfolioPdx(1001, 10);
+ region0[20] = pf;
+ var retpf = (PortfolioPdx) region0[20];
+ checkPdxInstanceToStringAtServer(region0);
+ //Assert.AreEqual(p9, pRet9);
+ }
+
+ {
+ var pf = new PortfolioPdx(1001, 10, new string[] {"one", "two", "three"});
+ region0[21] = pf;
+ var retpf = (PortfolioPdx) region0[21];
+ checkPdxInstanceToStringAtServer(region0);
+ //Assert.AreEqual(p9, pRet9);
+ }
+ {
+ var p10 = new PdxTypes10();
+ region0[22] = p10;
+ var pRet10 = (PdxTypes10) region0[22];
+ Assert.AreEqual(p10, pRet10);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var apt = new AllPdxTypes(true);
+ region0[23] = apt;
+ var aptRet = (AllPdxTypes) region0[23];
+ Assert.AreEqual(apt, aptRet);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ }
+
+ private void VerifyVariousPdxGets()
+ {
+ var typeRegistry = CacheHelper.DCache.TypeRegistry;
+ typeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PdxTypes9.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PortfolioPdx.CreateDeserializable);
+ typeRegistry.RegisterPdxType(PositionPdx.CreateDeserializable);
+ typeRegistry.RegisterPdxType(AllPdxTypes.Create);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ {
+ var p1 = new PdxTypes1();
+ var pRet = (PdxTypes1) region0[11];
+ Assert.AreEqual(p1, pRet);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p2 = new PdxTypes2();
+ var pRet2 = (PdxTypes2) region0[12];
+ Assert.AreEqual(p2, pRet2);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p3 = new PdxTypes3();
+ var pRet3 = (PdxTypes3) region0[13];
+ Assert.AreEqual(p3, pRet3);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p4 = new PdxTypes4();
+ var pRet4 = (PdxTypes4) region0[14];
+ Assert.AreEqual(p4, pRet4);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p5 = new PdxTypes5();
+ var pRet5 = (PdxTypes5) region0[15];
+ Assert.AreEqual(p5, pRet5);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p6 = new PdxTypes6();
+ var pRet6 = (PdxTypes6) region0[16];
+ Assert.AreEqual(p6, pRet6);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p7 = new PdxTypes7();
+ var pRet7 = (PdxTypes7) region0[17];
+ Assert.AreEqual(p7, pRet7);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+
+ {
+ var p8 = new PdxTypes8();
+ var pRet8 = (PdxTypes8) region0[18];
+ Assert.AreEqual(p8, pRet8);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var p9 = new PdxTypes9();
+ var pRet9 = (PdxTypes9) region0[19];
+ Assert.AreEqual(p9, pRet9);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var retpf = (PortfolioPdx) region0[20];
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var retpf = (PortfolioPdx) region0[21];
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var p10 = new PdxTypes10();
+ var pRet10 = (PdxTypes10) region0[22];
+ Assert.AreEqual(p10, pRet10);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ {
+ var apt = new AllPdxTypes(true);
+ var aptRet = (AllPdxTypes) region0[23];
+ Assert.AreEqual(apt, aptRet);
+ checkPdxInstanceToStringAtServer(region0);
+ }
+ }
+
+ private void checkPdxInstanceToStringAtServer(Region region)
+ {
+ var retVal = (bool) region["success"];
+ Assert.IsTrue(retVal);
+ }
+
+ private void runPdxDistOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserverPdx.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+ m_client1.Call(PutAndVerifyPdxInGet);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(VerifyGetOnly);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(PutAndVerifyVariousPdxTypes);
+ Util.Log("StepFive complete.");
+
+ m_client2.Call(VerifyVariousPdxGets);
+ Util.Log("StepSeven complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void VerifyDataOutputAdvance()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(MyClass.Create);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(MyClasses.Create);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var mcs = new MyClasses("1", 1000);
+
+ region0[1] = mcs;
+
+ var ret = region0[1];
+
+ Assert.AreEqual(mcs, ret);
+ }
+
+ private void runPdxDistOps2()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserverPdxSerializer.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+
+ m_client1.Call(VerifyDataOutputAdvance);
+ Util.Log("StepThree complete.");
+
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void PutAndVerifyNestedPdxInGet()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var np = new NestedPdx();
+ region0[1] = np;
+
+ var pRet = (NestedPdx) region0[1];
+
+ Assert.AreEqual(np, pRet);
+ }
+
+ private void VerifyNestedGetOnly()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var orig = new NestedPdx();
+ var pRet = (NestedPdx) region0[1];
+
+ Assert.AreEqual(orig, pRet);
+ }
+
+ private void runNestedPdxOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+
+ m_client1.Call(PutAndVerifyNestedPdxInGet);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(VerifyNestedGetOnly);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void PutAndVerifyPdxInIGFSInGet()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var np = new PdxInsideIGeodeSerializable();
+ region0[1] = np;
+
+ var pRet = (PdxInsideIGeodeSerializable) region0[1];
+
+ Assert.AreEqual(np, pRet);
+ }
+
+ private void VerifyPdxInIGFSGetOnly()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var orig = new PdxInsideIGeodeSerializable();
+ var pRet = (PdxInsideIGeodeSerializable) region0[1];
+
+ Assert.AreEqual(orig, pRet);
+ }
+
+ private void runPdxInIGFSOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+ m_client1.Call(PutAndVerifyPdxInIGFSInGet);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(VerifyPdxInIGFSGetOnly);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void JavaPutGet_LinedListType()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ //Do some put to invike attached listener,
+ region0[1] = 123;
+
+ //Get
+ var value = (int) region0[1];
+ //Util.Log("JavaPutGet_LinedListType value received = " + value);
+
+ //verify that listener methods have been called.
+ Assert.IsTrue((bool) region0["success"]);
+
+ //LinkedList validation
+ var myList1 = new LinkedList<object>();
+ myList1.AddFirst("Manan");
+ myList1.AddLast("Nishka");
+
+ //get the JSON document (as PdxInstance) that has been put from java in attached cacheListener code.
+ var ret = (IPdxInstance) region0["jsondoc1"];
+ var linkedList = (LinkedList<object>) ret.GetField("kids");
+
+ //verify sizes
+ Assert.AreEqual((linkedList.Count == myList1.Count), true, " LinkedList size should be equal.");
+
+ var e1 = linkedList.GetEnumerator();
+ var e2 = myList1.GetEnumerator();
+
+ //verify content of LinkedList
+ while (e1.MoveNext() && e2.MoveNext())
+ {
+ //Util.Log("JavaPutGet_LinedListType Kids = " + e1.Current);
+ PdxType.GenericValCompare(e1.Current, e2.Current);
+ }
+
+ Util.Log("successfully completed JavaPutGet_LinedListType");
+ }
+
+ private void JavaPutGet()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var np = new PdxType();
+ region0[1] = np;
+
+ var pRet = (PdxType) region0[1];
+
+ //Assert.AreEqual(np, pRet);
+
+ Assert.IsTrue((bool) region0["success"]);
+ }
+
+ private void JavaGet()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxType.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var np = new PdxType();
+
+ var pRet = (PdxType) region0[1];
+
+ var putFromjava = (PdxType) region0["putFromjava"];
+ }
+
+ private void runJavaInterOpsWithLinkedListType()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserverForPdx.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool_PDXWithLL, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("Clinet-1 CreateTCRegions_Pool_PDXWithLL (pool with locator) completed.");
+
+ m_client1.Call(JavaPutGet_LinedListType);
+ Util.Log("JavaPutGet_LinedListType complete.");
+
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void runJavaInteroperableOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserverForPdx.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+
+ m_client1.Call(JavaPutGet);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(JavaGet);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void putallAndGetallPdx()
+ {
+ try
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterTypeGeneric(PdxInsideIGeodeSerializable.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(NestedPdx.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes2.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes3.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes4.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes5.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes6.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes7.CreateDeserializable);
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes8.CreateDeserializable);
+ }
+ catch (Exception)
+ {
+ }
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ IDictionary<object, object> all = new Dictionary<object, object>();
+
+ var p1 = new PdxTypes1();
+ var p2 = new PdxTypes2();
+ var p3 = new PdxTypes3();
+ var p4 = new PdxTypes4();
+ var p5 = new PdxTypes5();
+ var p6 = new PdxTypes6();
+ var p7 = new PdxTypes7();
+ var p8 = new PdxTypes8();
+
+ all.Add(21, p1);
+ all.Add(22, p2);
+ all.Add(23, p3);
+ all.Add(24, p4);
+ all.Add(25, p5);
+ all.Add(26, p6);
+ all.Add(27, p7);
+ all.Add(28, p8);
+ region0.PutAll(all);
+
+
+ ICollection<object> keys = new List<object>();
+ IDictionary<object, object> getall = new Dictionary<object, object>();
+
+ keys.Add(21);
+ keys.Add(22);
+ keys.Add(23);
+ keys.Add(24);
+ keys.Add(25);
+ keys.Add(26);
+ keys.Add(27);
+ keys.Add(28);
+ //keys.Add(p1);
+ //keys.Add(p2);
+ region0.GetAll(keys, getall, null);
+ foreach (var kv in all)
+ {
+ var key = kv.Key;
+ Util.Log("putall keys " + key.GetType() + " : " + key);
+ }
+
+ //IEnumerator<KeyValuePair<object, object>> ie = getall.GetEnumerator();
+ foreach (var kv in getall)
+ {
+ var key = kv.Key;
+ if (key != null)
+ Util.Log("got key " + key.GetType() + " : " + key);
+ else
+ Util.Log("got NULL key ");
+ var origVal = all[key];
+ Assert.AreEqual(kv.Value, origVal);
+ }
+ }
+
+ private void runPutAllGetAllOps()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+ m_client1.Call(putallAndGetallPdx);
+ Util.Log("StepThree complete.");
+
+ m_client2.Call(putallAndGetallPdx);
+ Util.Log("StepFour complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ #region Tests
+
+ [Test]
+ public void DistOps()
+ {
+ runPdxDistOps();
+ }
+
+ [Test]
+ public void DistOps2()
+ {
+ runPdxDistOps2();
+ }
+
+ [Test]
+ public void NestedPdxOps()
+ {
+ runNestedPdxOps();
+ }
+
+ [Test]
+ public void PdxInIGFSOps()
+ {
+ runPdxInIGFSOps();
+ }
+
+ [Test]
+ public void JavaInteroperableOps()
+ {
+ runJavaInteroperableOps();
+ }
+
+ [Test]
+ public void JavaInterOpsWithLinkedListType()
+ {
+ runJavaInterOpsWithLinkedListType();
+ }
+
+ [Test]
+ public void PutAllGetAllOps()
+ {
+ runPutAllGetAllOps();
+ }
+
+ #endregion
+ }
+
+ #region IpDxSerializer stuff
+
+ public class SerializePdx : IPdxSerializable
+ {
+ [PdxIdentityField] public int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+
+ /*public static SerializePdx1 CreateDeserializable()
+ {
+ return new SerializePdx1(false);
+ }*/
+
+ //public SerializePdx()
+ //{
+ //}
+
+ public static SerializePdx Create()
+ {
+ return new SerializePdx(false);
+ }
+
+ public SerializePdx(bool init)
+ {
+ if (init)
+ {
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdx;
+
+ if (obj == null)
+ return false;
+
+ if (i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ return true;
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ i1 = reader.ReadInt("i1");
+ i2 = reader.ReadInt("i2");
+ s1 = reader.ReadString("s1");
+ s2 = reader.ReadString("s2");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("i1", i1);
+ writer.MarkIdentityField("i1");
+ writer.WriteInt("i2", i2);
+ writer.WriteString("s1", s1);
+ writer.MarkIdentityField("s1");
+ writer.WriteString("s2", s2);
+ }
+
+ #endregion
+ }
+
+ public class SerializePdx1
+ {
+ [PdxIdentityField] public int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+
+ /*public static SerializePdx1 CreateDeserializable()
+ {
+ return new SerializePdx1(false);
+ }*/
+
+ public SerializePdx1()
+ {
+ }
+
+ public SerializePdx1(bool init)
+ {
+ if (init)
+ {
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdx1;
+
+ if (other == null)
+ return false;
+
+ if (i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ return true;
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ public class SerializePdx2
+ {
+ public string s0;
+ [PdxIdentityField] public int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+
+ public SerializePdx2()
+ {
+ }
+
+ public override string ToString()
+ {
+ return i1 + i2 + s1 + s2;
+ }
+
+ public SerializePdx2(bool init)
+ {
+ if (init)
+ {
+ s0 = "s9999999999999999999999999999999999";
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdx2;
+
+ if (other == null)
+ return false;
+
+ if (s0 == other.s0
+ && i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ return true;
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ public class BaseClass
+ {
+ //private readonly int _b1 = 1000;
+ [NonSerialized]
+ //private int _nonserialized = 1001;
+ //private static int _static = 1002;
+ private const int _const = 1003;
+
+ private int _baseclassmember;
+
+ public BaseClass()
+ {
+ }
+
+ public BaseClass(bool init)
+ {
+ if (init)
+ {
+ _baseclassmember = 101;
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ var bc = obj as BaseClass;
+ if (bc == null)
+ return false;
+
+ if (bc == this)
+ return true;
+
+ if (bc._baseclassmember == _baseclassmember)
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ public void ToData(IPdxWriter w)
+ {
+ w.WriteInt("_baseclassmember", _baseclassmember);
+ }
+
+ public void FromData(IPdxReader r)
+ {
+ _baseclassmember = r.ReadInt("_baseclassmember");
+ }
+ }
+
+ public class Address
+ {
+ private static Guid oddGuid = new Guid("924243B5-9C2A-41d7-86B1-E0B905C7EED3");
+ private static Guid evenGuid = new Guid("47AA8F17-FF6B-4a7d-B398-D83790977574");
+ private string _street;
+ private string _aptName;
+ private int _flatNumber;
+ private Guid _guid;
+
+ public Address()
+ {
+ }
+
+ public Address(int id)
+ {
+ _flatNumber = id;
+ _aptName = id.ToString();
+ _street = id.ToString() + "_street";
+ if (id % 2 == 0)
+ _guid = evenGuid;
+ else
+ _guid = oddGuid;
+ }
+
+ public override string ToString()
+ {
+ return _flatNumber + " " + _aptName + " " + _street + " " + _guid.ToString();
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ var other = obj as Address;
+
+ if (other == null)
+ return false;
+
+ if (_street == other._street &&
+ _aptName == other._aptName &&
+ _flatNumber == other._flatNumber &&
+ _guid.Equals(other._guid))
+ return true;
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ public void ToData(IPdxWriter w)
+ {
+ w.WriteString("_street", _street);
+ w.WriteString("_aptName", _aptName);
+ w.WriteInt("_flatNumber", _flatNumber);
+ w.WriteString("_guid", _guid.ToString());
+ }
+
+ public void FromData(IPdxReader r)
+ {
+ _street = r.ReadString("_street");
+ _aptName = r.ReadString("_aptName");
+ _flatNumber = r.ReadInt("_flatNumber");
+ var s = r.ReadString("_guid");
+ _guid = new Guid(s);
+ }
+ }
+
+ public class SerializePdx3 : BaseClass
+ {
+ private string s0;
+ [PdxIdentityField] private int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+ private SerializePdx2 nestedObject;
+ private ArrayList _addressList;
+ private Address _address;
+
+ private Hashtable _hashTable;
+
+ //private int arrayCountS3= 10;
+ private List<object> _addressListObj;
+ //private Address[] _arrayOfAddress;
+
+ public SerializePdx3()
+ : base()
+ {
+ }
+
+ public SerializePdx3(bool init, int nAddress)
+ : base(init)
+ {
+ if (init)
+ {
+ s0 = "s9999999999999999999999999999999999";
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ nestedObject = new SerializePdx2(true);
+
+ _addressList = new ArrayList();
+ _hashTable = new Hashtable();
+ _addressListObj = new List<object>();
+
+ for (var i = 0; i < 10; i++)
+ {
+ _addressList.Add(new Address(i));
+ _hashTable.Add(i, new SerializePdx2(true));
+ _addressListObj.Add(new Address(i));
+ }
+
+ _address = new Address(nAddress);
+
+ //_arrayOfAddress = new Address[3];
+
+ //for (int i = 0; i < 3; i++)
+ //{
+ // _arrayOfAddress[i] = new Address(i);
+ //}
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdx3;
+
+ if (other == null)
+ return false;
+
+ if (s0 == other.s0
+ && i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ {
+ var ret = nestedObject.Equals(other.nestedObject);
+ if (ret)
+ {
+ if (_addressList.Count == 10 &&
+ _addressList.Count == other._addressList.Count //&&
+ //_arrayOfAddress.Length == other._arrayOfAddress.Length &&
+ //_arrayOfAddress[0].Equals(other._arrayOfAddress[0])
+ )
+ {
+ for (var i = 0; i < _addressList.Count; i++)
+ {
+ ret = _addressList[i].Equals(other._addressList[i]);
+ if (!ret)
+ return false;
+ }
+
+ if (_hashTable.Count != other._hashTable.Count)
+ return false;
+ foreach (DictionaryEntry de in _hashTable)
+ {
+ var otherHe = other._hashTable[de.Key];
+ ret = de.Value.Equals(otherHe);
+ if (!ret)
+ return false;
+ }
+
+ if (!_address.Equals(other._address))
+ return false;
+ return base.Equals(other);
+ }
+ }
+ }
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ public new void ToData(IPdxWriter w)
+ {
+ base.ToData(w);
+ w.WriteString("s0", s0);
+ w.WriteInt("i1", i1);
+ w.WriteInt("i2", i2);
+ w.WriteString("s1", s1);
+ w.WriteString("s2", s2);
+ w.WriteObject("nestedObject", nestedObject);
+ w.WriteObject("_addressList", _addressList);
+ w.WriteObject("_address", _address);
+ w.WriteObject("_hashTable", _hashTable);
+ }
+
+ public new void FromData(IPdxReader r)
+ {
+ base.FromData(r);
+ s0 = r.ReadString("s0");
+ i1 = r.ReadInt("i1");
+ i2 = r.ReadInt("i2");
+ s1 = r.ReadString("s1");
+ s2 = r.ReadString("s2");
+ nestedObject = (SerializePdx2) r.ReadObject("nestedObject");
+ _addressList = (ArrayList) r.ReadObject("_addressList");
+ _address = (Address) r.ReadObject("_address");
+ _hashTable = (Hashtable) r.ReadObject("_hashTable");
+ }
+ }
+
+ public class SerializePdx4 : BaseClass
+ {
+ private string s0;
+ [PdxIdentityField] private int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+ private SerializePdx2 nestedObject;
+ private ArrayList _addressList;
+
+ private Address[] _addressArray;
+
+ //private int arrayCount = 10;
+ public SerializePdx4()
+ : base()
+ {
+ }
+
+ public override string ToString()
+ {
+ return i1 + ":" + i2 + ":" + s1 + ":" + s2 + nestedObject.ToString() + " add: " + _addressList[0].ToString();
+ }
+
+ public SerializePdx4(bool init)
+ : base(init)
+ {
+ if (init)
+ {
+ s0 = "s9999999999999999999999999999999999";
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ nestedObject = new SerializePdx2(true);
+
+ _addressList = new ArrayList();
+ _addressArray = new Address[10];
+
+ for (var i = 0; i < 10; i++)
+ {
+ _addressList.Add(new Address(i));
+ _addressArray[i] = new Address(i);
+ }
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdx4;
+
+ if (other == null)
+ return false;
+
+ if (s0 == other.s0
+ && i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ {
+ var ret = nestedObject.Equals(other.nestedObject);
+ if (ret)
+ {
+ if (_addressList.Count == other._addressList.Count &&
+ _addressList[0].Equals(other._addressList[0]))
+ {
+ for (var i = 0; i < _addressList.Count; i++)
+ {
+ ret = _addressList[i].Equals(other._addressList[i]);
+ if (!ret)
+ return false;
+ }
+
+ for (var i = 0; i < _addressArray.Length; i++)
+ {
+ ret = _addressArray[i].Equals(other._addressArray[i]);
+ if (!ret)
+ return false;
+ }
+
+ return base.Equals(other);
+ }
+ }
+ }
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ public class PdxFieldTest
+ {
+ private string _notInclude = "default_value";
+ private int _nameChange;
+ private int _identityField;
+
+ public PdxFieldTest()
+ {
+ }
+
+ public string NotInclude
+ {
+ set { _notInclude = "default_value"; }
+ }
+
+ public PdxFieldTest(bool init)
+ {
+ if (init)
+ {
+ _notInclude = "valuechange";
+ _nameChange = 11213;
+ _identityField = 1038193;
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+
+ var other = obj as PdxFieldTest;
+
+ if (other == null)
+ return false;
+
+ if (_notInclude == other._notInclude
+ && _nameChange == other._nameChange
+ && _identityField == other._identityField)
+ return true;
+
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ public class PdxSerializer : IPdxSerializer
+ {
+ #region IPdxSerializer Members
+
+ public object FromData(string className, IPdxReader reader)
+ {
+ var o = Activator.CreateInstance(Type.GetType(className));
+ var obj = o as SerializePdx1;
+
+ if (obj != null)
+ {
+ obj.i1 = reader.ReadInt("i1");
+ obj.i2 = reader.ReadInt("i2");
+ obj.s1 = reader.ReadString("s1");
+ obj.s2 = reader.ReadString("s2");
+ return o;
+ }
+ else
+ {
+ var obj2 = o as SerializePdx2;
+ if (obj2 != null)
+ {
+ obj2.s0 = reader.ReadString("s0");
+ obj2.i1 = reader.ReadInt("i1");
+ obj2.i2 = reader.ReadInt("i2");
+ obj2.s1 = reader.ReadString("s1");
+ obj2.s2 = reader.ReadString("s2");
+ return o;
+ }
+ else
+ {
+ var sp3 = o as SerializePdx3;
+
+ if (sp3 != null)
+ {
+ sp3.FromData(reader);
+ return o;
+ }
+ else
+ {
+ var ad = o as Address;
+ if (ad != null)
+ {
+ ad.FromData(reader);
+ return o;
+ }
+ }
+
+ return null;
+ }
+ }
+ }
+
+ public bool ToData(object o, IPdxWriter writer)
+ {
+ var obj = o as SerializePdx1;
+
+ if (obj != null)
+ {
+ writer.WriteInt("i1", obj.i1);
+ writer.WriteInt("i2", obj.i2);
+ writer.WriteString("s1", obj.s1);
+ writer.WriteString("s2", obj.s2);
+ return true;
+ }
+ else
+ {
+ var obj2 = o as SerializePdx2;
+ if (obj2 != null)
+ {
+ writer.WriteString("s0", obj2.s0);
+ writer.WriteInt("i1", obj2.i1);
+ writer.WriteInt("i2", obj2.i2);
+ writer.WriteString("s1", obj2.s1);
+ writer.WriteString("s2", obj2.s2);
+ return true;
+ }
+ else
+ {
+ var sp3 = o as SerializePdx3;
+
+ if (sp3 != null)
+ {
+ sp3.ToData(writer);
+ return true;
+ }
+ else
+ {
+ var ad = o as Address;
+ if (ad != null)
+ {
+ ad.ToData(writer);
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+ }
+
+ #endregion
+ }
+
+ public class SerializePdxNoRegister : IPdxSerializable
+ {
+ public int i1;
+ public int i2;
+ public string s1;
+ public string s2;
+
+ /*public static SerializePdx1 CreateDeserializable()
+ {
+ return new SerializePdx1(false);
+ }*/
+
+ public SerializePdxNoRegister()
+ {
+ }
+
+ public SerializePdxNoRegister(bool init)
+ {
+ if (init)
+ {
+ i1 = 1;
+ i2 = 2;
+ s1 = "s1";
+ s2 = "s2";
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ if (obj == this)
+ return true;
+
+ var other = obj as SerializePdxNoRegister;
+
+ if (other == null)
+ return false;
+
+ if (i1 == other.i1
+ && i2 == other.i2
+ && s1 == other.s1
+ && s2 == other.s2)
+ return true;
+
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ i1 = reader.ReadInt("i1");
+ i2 = reader.ReadInt("i2");
+ s1 = reader.ReadString("s1");
+ s2 = reader.ReadString("s2");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("i1", i1);
+ writer.WriteInt("i2", i2);
+ writer.WriteString("s1", s1);
+ writer.WriteString("s2", s2);
+ }
+
+ #endregion
+ }
+
+ #endregion
+
+ #region Extension of ReflectionBasedAutoSerializer
+
+ public class AutoSerializerEx : ReflectionBasedAutoSerializer
+ {
+ public override bool IsIdentityField(FieldInfo fi, Type type)
+ {
+ if (fi.Name == "_identityField")
+ return true;
+ return base.IsIdentityField(fi, type);
+ }
+
+ public override string GetFieldName(FieldInfo fi, Type type)
+ {
+ if (fi.Name == "_nameChange")
+ return fi.Name + "NewName";
+
+ return fi.Name;
+ }
+
+ public override bool IsFieldIncluded(FieldInfo fi, Type type)
+ {
+ if (fi.Name == "_notInclude")
+ return false;
+ return base.IsFieldIncluded(fi, type);
+ }
+
+ public override FieldType GetFieldType(FieldInfo fi, Type type)
+ {
+ if (fi.FieldType.Equals(Type.GetType("System.Guid")))
+ return FieldType.STRING;
+ return base.GetFieldType(fi, type);
+ }
+
+ public override object WriteTransform(FieldInfo fi, Type type, object originalValue)
+ {
+ if (fi.FieldType.Equals(Type.GetType("System.Guid")))
+ {
+ //writer.WriteField(fi.Name, fi.GetValue(o).ToString(), Type.GetType("System.String"));
+ return originalValue.ToString();
+ }
+ else
+ return base.WriteTransform(fi, type, originalValue);
+ }
+
+ public override object ReadTransform(FieldInfo fi, Type type, object serializeValue)
+ {
+ if (fi.FieldType.Equals(Type.GetType("System.Guid")))
+ {
+ var g = new Guid((string) serializeValue);
+
+ //fi.SetValue(o, g);
+ return g;
+ }
+ else
+ return base.ReadTransform(fi, type, serializeValue);
+ }
+
+ /*public override void SerializeField(object o, FieldInfo fi, IPdxWriter writer)
+ {
+ if (fi.FieldType.Equals(Type.GetType("System.Guid")))
+ {
+ writer.WriteField(fi.Name, fi.GetValue(o).ToString(), Type.GetType("System.String"));
+ }
+ else
+ base.SerializeField(o, fi, writer);
+ }*/
+
+ /* public override object DeserializeField(object o, FieldInfo fi, IPdxReader reader)
+ {
+ if (fi.FieldType.Equals(Type.GetType("System.Guid")))
+ {
+ string gStr = (string)reader.ReadField(fi.Name, Type.GetType("System.String"));
+ Guid g = new Guid(gStr);
+
+ //fi.SetValue(o, g);
+ return g;
+ }
+ else
+ return base.DeserializeField(o, fi, reader);
+ }*/
+ }
+
+ #endregion
+
+ #region Classes for per test and Dataoutput.Advance method
+
+ internal class MyClasses : IPdxSerializable
+ {
+ [PdxIdentityField] public string Key;
+ public List<object> Children;
+
+ public MyClasses()
+ {
+ }
+
+ public MyClasses(string key, int nClasses)
+ {
+ Key = key;
+ Children = new List<object>(nClasses);
+ for (var i = 0; i < nClasses; i++)
+ {
+ var my = new MyClass(i);
+ Children.Add(my);
+ }
+ }
+
+ public static IPdxSerializable Create()
+ {
+ return new MyClasses();
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+
+ var other = obj as MyClasses;
+ if (other == null)
+ return false;
+
+ if (Children.Count == other.Children.Count)
+ return true;
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ Key = reader.ReadString("Key");
+ Children = (List<object>) (reader.ReadObject("Children"));
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteString("Key", Key);
+ writer.WriteObject("Children", Children);
+ }
+
+ #endregion
+ }
+
+ internal class MyClass : IPdxSerializable
+ {
+ [PdxIdentityField] public string Key;
+ public int SecKey;
+ public double ShareQuantity;
+ public double Cost;
+ public double Price;
+ public int SettleSecKey;
+ public double SettleFxRate;
+ public double ValueBasis;
+ public double OpenDate;
+ public double Strategy;
+
+ public MyClass()
+ {
+ }
+
+ public MyClass(int key)
+ {
+ Key = key.ToString();
+ SecKey = key;
+ ShareQuantity = key * 9278;
+ Cost = ShareQuantity * 100;
+ Price = Cost * 10;
+ SettleSecKey = SecKey + 100000;
+ SettleFxRate = Price * 1.5;
+ ValueBasis = 1.5;
+ OpenDate = 100000;
+ Strategy = 3.6;
+ }
+
+ public static IPdxSerializable Create()
+ {
+ return new MyClass();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ Key = reader.ReadString("Key");
+ SecKey = reader.ReadInt("SecKey");
+ ShareQuantity = reader.ReadDouble("ShareQuantity");
+ Cost = reader.ReadDouble("Cost");
+ Price = reader.ReadDouble("Price");
+ SettleSecKey = reader.ReadInt("SettleSecKey");
+ SettleFxRate = reader.ReadDouble("SettleFxRate");
+ ValueBasis = reader.ReadDouble("ValueBasis");
+ OpenDate = reader.ReadDouble("OpenDate");
+ Strategy = reader.ReadDouble("Strategy");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteString("Key", Key);
+ writer.WriteInt("SecKey", SecKey);
+ writer.WriteDouble("ShareQuantity", ShareQuantity);
+ writer.WriteDouble("Cost", Cost);
+ writer.WriteDouble("Price", Price);
+ writer.WriteInt("SettleSecKey", SettleSecKey);
+ writer.WriteDouble("SettleFxRate", SettleFxRate);
+ writer.WriteDouble("ValueBasis", ValueBasis);
+ writer.WriteDouble("OpenDate", OpenDate);
+ writer.WriteDouble("Strategy", Strategy);
+ }
+
+ #endregion
+ }
+
+ #endregion
+
+ #region PdxTypeMapper
+
+ public class PdxTypeMapper : IPdxTypeMapper
+ {
+ public string ToPdxTypeName(string localTypeName)
+ {
+ return "my" + localTypeName;
+ }
+
+ public string FromPdxTypeName(string pdxTypeName)
+ {
+ return pdxTypeName.Substring(2); //need to extract "my"
+ }
+ }
+
+ #endregion
+
+ #region Pdx nested class
+
+ public enum Gender
+ {
+ male,
+ female,
+ other
+ };
+
+ public class ChildPdx : IPdxSerializable
+ {
+ public int _childId;
+ public Gender _gender;
+ public string _childName;
+
+ public ChildPdx()
+ {
+ }
+
+ public ChildPdx(int id)
+ {
+ _childId = id;
+ _childName = "name" + id.ToString();
+ if (id % 2 == 0)
+ _gender = Gender.female;
+ else
+ _gender = Gender.male;
+ }
+
+ public override string ToString()
+ {
+ return _childId + ":" + _childName + ":" + _gender;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ var other = obj as ChildPdx;
+ if (other == null)
+ return false;
+ if (_childName == other._childName
+ && _gender == other._gender
+ && _childId == other._childId)
+ return true;
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ _childId = reader.ReadInt("_childId");
+ _gender = (Gender) reader.ReadObject("_gender");
+ _childName = reader.ReadString("_childName");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("_childId", _childId);
+ writer.MarkIdentityField("_childId");
+ writer.WriteObject("_gender", _gender);
+ writer.WriteString("_childName", _childName);
+ }
+
+ #endregion
+ }
+
+ public class ParentPdx : IPdxSerializable
+ {
+ public int _parentId;
+ public Gender _gender;
+ public string _parentName;
+ public ChildPdx _childPdx;
+
+ public ParentPdx()
+ {
+ }
+
+ public ParentPdx(int id)
+ {
+ _parentId = id;
+ _parentName = "name" + id.ToString();
+ if (id % 2 == 0)
+ _gender = Gender.female;
+ else
+ _gender = Gender.male;
+ _childPdx = new ChildPdx(id * 1393);
+ }
+
+ public override string ToString()
+ {
+ return _parentId + ":" + _gender + ":" + _parentName + ":" + _childPdx;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ var other = obj as ParentPdx;
+ if (other == null)
+ return false;
+ if (_parentId == other._parentId
+ && _gender == other._gender
+ && _parentName == other._parentName
+ && _childPdx.Equals(other._childPdx))
+ return true;
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ _parentId = reader.ReadInt("_parentId");
+ _gender = (Gender) reader.ReadObject("_gender");
+ _parentName = reader.ReadString("_parentName");
+ _childPdx = (ChildPdx) reader.ReadObject("_childPdx");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("_parentId", _parentId);
+ writer.MarkIdentityField("_parentId");
+ writer.WriteObject("_gender", _gender);
+ writer.WriteString("_parentName", _parentName);
+ writer.WriteObject("_childPdx", _childPdx);
+ writer.MarkIdentityField("_childPdx");
+ }
+
+ #endregion
+ }
+
+ public class ChildPdxAS
+ {
+ [PdxIdentityField] private int _childId;
+ private Gender _gender;
+ private string _childName;
+
+ public ChildPdxAS()
+ {
+ }
+
+ public ChildPdxAS(int id)
+ {
+ _childId = id;
+ _childName = "name" + id.ToString();
+ if (id % 2 == 0)
+ _gender = Gender.female;
+ else
+ _gender = Gender.male;
+ }
+
+ public override string ToString()
+ {
+ return _childId + ":" + _childName + ":" + _gender;
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ return false;
+ var other = obj as ChildPdxAS;
+ if (other == null)
+ return false;
+ if (_childName == other._childName
+ && _gender == other._gender
+ && _childId == other._childId)
+ return true;
+ return false;
+ }
+
+ public override int GetHashCode()
+ {
+ return base.GetHashCode();
+ }
+ }
+
+ public class Heaptest : IPdxSerializable
+ {
+ private int _id;
+ private byte[] _data;
+
+ public Heaptest()
+ {
+ }
+
+ public Heaptest(int id)
+ {
+ _id = id;
+ _data = new byte[id];
+ }
+
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ _id = reader.ReadInt("_id");
+ _data = reader.ReadByteArray("_data");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("_id", _id);
+ writer.WriteByteArray("_data", _data);
+ }
+
+ #endregion
+ }
+
+ public enum enumQuerytest
+ {
+ id1,
+ id2,
+ id3
+ };
+
+ public class PdxEnumTestClass : IPdxSerializable
+ {
+ private int _id;
+ private enumQuerytest _enumid;
+
+ public int ID
+ {
+ get { return _id; }
+ }
+
+ public PdxEnumTestClass(int id)
+ {
+ _id = id;
+ switch (id)
+ {
+ case 0:
+ _enumid = enumQuerytest.id1;
+ break;
+ case 1:
+ _enumid = enumQuerytest.id2;
+ break;
+ case 2:
+ _enumid = enumQuerytest.id3;
+ break;
+ default:
+ _enumid = enumQuerytest.id1;
+ break;
+ }
+ }
+
+ public PdxEnumTestClass()
+ {
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ _id = reader.ReadInt("_id");
+ _enumid = (enumQuerytest) reader.ReadObject("_enumid");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("_id", _id);
+ writer.WriteObject("_enumid", _enumid);
+ }
+
+ #endregion
+ }
+
+ #endregion
+}
+
+namespace javaobject
+{
+ using Apache.Geode.Client;
+
+ #region Pdx Delta class
+
+ public class PdxDelta : IPdxSerializable, IGeodeDelta, ICloneable
+ {
+ public static int GotDelta = 0;
+ private int _delta = 0;
+ private int _id;
+
+ public PdxDelta()
+ {
+ }
+
+ public PdxDelta(int id)
+ {
+ _id = id;
+ }
+
+ #region IPdxSerializable Members
+
+ public void FromData(IPdxReader reader)
+ {
+ _id = reader.ReadInt("_id");
+ _delta = reader.ReadInt("_delta");
+ }
+
+ public void ToData(IPdxWriter writer)
+ {
+ writer.WriteInt("_id", _id);
+ writer.WriteInt("_delta", _delta);
+ }
+
+ #endregion
+
+ public int Delta
+ {
+ get { return _delta; }
+ }
+
+ #region IGeodeDelta Members
+
+ public void FromDelta(DataInput input)
+ {
+ Console.WriteLine(" in fromdelta " + GotDelta);
+ _delta = input.ReadInt32();
+ GotDelta++;
+ }
+
+ public bool HasDelta()
+ {
+ Console.WriteLine(" in hasdelta " + _delta);
+ if (_delta > 0)
+ {
+ _delta++;
+ return true;
+ }
+ else
+ {
+ _delta++;
+ return false;
+ }
+ }
+
+ public void ToDelta(DataOutput output)
+ {
+ Console.WriteLine(" in todelta " + GotDelta);
+ output.WriteInt32(_delta);
+ GotDelta++;
+ }
+
+ #endregion
+
+ #region ICloneable Members
+
+ public object Clone()
+ {
+ var pd = new PdxDelta();
+ pd._id = _id;
+ pd._delta = _delta;
+ return pd;
+ }
+
+ #endregion
+ }
+
+ #endregion
+}
\ No newline at end of file
diff --git a/clicache/integration-test/ThinClientPdxTests2.cs b/clicache/integration-test/ThinClientPdxTests2.cs
new file mode 100644
index 0000000..2e2715f
--- /dev/null
+++ b/clicache/integration-test/ThinClientPdxTests2.cs
@@ -0,0 +1,1462 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Collections;
+using PdxTests;
+using System.Reflection;
+
+namespace Apache.Geode.Client.UnitTests
+{
+ using NUnit.Framework;
+ using DUnitFramework;
+ using Client;
+ using Region = IRegion<object, object>;
+
+ [TestFixture]
+ [Category("group4")]
+ [Category("unicast_only")]
+ [Category("generics")]
+ internal class ThinClientPdxTests2 : ThinClientRegionSteps
+ {
+ private static bool m_useWeakHashMap = false;
+
+ #region Private members
+
+ private UnitProcess m_client1, m_client2;
+
+ #endregion
+
+ protected override ClientBase[] GetClients()
+ {
+ m_client1 = new UnitProcess();
+ m_client2 = new UnitProcess();
+ return new ClientBase[] {m_client1, m_client2};
+ }
+
+ [TestFixtureTearDown]
+ public override void EndTests()
+ {
+ CacheHelper.StopJavaServers();
+ base.EndTests();
+ }
+
+ [TearDown]
+ public override void EndTest()
+ {
+ try
+ {
+ m_client1.Call(DestroyRegions);
+ m_client2.Call(DestroyRegions);
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+ finally
+ {
+ CacheHelper.StopJavaServers();
+ CacheHelper.StopJavaLocators();
+ }
+
+ base.EndTest();
+ }
+
+ private void cleanup()
+ {
+ {
+ CacheHelper.SetExtraPropertiesFile(null);
+ if (m_clients != null)
+ {
+ foreach (var client in m_clients)
+ {
+ try
+ {
+ client.Call(CacheHelper.Close);
+ }
+ catch (System.Runtime.Remoting.RemotingException)
+ {
+ }
+ catch (System.Net.Sockets.SocketException)
+ {
+ }
+ }
+ }
+
+ CacheHelper.Close();
+ }
+ }
+
+ private Assembly m_pdxVesionOneAsm;
+ private Assembly m_pdxVesionTwoAsm;
+
+ private IPdxSerializable registerPdxUIV1()
+ {
+ var pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+
+ var ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null,
+ null);
+
+ return (IPdxSerializable) ob;
+ }
+
+ private void initializePdxUIAssemblyOne(bool useWeakHashmap)
+ {
+ m_pdxVesionOneAsm = Assembly.LoadFrom("PdxVersion1Lib.dll");
+
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxUIV1);
+
+ var pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+
+ var ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null,
+ new object[] {useWeakHashmap});
+ }
+
+ private void putV1PdxUI(bool useWeakHashmap)
+ {
+ initializePdxUIAssemblyOne(useWeakHashmap);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var pt = m_pdxVesionOneAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+ var np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
+ var pRet = region0[1];
+ region0[1] = pRet;
+
+
+ Console.WriteLine(np);
+ Console.WriteLine(pRet);
+
+ //Assert.AreEqual(np, pRet);
+ }
+
+ private IPdxSerializable registerPdxUIV2()
+ {
+ var pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+
+ var ob = pt.InvokeMember("CreateDeserializable", BindingFlags.Default | BindingFlags.InvokeMethod, null, null,
+ null);
+
+ return (IPdxSerializable) ob;
+ }
+
+ private void initializePdxUIAssemblyTwo(bool useWeakHashmap)
+ {
+ m_pdxVesionTwoAsm = Assembly.LoadFrom("PdxVersion2Lib.dll");
+
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(registerPdxUIV2);
+
+ var pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+
+ var ob = pt.InvokeMember("Reset", BindingFlags.Default | BindingFlags.InvokeMethod, null, null,
+ new object[] {useWeakHashmap});
+ }
+
+ private void putV2PdxUI(bool useWeakHashmap)
+ {
+ initializePdxUIAssemblyTwo(useWeakHashmap);
+
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+ var np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
+ region0[1] = np;
+
+ var pRet = region0[1];
+
+ Console.WriteLine(np);
+ Console.WriteLine(pRet);
+
+ Assert.AreEqual(np, pRet);
+ region0[1] = pRet;
+ Console.WriteLine(" " + pRet);
+ }
+
+ private void getV2PdxUI()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ var pt = m_pdxVesionTwoAsm.GetType("PdxVersionTests.PdxTypesIgnoreUnreadFields");
+ var np = pt.InvokeMember("PdxTypesIgnoreUnreadFields", BindingFlags.CreateInstance, null, null, null);
+
+ var pRet = region0[1];
+
+ Console.WriteLine(np);
+ Console.WriteLine(pRet);
+
+ Assert.AreEqual(np, pRet);
+ }
+
+ private void runPdxIgnoreUnreadFieldTest()
+ {
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+
+ m_client2.Call(putV2PdxUI, m_useWeakHashMap);
+ Util.Log("StepThree complete.");
+
+ m_client1.Call(putV1PdxUI, m_useWeakHashMap);
+ Util.Log("StepFour complete.");
+
+ m_client2.Call(getV2PdxUI);
+ Util.Log("StepFive complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void putFromPool1()
+ {
+ CacheHelper.DCache.TypeRegistry.RegisterPdxType(PdxTypes1.CreateDeserializable);
+ Util.Log("Put from pool-1 started");
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[0]);
+
+ region0[1] = new PdxTypes1();
+
+ region0[2] = new PdxType();
+ Util.Log("Put from pool-1 Completed");
+ }
+
+ private void putFromPool2()
+ {
+ Util.Log("Put from pool-21 started");
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(RegionNames[1]);
+
+ region0[1] = new PdxTypes1();
+ region0[2] = new PdxType();
+ var ret = region0[1];
+ ret = region0[2];
+ Util.Log("Put from pool-2 completed");
+
+ var pdxIds = CacheHelper.DCache.GetPdxTypeRegistry().testGetNumberOfPdxIds();
+
+ Assert.AreEqual(3, pdxIds);
+ }
+
+ private void runMultipleDSTest()
+ {
+ Util.Log("Starting runMultipleDSTest. ");
+
+ CacheHelper.SetupJavaServers(true, "cacheserverMDS1.xml", "cacheserverMDS2.xml");
+ CacheHelper.StartJavaLocator_MDS(1, "GFELOC", null, 1 /*ds id is one*/);
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaLocator_MDS(2, "GFELOC2", null, 2 /*ds id is one*/);
+ Util.Log("Locator 2 started.");
+
+ CacheHelper.StartJavaServerWithLocator_MDS(1, "GFECS1", 1);
+ Util.Log("Server 1 started with locator 1.");
+
+ CacheHelper.StartJavaServerWithLocator_MDS(2, "GFECS2", 2);
+ Util.Log("Server 2 started with locator 2.");
+
+ //client intialization
+ /*
+ * CreateTCRegion_Pool(string name, bool ack, bool caching,
+ ICacheListener listener, string endpoints, string locators, string poolName, bool clientNotification, bool ssl,
+ bool cloningEnabled)
+ *
+ */
+
+ m_client1.Call(CacheHelper.CreateTCRegion_Pool_MDS,
+ RegionNames[0], true, false,
+ CacheHelper.LocatorFirst, "__TESTPOOL1_",
+ false, false, false);
+
+ Util.Log("StepOne (pool-1 locators) complete. " + CacheHelper.LocatorFirst);
+
+ m_client1.Call(CacheHelper.CreateTCRegion_Pool_MDS,
+ RegionNames[1], false, false,
+ CacheHelper.LocatorSecond, "__TESTPOOL2_",
+ false, false, false);
+
+ Util.Log("StepTwo (pool-2 locators) complete. " + CacheHelper.LocatorSecond);
+
+
+ m_client1.Call(putFromPool1);
+
+ m_client1.Call(putFromPool2);
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ //m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+ CacheHelper.StopJavaServer(2);
+ Util.Log("Cacheserver 2 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+ CacheHelper.StopJavaLocator(2);
+ Util.Log("Locator 2 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void initializePdxSerializer()
+ {
+ CacheHelper.DCache.TypeRegistry.PdxSerializer = new PdxSerializer();
+
+ //Serializable.RegisterTypeForPdxSerializer(SerializePdx1.CreateDeserializable);
+ }
+
+ private void doPutGetWithPdxSerializer()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ for (var i = 0; i < 10; i++)
+ {
+ object put = new SerializePdx1(true);
+ ;
+
+ region0[i] = put;
+
+ var ret = region0[i];
+
+ Assert.AreEqual(put, ret);
+
+ put = new SerializePdx2(true);
+ region0[i + 10] = put;
+
+
+ ret = region0[i + 10];
+
+ Assert.AreEqual(put, ret);
+
+
+ put = new SerializePdx3(true, i % 2);
+ region0[i + 20] = put;
+
+ ret = region0[i + 20];
+
+ Assert.AreEqual(put, ret);
+ }
+ }
+
+ private void doGetWithPdxSerializerC2()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+ var sp3Even = new SerializePdx3(true, 0);
+ var sp3Odd = new SerializePdx3(true, 1);
+
+ for (var i = 0; i < 10; i++)
+ {
+ object local = new SerializePdx1(true);
+ ;
+
+ var ret = region0[i];
+
+ Assert.AreEqual(local, ret);
+
+ ret = region0[i + 10];
+ Assert.AreEqual(new SerializePdx2(true), ret);
+
+ ret = region0[i + 20];
+ if (i % 2 == 0)
+ {
+ Assert.AreEqual(ret, sp3Even);
+ Assert.AreNotEqual(ret, sp3Odd);
+ }
+ else
+ {
+ Assert.AreEqual(ret, sp3Odd);
+ Assert.AreNotEqual(ret, sp3Even);
+ }
+ }
+ }
+
+ private void doQueryTest()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ for (var i = 0; i < 10; i++)
+ {
+ var result = region0.Query<object>("i1 = " + i);
+ Util.Log(" query result size " + result.Size);
+ }
+
+ var result2 = region0.Query<object>("1 = 1");
+ Util.Log(" query result size " + result2.Size);
+
+ //private Address[] _addressArray;
+ //private int arrayCount = 10;
+ //private ArrayList _addressList;
+ //private Address _address;
+ //private Hashtable _hashTable;
+
+ //var qs = PoolManager/*<object, object>*/.Find("__TESTPOOL1_").GetQueryService();
+
+ //Query<object> qry = qs.NewQuery<object>("select _addressArray from /" + m_regionNames[0] + " where arrayCount = 10");
+ //ISelectResults<object> results = qry.Execute();
+ //Assert.Greater(results.Size, 5, "query should have result");
+ //IEnumerator<object> ie = results.GetEnumerator();
+ //Address[] ad;
+ //while (ie.MoveNext())
+ //{
+ // Address[] ar = (Address[])ie.Current;
+ // Assert.AreEqual(ar.Length, 10, "Array size should be 10");
+ //}
+ }
+
+ private void runPdxSerializerTest()
+ {
+ Util.Log("Starting iteration for pool locator runPdxSerializerTest");
+
+ CacheHelper.SetupJavaServers(true, "cacheserver.xml");
+ CacheHelper.StartJavaLocator(1, "GFELOC");
+ Util.Log("Locator 1 started.");
+ CacheHelper.StartJavaServerWithLocators(1, "GFECS1", 1);
+ Util.Log("Cacheserver 1 started.");
+
+ m_client1.Call(CreateTCRegions_Pool_PDX, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepOne (pool locators) complete.");
+
+ m_client2.Call(CreateTCRegions_Pool_PDX, RegionNames,
+ CacheHelper.Locators, "__TESTPOOL1_", false, false, false /*local caching false*/);
+ Util.Log("StepTwo (pool locators) complete.");
+
+
+ m_client1.Call(initializePdxSerializer);
+ m_client2.Call(initializePdxSerializer);
+ Util.Log("StepThree complete.");
+
+ m_client1.Call(doPutGetWithPdxSerializer);
+ Util.Log("StepFour complete.");
+
+ m_client2.Call(doGetWithPdxSerializerC2);
+ Util.Log("StepFive complete.");
+
+ m_client1.Call(Close);
+ Util.Log("Client 1 closed");
+ m_client2.Call(Close);
+ //Util.Log("Client 2 closed");
+
+ CacheHelper.StopJavaServer(1);
+ Util.Log("Cacheserver 1 stopped.");
+
+ CacheHelper.StopJavaLocator(1);
+ Util.Log("Locator 1 stopped.");
+
+ CacheHelper.ClearEndpoints();
+ CacheHelper.ClearLocators();
+ }
+
+ private void initializeReflectionPdxSerializer()
+ {
+ CacheHelper.DCache.TypeRegistry.PdxSerializer = new AutoSerializerEx();
+
+ //Serializable.RegisterTypeForPdxSerializer(SerializePdx1.CreateDeserializable);
+ }
+
+ private void doPutGetWithPdxSerializerR()
+ {
+ var region0 = CacheHelper.GetVerifyRegion<object, object>(m_regionNames[0]);
+
+ for (var i = 0; i < 10; i++)
+ {
+ object put = new SerializePdx1(true);
+ ;
+
+ region0[i] = put;
+
+ var ret = region0[i];
+
+ Assert.AreEqual(put, ret);
+
+ put = new SerializePdx2(true);
+ region0[i + 10] = put;
+
+
+ ret = region0[i + 10];
+
+ Assert.AreEqual(put, ret);
+
+ put = new PdxTypesReflectionTest(true);
+ region0[i + 20] = put;
+
+
+ ret = region0[i + 20];
+
+ Assert.AreEqual(put, ret);
+
+ put = new SerializePdx3(true, i % 2);
+ region0[i + 30] = put;
+
+
+ ret = region0[i + 30];
+
+ Assert.AreEqual(put, ret);
+
+ put = new SerializePdx4(true);
+ region0[i + 40] = put;
+
+
+ ret = region0[i + 40];
+
+ Assert.AreEqual(put, ret);
+
+ var p1 = region0[i + 30];
+ var p2 = region0[i + 40];
+
+ Assert.AreNotEqual(p1, p2, "This should NOt be equals");
+
+ var pft = new PdxFieldTest(true);
+ region0[i + 50] = pft;
+ ret = region0[i + 50];
+
+ Assert.AreNotEqual(pft, ret);
+
+ pft.NotInclude = "default_value";
+ Assert.AreEqual(pft, ret);
+ }
+
+ IDictionary<object, object> putall = new Dictionary<object, object>();
+ putall.Add(100, new SerializePdx3(true, 0));
+ putall.Add(200, new SerializePdx3(true, 1));
+ putall.Add(300, new SerializePdx4(true));
... 3937 lines suppressed ...
--
To stop receiving notification emails like this one, please contact
jbarrett@apache.org.