You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2019/05/15 09:43:32 UTC
svn commit: r1859283 - in /commons/proper/jcs/trunk/commons-jcs-core/src:
main/java/org/apache/commons/jcs/utils/serialization/
test/java/org/apache/commons/jcs/utils/serialization/
Author: tv
Date: Wed May 15 09:43:32 2019
New Revision: 1859283
URL: http://svn.apache.org/viewvc?rev=1859283&view=rev
Log:
Remove duplicate code
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/StandardSerializer.java
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/utils/serialization/CompressingSerializerUnitTest.java
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java?rev=1859283&r1=1859282&r2=1859283&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/CompressingSerializer.java Wed May 15 09:43:32 2019
@@ -19,22 +19,14 @@ package org.apache.commons.jcs.utils.ser
* under the License.
*/
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-import org.apache.commons.jcs.utils.zip.CompressionUtil;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
+
+import org.apache.commons.jcs.utils.zip.CompressionUtil;
/**
* Performs default serialization and de-serialization. It gzips the value.
*/
-public class CompressingSerializer
- implements IElementSerializer
+public class CompressingSerializer extends StandardSerializer
{
/**
* Serializes an object using default serialization. Compresses the byte array.
@@ -47,32 +39,12 @@ public class CompressingSerializer
public <T> byte[] serialize( T obj )
throws IOException
{
- byte[] uncompressed = serializeObject( obj );
+ byte[] uncompressed = super.serialize(obj);
byte[] compressed = CompressionUtil.compressByteArray( uncompressed );
return compressed;
}
/**
- * Does the basic serialization.
- * <p>
- * @param obj object
- * @return byte[]
- * @throws IOException on i/o problem
- */
- protected <T> byte[] serializeObject( T obj )
- throws IOException
- {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- try (ObjectOutputStream oos = new ObjectOutputStream( baos ))
- {
- oos.writeObject( obj );
- }
-
- return baos.toByteArray();
- }
-
- /**
* Uses default de-serialization to turn a byte array into an object. Decompresses the value
* first. All exceptions are converted into IOExceptions.
* <p>
@@ -89,28 +61,8 @@ public class CompressingSerializer
{
return null;
}
+
byte[] decompressedByteArray = CompressionUtil.decompressByteArray( data );
- return deserializeObject( decompressedByteArray );
- }
-
- /**
- * Does the standard deserialization.
- * <p>
- * @param decompressedByteArray array of decompressed bytes
- * @return Object
- * @throws IOException on i/o error
- * @throws ClassNotFoundException if class is not found during deserialization
- */
- protected <T> T deserializeObject( byte[] decompressedByteArray )
- throws IOException, ClassNotFoundException
- {
- ByteArrayInputStream bais = new ByteArrayInputStream( decompressedByteArray );
-
- try (ObjectInputStream ois = new ObjectInputStreamClassLoaderAware( bais, null ))
- {
- @SuppressWarnings("unchecked") // Need to cast from Object
- T readObject = (T) ois.readObject();
- return readObject;
- }
+ return super.deSerialize(decompressedByteArray, loader);
}
}
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/StandardSerializer.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/StandardSerializer.java?rev=1859283&r1=1859282&r2=1859283&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/StandardSerializer.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/serialization/StandardSerializer.java Wed May 15 09:43:32 2019
@@ -19,16 +19,15 @@ package org.apache.commons.jcs.utils.ser
* under the License.
*/
-import org.apache.commons.jcs.engine.behavior.IElementSerializer;
-import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
-
-import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import org.apache.commons.jcs.engine.behavior.IElementSerializer;
+import org.apache.commons.jcs.io.ObjectInputStreamClassLoaderAware;
+
/**
* Performs default serialization and de-serialization.
* <p>
Modified: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/utils/serialization/CompressingSerializerUnitTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/utils/serialization/CompressingSerializerUnitTest.java?rev=1859283&r1=1859282&r2=1859283&view=diff
==============================================================================
--- commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/utils/serialization/CompressingSerializerUnitTest.java (original)
+++ commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/utils/serialization/CompressingSerializerUnitTest.java Wed May 15 09:43:32 2019
@@ -110,7 +110,7 @@ public class CompressingSerializerUnitTe
// DO WORK
byte[] compressed = serializer.serialize( before );
- byte[] nonCompressed = serializer.serializeObject( before );
+ byte[] nonCompressed = new StandardSerializer().serialize( before );
// VERIFY
assertTrue( "Compressed should be smaller. compressed size = " + compressed.length + "nonCompressed size = "