You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jg...@apache.org on 2006/05/23 17:13:55 UTC
svn commit: r408925 [3/3] - in /geronimo/sandbox/geronimo-cache: ./ src/
src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/geronimo/ src/main/java/org/apache/geronimo/cache/
src/main/java/org/apache/geronimo...
Added: geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MessageIDTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MessageIDTest.java?rev=408925&view=auto
==============================================================================
--- geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MessageIDTest.java (added)
+++ geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MessageIDTest.java Tue May 23 08:13:52 2006
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.geronimo.cache.comm;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * $Rev$ $Date$
+ */
+public class MessageIDTest extends TestCase {
+
+ public static void main(String[] args) {
+ junit.textui.TestRunner.run(MessageIDTest.class);
+ }
+
+ public MessageIDTest(String arg0) {
+ super(arg0);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ /*
+ * Test method for 'org.apache.geronimo.cache.comm.MessageID.hashCode()'
+ */
+ public void testHashCode() {
+ MessageID id = new MessageID();
+ assertFalse(id.hashCode() == (new MessageID()).hashCode());
+ assertEquals(id.hashCode(), id.hashCode());
+ }
+
+ /*
+ * Test method for 'org.apache.geronimo.cache.comm.MessageID.equals(Object)'
+ */
+ public void testEqualsObject() throws Exception {
+ MessageID id = new MessageID();
+ assertNotSame(id, new MessageID());
+ assertEquals(id, id);
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(64);
+ DataOutputStream out = new DataOutputStream(baos);
+ id.write(out);
+ out.flush();
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ DataInputStream in = new DataInputStream(bais);
+ MessageID id2 = MessageID.read(in);
+ assertEquals(id2, id);
+ }
+
+ /*
+ * Test method for
+ * 'org.apache.geronimo.cache.comm.MessageID.write(DataOutput)'
+ */
+ public void testWrite() throws Exception {
+ MessageID id = new MessageID();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(64);
+ DataOutputStream out = new DataOutputStream(baos);
+ id.write(out);
+ out.flush();
+ // should always be 26 unless something goes wrong with getting the
+ // localhost
+ // from InetAddress
+ assertEquals(26, baos.toByteArray().length);
+ }
+
+ /*
+ * Test method for
+ * 'org.apache.geronimo.cache.comm.MessageID.read(DataInput)'
+ */
+ public void testRead() throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(64);
+ DataOutputStream out = new DataOutputStream(baos);
+ out.writeInt("hello".hashCode());
+ out.writeLong(System.currentTimeMillis());
+ out.writeShort((short) 14);
+ byte spoofAddressHash[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
+ out.writeInt(spoofAddressHash.length);
+ out.write(spoofAddressHash);
+ out.flush();
+ byte data[] = baos.toByteArray();
+ out.close();
+ DataInputStream in = new DataInputStream(new ByteArrayInputStream(data));
+ MessageID id = MessageID.read(in);
+ // this does no really test anything...
+ assertNotNull(id);
+ }
+
+}
Added: geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MockCacheChannel.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MockCacheChannel.java?rev=408925&view=auto
==============================================================================
--- geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MockCacheChannel.java (added)
+++ geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/MockCacheChannel.java Tue May 23 08:13:52 2006
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.geronimo.cache.comm;
+
+import org.apache.geronimo.cache.ReplicatedCache;
+
+/**
+ *
+ * $Rev$ $Date$
+ */
+public class MockCacheChannel implements CacheChannel {
+ private int receiveCount = 0;
+
+ private int sendCount = 0;
+
+ private boolean sendEvents = true;
+
+ public void close() {
+ }
+
+ public ReplicatedCache getCache() {
+ return null;
+ }
+
+ public void recieve(RemoteEvent update) {
+ receiveCount++;
+ }
+
+ public void send(RemoteEvent update) {
+ if (sendEvents) {
+ sendCount++;
+ }
+ }
+
+ public void setCache(ReplicatedCache cache) {
+ }
+
+ public void setSendEvents(boolean flag) {
+ sendEvents = flag;
+ }
+
+ public int getSendCount() {
+ return sendCount;
+ }
+
+}
Added: geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/RunCacheStuff.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/RunCacheStuff.java?rev=408925&view=auto
==============================================================================
--- geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/RunCacheStuff.java (added)
+++ geronimo/sandbox/geronimo-cache/src/test/java/org/apache/geronimo/cache/comm/RunCacheStuff.java Tue May 23 08:13:52 2006
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.geronimo.cache.comm;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.util.Enumeration;
+import java.util.Iterator;
+
+import org.apache.geronimo.cache.ReplicatedCache;
+import org.apache.geronimo.cache.comm.impl.CacheCommListener;
+import org.apache.geronimo.cache.comm.impl.CacheChannelUDPImpl;
+import org.apache.geronimo.cache.impl.ReplicatedCacheImpl;
+
+/**
+ *
+ * $Rev$ $Date$
+ */
+public class RunCacheStuff {
+ public static void main(String args[]) {
+ CacheChannel channel = new CacheChannelUDPImpl();
+ ReplicatedCache cache = new ReplicatedCacheImpl(channel);
+ CacheCommListener listener = new CacheCommListener(channel);
+ cache.addListener(listener);
+ printoutNetStuff(false);
+ int i = 0;
+ while (true) {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(
+ System.in));
+ String value = null;
+ try {
+ value = reader.readLine();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ if (null != value && !value.equals("q") && !value.equals("p")) {
+ cache.put(cache.getId() + ":" + (i++), cache.getName() + ":"
+ + i);
+ } else if (null != value && value.equals("p")) {
+ System.out.println("cache.id = " + cache.getId());
+ Iterator itr = cache.keySet().iterator();
+ while (itr.hasNext()) {
+ Object key = itr.next();
+ System.out.println("key -> " + key + " value -> "
+ + cache.get(key));
+ }
+ } else {
+ channel.close();
+ break;
+ }
+ }
+ }
+
+ private static void printoutNetStuff(boolean flag) {
+ if (flag) {
+ try {
+ Enumeration ifEnum = NetworkInterface.getNetworkInterfaces();
+ InetAddress localAddr = InetAddress.getLocalHost();
+ System.out.println("localAddr.hostname = "
+ + localAddr.getHostName());
+ System.out.println("localAddr.can hostname = "
+ + localAddr.getCanonicalHostName());
+ System.out.println("localAddr.addr = "
+ + localAddr.getHostAddress());
+ while (ifEnum.hasMoreElements()) {
+ NetworkInterface netFace = (NetworkInterface) ifEnum
+ .nextElement();
+ System.out.println("net face name = "
+ + netFace.getDisplayName());
+ Enumeration addEnum = netFace.getInetAddresses();
+ while (addEnum.hasMoreElements()) {
+ InetAddress add = (InetAddress) addEnum.nextElement();
+ System.out.println("hostname = " + add.getHostName());
+ System.out.println("canonical hostname = "
+ + add.getCanonicalHostName());
+ System.out.println("ip = " + add.getHostAddress());
+ }
+ InetAddress local = InetAddress.getLocalHost();
+ System.out.println("hostname = "
+ + local.getCanonicalHostName());
+ System.out.println("ip = " + local.getHostAddress());
+ }
+ } catch (SocketException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (UnknownHostException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }
+}
Added: geronimo/sandbox/geronimo-cache/src/test/resources/META-INF/geronimo-cache-config.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/geronimo-cache/src/test/resources/META-INF/geronimo-cache-config.xml?rev=408925&view=auto
==============================================================================
--- geronimo/sandbox/geronimo-cache/src/test/resources/META-INF/geronimo-cache-config.xml (added)
+++ geronimo/sandbox/geronimo-cache/src/test/resources/META-INF/geronimo-cache-config.xml Tue May 23 08:13:52 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright 2005-2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ -->
+<cache:cache-config
+ xmlns:cache="http://geronimo.apache.org/xml/ns/cache-1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://geronimo.apache.org/xml/ns/cache-1.0 ../../../main/xsd/geronimo-cache-1.0.xsd ">
+
+ <cache:cache cacheName="testCache" evictionPolicy="LEAST_RECENTLY_USED">
+ <cache:cache-impl>org.apache.geronimo.cache.impl.LocalCacheImpl</cache:cache-impl>
+ <cache:storageRef storageNameRef="testStorage" />
+ </cache:cache>
+
+ <cache:storage storageName="testStorage">
+ <cache:storage-strategy>MEMORY</cache:storage-strategy>
+ </cache:storage>
+
+</cache:cache-config>