Author: tv
Date: Tue Apr 29 20:08:25 2014
New Revision: 1591080

URL: http://svn.apache.org/r1591080
Log:
Apply patch from JCS-120

Modified:
    commons/proper/jcs/trunk/commons-jcs-core/   (props changed)
    commons/proper/jcs/trunk/commons-jcs-core/pom.xml
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/ElementAttributesUtils.java

Propchange: commons/proper/jcs/trunk/commons-jcs-core/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Apr 29 20:08:25 2014
@@ -4,3 +4,5 @@ target
 .classpath
 .project
 
+
+.settings

Modified: commons/proper/jcs/trunk/commons-jcs-core/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/pom.xml?rev=1591080&r1=1591079&r2=1591080&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/pom.xml (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/pom.xml Tue Apr 29 20:08:25 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0"?>
 <!--
 
    Licensed to the Apache Software Foundation (ASF) under one or more
@@ -26,7 +27,6 @@
     <version>2.0-SNAPSHOT</version>
   </parent>
 
-  <groupId>org.apache.commons</groupId>
   <artifactId>commons-jcs-core</artifactId>
   <packaging>jar</packaging>
   <version>2.0-SNAPSHOT</version>
@@ -81,7 +81,7 @@
     </dependency>
     <dependency>
       <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest-all</artifactId>
+      <artifactId>hamcrest-library</artifactId>
       <scope>test</scope>
     </dependency>
 
@@ -116,19 +116,6 @@
       <artifactId>servlet-api</artifactId>
       <optional>true</optional>
     </dependency>
-
-    <!-- to debug tcks -->
-    <dependency>
-      <groupId>javax.cache</groupId>
-      <artifactId>cache-tests</artifactId>
-      <classifier>tests</classifier>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.cache</groupId>
-      <artifactId>cache-tests</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java?rev=1591080&r1=1591079&r2=1591080&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/io/ObjectInputStreamClassLoaderAware.java
 Tue Apr 29 20:08:25 2014
@@ -1,3 +1,21 @@
+/*
+ * 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.
+ */
 package org.apache.commons.jcs.io;
 
 import java.io.IOException;

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java?rev=1591080&r1=1591079&r2=1591080&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/server/BasicRemoteCacheClientServerUnitTest.java
 Tue Apr 29 20:08:25 2014
@@ -19,10 +19,7 @@ package org.apache.commons.jcs.auxiliary
  * under the License.
  */
 
-import java.net.InetAddress;
-
-import junit.framework.TestCase;
-
+import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.auxiliary.AuxiliaryCache;
 import org.apache.commons.jcs.auxiliary.MockCacheEventLogger;
 import org.apache.commons.jcs.auxiliary.remote.MockRemoteCacheListener;
@@ -35,228 +32,254 @@ import org.apache.commons.jcs.engine.con
 import org.apache.commons.jcs.engine.control.MockElementSerializer;
 import org.apache.commons.jcs.utils.net.HostNameUtil;
 import org.apache.commons.jcs.utils.timing.SleepUtil;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runners.MethodSorters;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.rmi.server.ServerNotActiveException;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 /**
  * These tests startup the remote server and make requests to it.
- * <p>
+ * <p/>
+ *
  * @author Aaron Smuts
  */
-public class BasicRemoteCacheClientServerUnitTest
-    extends TestCase
-{
-    /** Server instance to use in the tests. */
-    private RemoteCacheServer<String, String> server = null;
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class BasicRemoteCacheClientServerUnitTest extends Assert {
+    /**
+     * Server instance to use in the tests.
+     */
+    private static RemoteCacheServer<String, String> server = null;
 
-    /** the remote server port */
-    private final int remotePort;
+    /**
+     * the remote server port
+     */
+    private static int remotePort;
+
+    private static final Lock lock = new ReentrantLock();
 
     /**
      * Starts the server. This is not in a setup, since the server is slow to 
kill right now.
      */
-    public BasicRemoteCacheClientServerUnitTest()
-    {
+    @BeforeClass
+    public static void setup() {
         String configFile = "TestRemoteCacheClientServer.ccf";
-        server = RemoteCacheServerStartupUtil.startServerUsingProperties( 
configFile );
+        server = 
RemoteCacheServerStartupUtil.startServerUsingProperties(configFile);
         remotePort = server.remoteCacheServerAttributes.getRemotePort();
     }
 
+    @AfterClass
+    public static void stop() throws IOException, ServerNotActiveException {
+        server.shutdown("localhost", remotePort);
+    }
+
     /**
      * Verify that we can start the remote cache server. Send an item to the 
remote. Verify that the
      * remote put count goes up. If we go through JCS, the manager will be 
shared and we will get
      * into an endless loop. We will use a mock cache manager instead.
-     * <p>
+     * <p/>
      * The remote server uses the real JCS. We can verify that items are added 
to JCS behind the
      * server by calling get. We cannot access it directly via JCS since it is 
serialized.
-     * <p>
+     * <p/>
      * This test uses a mock injected client to test a normal server.
-     * <p>
+     * <p/>
+     *
      * @throws Exception
      */
-    public void testSinglePut()
-        throws Exception
-    {
+    @Test
+    public void test1SinglePut()
+            throws Exception {
         // SETUP
         MockCompositeCacheManager compositeCacheManager = new 
MockCompositeCacheManager();
 
         RemoteCacheAttributes attributes = new RemoteCacheAttributes();
-        attributes.setRemoteHost( "localhost" );
-        attributes.setLocalPort( 1202 );
-        attributes.setRemotePort( remotePort );
+        attributes.setRemoteHost("localhost");
+        attributes.setLocalPort(1202);
+        attributes.setRemotePort(remotePort);
 
-        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance( attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer() );
+        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance(attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer());
         String regionName = "testSinglePut";
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache( 
regionName );
+        AuxiliaryCache<String, String> cache = 
remoteCacheManager.getCache(regionName);
 
         // DO WORK
         int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<String, 
String>( regionName, "key", "value" );
-        cache.update( element );
-        SleepUtil.sleepAtLeast( 200 );
+        ICacheElement<String, String> element = new CacheElement<String, 
String>(regionName, "key", "value");
+        cache.update(element);
+        SleepUtil.sleepAtLeast(200);
 
         // VERIFY
         try {
             assertEquals("Cache is alive", CacheStatus.ALIVE, 
cache.getStatus());
-            assertEquals( "Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior );
+            assertEquals("Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior);
         } catch (junit.framework.AssertionFailedError e) {
-            System.out.println( cache.getStats() );
-            System.out.println( server.getStats() );
+            System.out.println(cache.getStats());
+            System.out.println(server.getStats());
             throw e;
         }
 
         // DO WORK
-        ICacheElement<String, String> result = cache.get( "key" );
+        ICacheElement<String, String> result = cache.get("key");
 
         // VERIFY
-        assertEquals( "Wrong element.", element.getVal(), result.getVal() );
+        assertEquals("Wrong element.", element.getVal(), result.getVal());
     }
 
     /**
      * Verify that we can remove an item via the remote server.
-     * <p>
+     * <p/>
+     *
      * @throws Exception
      */
-    public void testPutRemove()
-        throws Exception
-    {
+    @Test
+    public void test2PutRemove()
+            throws Exception {
         // SETUP
         MockCompositeCacheManager compositeCacheManager = new 
MockCompositeCacheManager();
 
         RemoteCacheAttributes attributes = new RemoteCacheAttributes();
-        attributes.setRemoteHost( "localhost" );
-        attributes.setLocalPort( 1202 );
-        attributes.setRemotePort( remotePort );
+        attributes.setRemoteHost("localhost");
+        attributes.setLocalPort(1202);
+        attributes.setRemotePort(remotePort);
 
         MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger();
 
-        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance( attributes, compositeCacheManager, 
cacheEventLogger, null );
+        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance(attributes, compositeCacheManager, 
cacheEventLogger, null);
         String regionName = "testPutRemove";
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache( 
regionName );
+        AuxiliaryCache<String, String> cache = 
remoteCacheManager.getCache(regionName);
 
         // DO WORK
         int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<String, 
String>( regionName, "key", "value" );
-        cache.update( element );
-        SleepUtil.sleepAtLeast( 50 );
+        ICacheElement<String, String> element = new CacheElement<String, 
String>(regionName, "key", "value");
+        cache.update(element);
+        SleepUtil.sleepAtLeast(50);
 
         // VERIFY
         try {
             assertEquals("Cache is alive", CacheStatus.ALIVE, 
cache.getStatus());
-            assertEquals( "Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior );
+            assertEquals("Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior);
         } catch (junit.framework.AssertionFailedError e) {
-            System.out.println( cache.getStats() );
-            System.out.println( server.getStats() );
+            System.out.println(cache.getStats());
+            System.out.println(server.getStats());
             throw e;
         }
 
         // DO WORK
-        ICacheElement<String, String> result = cache.get( "key" );
+        ICacheElement<String, String> result = cache.get("key");
 
         // VERIFY
-        assertEquals( "Wrong element.", element.getVal(), result.getVal() );
+        assertEquals("Wrong element.", element.getVal(), result.getVal());
 
         // DO WORK
-        cache.remove( "key" );
-        SleepUtil.sleepAtLeast( 200 );
-        ICacheElement<String, String> resultAfterRemote = cache.get( "key" );
+        cache.remove("key");
+        SleepUtil.sleepAtLeast(200);
+        ICacheElement<String, String> resultAfterRemote = cache.get("key");
 
         // VERIFY
-        assertNull( "Element resultAfterRemote should be null.", 
resultAfterRemote );
+        assertNull("Element resultAfterRemote should be null.", 
resultAfterRemote);
     }
 
     /**
      * Register a listener with the server. Send an update. Verify that the 
listener received it.
+     *
      * @throws Exception
      */
-    public void testPutAndListen()
-        throws Exception
-    {
+    @Test
+    public void test3PutAndListen()
+            throws Exception {
         // SETUP
         MockCompositeCacheManager compositeCacheManager = new 
MockCompositeCacheManager();
 
         RemoteCacheAttributes attributes = new RemoteCacheAttributes();
-        attributes.setRemoteHost( "localhost" );
-        attributes.setLocalPort( 1202 );
-        attributes.setRemotePort( remotePort );
+        attributes.setRemoteHost("localhost");
+        attributes.setLocalPort(1202);
+        attributes.setRemotePort(remotePort);
 
-        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance( attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer() );
+        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance(attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer());
         String regionName = "testPutAndListen";
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache( 
regionName );
+        AuxiliaryCache<String, String> cache = 
remoteCacheManager.getCache(regionName);
 
         MockRemoteCacheListener<String, String> listener = new 
MockRemoteCacheListener<String, String>();
-        server.addCacheListener( regionName, listener );
+        server.addCacheListener(regionName, listener);
 
         // DO WORK
         int numPutsPrior = server.getPutCount();
-        ICacheElement<String, String> element = new CacheElement<String, 
String>( regionName, "key", "value" );
-        cache.update( element );
-        SleepUtil.sleepAtLeast( 50 );
+        ICacheElement<String, String> element = new CacheElement<String, 
String>(regionName, "key", "value");
+        cache.update(element);
+        SleepUtil.sleepAtLeast(50);
 
         // VERIFY
-        try
-        {
+        try {
             assertEquals("Cache is alive", CacheStatus.ALIVE, 
cache.getStatus());
-            assertEquals( "Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior );
-            assertEquals( "Wrong number of puts to listener.", 1, 
listener.putCount );
+            assertEquals("Wrong number of puts", 1, server.getPutCount() - 
numPutsPrior);
+            assertEquals("Wrong number of puts to listener.", 1, 
listener.putCount);
         } catch (junit.framework.AssertionFailedError e) {
-            System.out.println( cache.getStats() );
-            System.out.println( server.getStats() );
+            System.out.println(cache.getStats());
+            System.out.println(server.getStats());
             throw e;
-        }
-        finally
-        {
+        } finally {
             // remove from all regions.
-            server.removeCacheListener( listener );
+            server.removeCacheListener(listener);
         }
     }
 
     /**
      * Register a listener with the server. Send an update. Verify that the 
listener received it.
+     *
      * @throws Exception
      */
-    public void testPutaMultipleAndListen()
-        throws Exception
-    {
+    @Test
+    public void test4PutaMultipleAndListen()
+            throws Exception {
         // SETUP
         MockCompositeCacheManager compositeCacheManager = new 
MockCompositeCacheManager();
 
         RemoteCacheAttributes attributes = new RemoteCacheAttributes();
-        attributes.setRemoteHost( "localhost" );
-        attributes.setLocalPort( 1202 );
-        attributes.setRemotePort( remotePort );
+        attributes.setRemoteHost("localhost");
+        attributes.setLocalPort(1202);
+        attributes.setRemotePort(remotePort);
 
-        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance( attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer() );
+        RemoteCacheManager remoteCacheManager = 
RemoteCacheManager.getInstance(attributes, compositeCacheManager, new 
MockCacheEventLogger(), new MockElementSerializer());
         String regionName = "testPutaMultipleAndListen";
-        AuxiliaryCache<String, String> cache = remoteCacheManager.getCache( 
regionName );
+        AuxiliaryCache<String, String> cache = 
remoteCacheManager.getCache(regionName);
 
         MockRemoteCacheListener<String, String> listener = new 
MockRemoteCacheListener<String, String>();
-        server.addCacheListener( regionName, listener );
+        server.addCacheListener(regionName, listener);
 
         // DO WORK
         int numPutsPrior = server.getPutCount();
         int numToPut = 100;
-        for ( int i = 0; i < numToPut; i++ )
-        {
-            ICacheElement<String, String> element = new CacheElement<String, 
String>( regionName, "key" + 1, "value" + i );
-            cache.update( element );
+        for (int i = 0; i < numToPut; i++) {
+            ICacheElement<String, String> element = new CacheElement<String, 
String>(regionName, "key" + 1, "value" + i);
+            cache.update(element);
         }
-        SleepUtil.sleepAtLeast( 500 );
+        SleepUtil.sleepAtLeast(500);
 
         // VERIFY
         try {
             assertEquals("Cache is alive", CacheStatus.ALIVE, 
cache.getStatus());
-            assertEquals( "Wrong number of puts", numToPut, 
server.getPutCount() - numPutsPrior );
-            assertEquals( "Wrong number of puts to listener.", numToPut, 
listener.putCount );
+            assertEquals("Wrong number of puts", numToPut, 
server.getPutCount() - numPutsPrior);
+            assertEquals("Wrong number of puts to listener.", numToPut, 
listener.putCount);
         } catch (junit.framework.AssertionFailedError e) {
-            System.out.println( cache.getStats() );
-            System.out.println( server.getStats() );
+            System.out.println(cache.getStats());
+            System.out.println(server.getStats());
             throw e;
         }
     }
 
+    @Test
     public void testLocalHost() throws Exception {
         final InetAddress byName = InetAddress.getByName("localhost");
-        assertTrue("Expected localhost ("+byName.getHostAddress()+") to be a 
loopback address", byName.isLoopbackAddress());
+        assertTrue("Expected localhost (" + byName.getHostAddress() + ") to be 
a loopback address", byName.isLoopbackAddress());
         final InetAddress localHost = HostNameUtil.getLocalHostLANAddress();
-        assertTrue("Expected getLocalHostLANAddress() ("+localHost+") to 
return a site local address", localHost.isSiteLocalAddress());
+        assertTrue("Expected getLocalHostLANAddress() (" + localHost + ") to 
return a site local address", localHost.isSiteLocalAddress());
     }
 }

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/ElementAttributesUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/ElementAttributesUtils.java?rev=1591080&r1=1591079&r2=1591080&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/ElementAttributesUtils.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/ElementAttributesUtils.java
 Tue Apr 29 20:08:25 2014
@@ -1,3 +1,21 @@
+/*
+ * 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.
+ */
 package org.apache.commons.jcs.engine;
 
 /**


Reply via email to