diff --git a/pom.xml b/pom.xml index d86a45a401..19f23810e3 100644 --- a/pom.xml +++ b/pom.xml @@ -296,7 +296,6 @@ closure-compiler scala-extensions-parent serializer-common - serializer-kryo serializer-kryo2 serializer-fast2 serializer-ui @@ -631,18 +630,6 @@ ${sf-jung.version} - - - com.googlecode - kryo - 1.04 - - - de.javakaffee - kryo-serializers - 0.9 - - com.googlecode.htmlcompressor diff --git a/serializer-kryo/README.md b/serializer-kryo/README.md deleted file mode 100644 index 144d565777..0000000000 --- a/serializer-kryo/README.md +++ /dev/null @@ -1,30 +0,0 @@ -Serializer Kryo -=============== -is an implementation of `org.apache.wicket.serialize.ISerializer` for Wicket 1.5 - -Such serializer can be used to convert almost any kind of object to/from byte array. Almost any because Kryo may need your help for some complex graph of objects. Refer to Kryo documentation to understand more about that. - -When configured with - - - public class MyApplication extends WebApplication - { - @Override - public void init() - { - super.init(); - - getFrameworkSettings().setSerializer(new KryoSerializer()); - } - } - - -it will be used to serialize any page for the IPageStore needs. - -It is based on [Kryo](http://code.google.com/p/kryo/) and [kryo-serializers](https://github.com/magro/kryo-serializers). - -Notes ----- -* serializer-kryo is not heavily tested so it may have need for more custom serializers for some of the Wicket classes. Let us know if you face a problem by creating an issue. Pull requests are more than welcome! - -* serializer-kryo uses SUN/Oracle propriate APIs (sun.reflect.ReflectionFactory) and thus cannot be used on different JDKs. diff --git a/serializer-kryo/pom.xml b/serializer-kryo/pom.xml deleted file mode 100644 index 4d0c820a29..0000000000 --- a/serializer-kryo/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - 4.0.0 - - - org.wicketstuff - wicketstuff-core - 8.0.0-SNAPSHOT - - - wicketstuff-serializer-kryo - - WicketStuff Kryo serializer - ISerializer based on http://code.google.com/p/kryo/ - - - - junit - junit - - - com.googlecode - kryo - - - de.javakaffee - kryo-serializers - - - org.eclipse.jetty.aggregate - jetty-all - uber - - - diff --git a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/DebuggingKryo.java b/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/DebuggingKryo.java deleted file mode 100644 index 57b853a630..0000000000 --- a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/DebuggingKryo.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.List; - -import org.apache.wicket.util.lang.Args; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import de.javakaffee.kryoserializers.KryoReflectionFactorySupport; - -/** - * An extension of {@link KryoReflectionFactorySupport} that logs the serialized objects and the - * current size of the buffer after the write. Additionally provides the functionality to blacklist - * the serialization of specific classes. - */ -public class DebuggingKryo extends KryoReflectionFactorySupport -{ - - private final static Logger LOG = LoggerFactory.getLogger(DebuggingKryo.class); - - private final List> blackList; - - public DebuggingKryo() - { - blackList = new ArrayList>(); - } - - public DebuggingKryo blacklist(final Class... classes) - { - Args.notNull(classes, "classes"); - - for (Class cls : classes) - { - blackList.add(cls); - } - return this; - } - - @Override - public void writeClassAndObject(ByteBuffer buffer, Object object) - { - - if (object != null) - { - Class target = object.getClass(); - for (Class cls : blackList) - { - if (cls.isAssignableFrom(target)) - { - throw new IllegalArgumentException("Should not serialize class with type: " + - cls.getName()); - } - } - } - super.writeClassAndObject(buffer, object); - - if (object != null) - { - LOG.error("Wrote '{}' bytes for object: '{}'", buffer.position(), object.getClass()); - } - } - -} diff --git a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/KryoSerializer.java b/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/KryoSerializer.java deleted file mode 100644 index f08cdf1155..0000000000 --- a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/KryoSerializer.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import java.lang.reflect.InvocationHandler; -import java.nio.ByteBuffer; -import java.util.Arrays; -import java.util.Collections; -import java.util.Currency; -import java.util.GregorianCalendar; - -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.link.Link; -import org.apache.wicket.markup.html.list.ListView; -import org.apache.wicket.markup.html.panel.Panel; -import org.apache.wicket.serialize.ISerializer; -import org.apache.wicket.util.lang.Args; -import org.apache.wicket.util.lang.Bytes; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.esotericsoftware.kryo.Kryo; -import com.esotericsoftware.kryo.Serializer; - -import de.javakaffee.kryoserializers.ArraysAsListSerializer; -import de.javakaffee.kryoserializers.ClassSerializer; -import de.javakaffee.kryoserializers.CollectionsEmptyListSerializer; -import de.javakaffee.kryoserializers.CollectionsEmptyMapSerializer; -import de.javakaffee.kryoserializers.CollectionsEmptySetSerializer; -import de.javakaffee.kryoserializers.CollectionsSingletonListSerializer; -import de.javakaffee.kryoserializers.CollectionsSingletonMapSerializer; -import de.javakaffee.kryoserializers.CollectionsSingletonSetSerializer; -import de.javakaffee.kryoserializers.CurrencySerializer; -import de.javakaffee.kryoserializers.GregorianCalendarSerializer; -import de.javakaffee.kryoserializers.JdkProxySerializer; -import de.javakaffee.kryoserializers.KryoReflectionFactorySupport; -import de.javakaffee.kryoserializers.StringBufferSerializer; -import de.javakaffee.kryoserializers.StringBuilderSerializer; -import de.javakaffee.kryoserializers.SynchronizedCollectionsSerializer; -import de.javakaffee.kryoserializers.UnmodifiableCollectionsSerializer; -import de.javakaffee.kryoserializers.cglib.CGLibProxySerializer; - -/** - * An {@link ISerializer} based on kryo and additional kryo serializers - */ -public class KryoSerializer implements ISerializer -{ - - private static final Logger LOG = LoggerFactory.getLogger(KryoSerializer.class); - - /** - * The size of the {@link ByteBuffer} that is used to hold the serialized page - */ - private static final Bytes DEFAULT_BUFFER_SIZE = Bytes.megabytes(10L); - - private final Bytes bufferSize; - - private final Kryo kryo; - - public KryoSerializer() - { - this(DEFAULT_BUFFER_SIZE); - } - - public KryoSerializer(final Bytes bufferSize) - { - - this.bufferSize = Args.notNull(bufferSize, "bufferSize"); - LOG.debug("Buffer size: '{}'", bufferSize); - - kryo = createKryo(); - - internalInit(kryo); - } - - protected Kryo createKryo() - { - return new KryoReflectionFactorySupport(); - } - - @Override - public byte[] serialize(final Object object) - { - LOG.debug("Going to serialize: '{}'", object); - ByteBuffer buffer = getBuffer(object); - kryo.writeClassAndObject(buffer, object); - byte[] data; - if (buffer.hasArray()) - { - data = new byte[buffer.position()]; - buffer.flip(); - buffer.get(data); - } - else - { - LOG.error("Kryo wasn't able to serialize: '{}'", object); - data = null; - } - - // release the memory for the buffer - buffer.clear(); - buffer = null; - System.runFinalization(); - - return data; - } - - @Override - public Object deserialize(byte[] data) - { - ByteBuffer buffer = ByteBuffer.wrap(data); - Object object = kryo.readClassAndObject(buffer); - LOG.debug("Deserialized: '{}'", object); - - // release the memory for the buffer - buffer.clear(); - buffer = null; - System.runFinalization(); - - return object; - } - - /** - * Creates the buffer that will be used to serialize the {@code target} - * - * @param target - * the object that will be serialized. Can be used to decide dynamically what size to - * use - * @return the buffer that will be used to serialize the {@code target} - */ - protected ByteBuffer getBuffer(Object target) - { - return ByteBuffer.allocate((int)bufferSize.bytes()); - } - - /** - * Configures {@link Kryo} with some custom {@link Serializer}s and registers some known Wicket - * classes which are known to be serialized sooner or later - * - * @param kryo - * the {@link Kryo} instance to configured - */ - private void internalInit(final Kryo kryo) - { - - kryo.register(Arrays.asList("").getClass(), new ArraysAsListSerializer(kryo)); - kryo.register(Class.class, new ClassSerializer(kryo)); - kryo.register(Collections.EMPTY_LIST.getClass(), new CollectionsEmptyListSerializer()); - kryo.register(Collections.EMPTY_MAP.getClass(), new CollectionsEmptyMapSerializer()); - kryo.register(Collections.EMPTY_SET.getClass(), new CollectionsEmptySetSerializer()); - kryo.register(Collections.singletonList("").getClass(), - new CollectionsSingletonListSerializer(kryo)); - kryo.register(Collections.singleton("").getClass(), new CollectionsSingletonSetSerializer( - kryo)); - kryo.register(Collections.singletonMap("", "").getClass(), - new CollectionsSingletonMapSerializer(kryo)); - kryo.register(Currency.class, new CurrencySerializer(kryo)); - kryo.register(GregorianCalendar.class, new GregorianCalendarSerializer()); - kryo.register(InvocationHandler.class, new JdkProxySerializer(kryo)); - kryo.register(StringBuffer.class, new StringBufferSerializer(kryo)); - kryo.register(StringBuilder.class, new StringBuilderSerializer(kryo)); - UnmodifiableCollectionsSerializer.registerSerializers(kryo); - SynchronizedCollectionsSerializer.registerSerializers(kryo); - kryo.register(CGLibProxySerializer.CGLibProxyMarker.class, new CGLibProxySerializer(kryo)); - kryo.register(InvocationHandler.class, new JdkProxySerializer(kryo)); - - kryo.setRegistrationOptional(true); - kryo.register(Panel.class); - kryo.register(WebPage.class); - kryo.register(WebMarkupContainer.class); - kryo.register(Link.class); - kryo.register(Label.class); - kryo.register(ListView.class); - - init(kryo); - } - - /** - * A method which can be overridden by users to do more configuration - * - * @param kryo - * the {@link Kryo} instance to configure - */ - protected void init(final Kryo kryo) - { - - } -} \ No newline at end of file diff --git a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/WicketChildListSerializer.java b/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/WicketChildListSerializer.java deleted file mode 100644 index e79f6b1fea..0000000000 --- a/serializer-kryo/src/main/java/org/wicketstuff/pageserializer/kryo/WicketChildListSerializer.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2010 Martin Grotzke - * - * 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.wicketstuff.pageserializer.kryo; - -import org.apache.wicket.MarkupContainer; -import org.apache.wicket.serialize.ISerializer; - -import com.esotericsoftware.kryo.Kryo; -import com.esotericsoftware.kryo.serialize.FieldSerializer; - -/** - * A reworked WicketChildListSerializerFactory from memcached-session-manager project - * - * @author Martin Grotzke - */ -public class WicketChildListSerializer extends FieldSerializer -{ - - - private static final String SERIALIZED_CLASS_NAME = MarkupContainer.class.getName() + - "$ChildList"; - public static Class CLASS = null; - static - { - try - { - CLASS = Class.forName(SERIALIZED_CLASS_NAME, false, ISerializer.class.getClassLoader()); - } - catch (ClassNotFoundException e) - { - e.printStackTrace(); - } - } - - /** - * Creates a new instances. - * - * @param kryo - * the kryo instance that must be provided. - */ - public WicketChildListSerializer(final Kryo kryo) - { - super(kryo, CLASS); - } - -} \ No newline at end of file diff --git a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/HomePage.java b/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/HomePage.java deleted file mode 100644 index 2356e62bc3..0000000000 --- a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/HomePage.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.AjaxLink; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -public class HomePage extends WebPage -{ - private static final long serialVersionUID = 1L; - - public HomePage(final PageParameters parameters) - { - super(parameters); - - add(new Label("label", "Kryo Rocks!")); - - add(new AjaxLink("link") - { - private static final long serialVersionUID = 1L; - - @Override - public void onClick(AjaxRequestTarget target) - { - System.err.println("click"); - } - }); - - } -} diff --git a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/KryoSerializerTest.java b/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/KryoSerializerTest.java deleted file mode 100644 index 34f60eb507..0000000000 --- a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/KryoSerializerTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import org.apache.wicket.serialize.ISerializer; -import org.apache.wicket.util.tester.WicketTester; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - -/** - * Simple test using the WicketTester - */ -public class KryoSerializerTest -{ - private WicketTester tester; - - @Before - public void setUp() - { - tester = new WicketTester(new WicketApplication()); - } - - @After - public void tearDown() - { - tester.destroy(); - } - - @Test - public void homepageRendersSuccessfully() - { - // start and render the test page - HomePage page = tester.startPage(HomePage.class); - - // assert rendered page class - tester.assertRenderedPage(HomePage.class); - - ISerializer pageSerializer = tester.getApplication().getFrameworkSettings().getSerializer(); - Assert.assertTrue( - "The configured IObjectSerializer is not instance of KryoSerializer! Type: " + - pageSerializer.getClass(), pageSerializer instanceof KryoSerializer); - - byte[] data = pageSerializer.serialize(page); - Assert.assertNotNull("The produced data should not be null!", data); - - // data length can fluctuate based on the object field values - Assert.assertTrue("The produced data length is not correct!", data.length > 300); - - Object object = pageSerializer.deserialize(data); - Assert.assertTrue( - "The deserialized page must be of type HomePage. Type: " + object.getClass(), - object instanceof HomePage); - - } -} diff --git a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/Start.java b/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/Start.java deleted file mode 100644 index a473457696..0000000000 --- a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/Start.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import org.eclipse.jetty.server.HttpConfiguration; -import org.eclipse.jetty.server.HttpConnectionFactory; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.webapp.WebAppContext; - -public class Start -{ - - public static void main(String[] args) throws Exception - { - Server server = new Server(); - - HttpConfiguration http_config = new HttpConfiguration(); - http_config.setSecureScheme("https"); - http_config.setSecurePort(8443); - http_config.setOutputBufferSize(32768); - - ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(http_config)); - http.setPort(8080); - http.setIdleTimeout(1000 * 60 * 60); - - server.addConnector(http); - - WebAppContext bb = new WebAppContext(); - bb.setServer(server); - bb.setContextPath("/"); - bb.setWar("src/main/webapp"); - - // START JMX SERVER - // MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); - // MBeanContainer mBeanContainer = new MBeanContainer(mBeanServer); - // server.getContainer().addEventListener(mBeanContainer); - // mBeanContainer.start(); - - server.setHandler(bb); - - try - { - System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP"); - server.start(); - System.in.read(); - System.out.println(">>> STOPPING EMBEDDED JETTY SERVER"); - // while (System.in.available() == 0) { - // Thread.sleep(5000); - // } - server.stop(); - server.join(); - } - catch (Exception e) - { - e.printStackTrace(); - System.exit(100); - } - } -} diff --git a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/WicketApplication.java b/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/WicketApplication.java deleted file mode 100644 index 01711f6849..0000000000 --- a/serializer-kryo/src/test/java/org/wicketstuff/pageserializer/kryo/WicketApplication.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.wicketstuff.pageserializer.kryo; - -import org.apache.wicket.protocol.http.WebApplication; -import org.apache.wicket.util.lang.Bytes; - -import com.esotericsoftware.kryo.Kryo; - -/** - * Application object for your web application. If you want to run this application without - * deploying, run the Start class. - * - * @see org.wicketstuff.pageserializer.kryo.mycompany.Start#main(String[]) - */ -public class WicketApplication extends WebApplication -{ - @Override - public Class getHomePage() - { - return HomePage.class; - } - - @Override - public void init() - { - super.init(); - - getFrameworkSettings().setSerializer(new KryoSerializer(Bytes.bytes(1000)) - { - - @Override - protected Kryo createKryo() - { - return new DebuggingKryo()/* .blacklist(Some.class) */; - } - }); - } -} diff --git a/serializer-kryo/src/test/resources/log4j.properties b/serializer-kryo/src/test/resources/log4j.properties deleted file mode 100644 index 31666f9f8d..0000000000 --- a/serializer-kryo/src/test/resources/log4j.properties +++ /dev/null @@ -1,8 +0,0 @@ -log4j.appender.Stdout=org.apache.log4j.ConsoleAppender -log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n - -log4j.rootLogger=WARN,Stdout - -log4j.logger.org.apache.wicket=WARN -log4j.logger.org.wicketstuff=DEBUG diff --git a/serializer-kryo/src/test/resources/org/wicketstuff/pageserializer/kryo/HomePage.html b/serializer-kryo/src/test/resources/org/wicketstuff/pageserializer/kryo/HomePage.html deleted file mode 100644 index d5ab3fa91b..0000000000 --- a/serializer-kryo/src/test/resources/org/wicketstuff/pageserializer/kryo/HomePage.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Apache Wicket Quickstart - - - - -
- -
-
-

Congratulations!

-

- . -

- Click -
-
-
- - diff --git a/serializer-kryo/src/test/webapp/WEB-INF/web.xml b/serializer-kryo/src/test/webapp/WEB-INF/web.xml deleted file mode 100644 index ea0592d007..0000000000 --- a/serializer-kryo/src/test/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - quickstart - - - - - wicket.quickstart - org.apache.wicket.protocol.http.WicketFilter - - applicationClassName - org.wicketstuff.pageserializer.kryo.WicketApplication - - - - - wicket.quickstart - /* - - diff --git a/serializer-kryo/src/test/webapp/logo.png b/serializer-kryo/src/test/webapp/logo.png deleted file mode 100644 index 39ec54854b..0000000000 Binary files a/serializer-kryo/src/test/webapp/logo.png and /dev/null differ diff --git a/serializer-kryo/src/test/webapp/style.css b/serializer-kryo/src/test/webapp/style.css deleted file mode 100644 index fc137cadb0..0000000000 --- a/serializer-kryo/src/test/webapp/style.css +++ /dev/null @@ -1,68 +0,0 @@ -body, p, li, a { font-family: georgia, times, serif;font-size:13pt;} -h1, h2, h3 { font-family: 'Yanone Kaffeesatz', arial, serif; } -body { margin:0;padding:0;} -#hd { - width : 100%; - height : 87px; - background-color : #092E67; - margin-top : 0; - padding-top : 10px; - border-bottom : 1px solid #888; - z-index : 0; -} -#ft { - position : absolute; - bottom : 0; - width : 100%; - height : 99px; - background-color : #6493D2; - border-top : 1px solid #888; - z-index : 0; -} -#logo,#bd { - width : 650px; - margin: 0 auto; - padding: 25px 50px 0 50px; -} -#logo h1 { - color : white; - font-size:36pt; - display: inline; -} -#logo img { - display:inline; - vertical-align: bottom; - margin-left : 50px; - margin-right : 5px; -} -body { margin-top : 0; padding-top : 0;} -#logo, #logo h1 { margin-top : 0; padding-top : 0;} -#bd { - position : absolute; - top : 75px; - bottom : 75px; - left : 50%; - margin-left : -325px; - z-index : 1; - overflow: auto; - background-color : #fff; - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - -moz-box-shadow: 0px 0px 10px #888; - -webkit-box-shadow: 0px 0px 10px #888; - box-shadow: 0px 0px 10px #888; -} -a, a:visited, a:hover, a:active { - color : #6493D2; -} -h2 { - padding : 0; margin:0; - font-size:36pt; - color:#FF5500; -} -h3 { - padding : 0; margin:0; - font-size:24pt; - color:#092E67; -} \ No newline at end of file diff --git a/serializer-kryo2/pom.xml b/serializer-kryo2/pom.xml index 84c01a14fc..c24ffe6348 100644 --- a/serializer-kryo2/pom.xml +++ b/serializer-kryo2/pom.xml @@ -1,46 +1,40 @@ - - 4.0.0 + + 4.0.0 - - org.wicketstuff - wicketstuff-core - 8.0.0-SNAPSHOT - + + org.wicketstuff + wicketstuff-core + 8.0.0-SNAPSHOT + - wicketstuff-serializer-kryo2 + wicketstuff-serializer-kryo2 - WicketStuff Kryo2 serializer - ISerializer based on http://code.google.com/p/kryo/ (v2) + WicketStuff Kryo2 serializer + ISerializer based on https://github.com/magro/kryo-serializers (v4) - - - junit - junit - - - org.wicketstuff - wicketstuff-serializer-common - ${project.parent.version} - - - - de.javakaffee - kryo-serializers - 0.22 - - - org.eclipse.jetty.aggregate - jetty-all - uber - - + + org.wicketstuff + wicketstuff-serializer-common + ${project.parent.version} + + + de.javakaffee + kryo-serializers + 0.42 + + + org.eclipse.jetty.aggregate + jetty-all + uber + + diff --git a/serializer-kryo2/src/test/java/org/wicketstuff/pageserializer/kryo2/KryoSerializerTest.java b/serializer-kryo2/src/test/java/org/wicketstuff/pageserializer/kryo2/KryoSerializerTest.java index e777686c4d..582238c4d7 100644 --- a/serializer-kryo2/src/test/java/org/wicketstuff/pageserializer/kryo2/KryoSerializerTest.java +++ b/serializer-kryo2/src/test/java/org/wicketstuff/pageserializer/kryo2/KryoSerializerTest.java @@ -66,7 +66,7 @@ public void homepageRendersSuccessfully() Assert.assertNotNull("The produced data should not be null!", data); // data length can fluctuate based on the object field values - Assert.assertEquals("The produced data length is not correct!", 654, data.length); + Assert.assertEquals("The produced data length is not correct!", 659, data.length); Object object = pageSerializer.deserialize(data); Assert.assertTrue(