Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial version of wicket fast serializer

  • Loading branch information...
commit 6d12340534c9f6da9579496d46bf3f19ded40e2f 1 parent 53860cd
@michaelmosmann michaelmosmann authored
Showing with 1,166 additions and 1 deletion.
  1. +2 −1  .gitignore
  2. +4 −0 jdk-1.6-parent/serializer-fast/README.md
  3. +18 −0 jdk-1.6-parent/serializer-fast/lic/header.txt
  4. +56 −0 jdk-1.6-parent/serializer-fast/pom.xml
  5. +22 −0 jdk-1.6-parent/serializer-fast/refreshLicense.sh
  6. +10 −0 ...1.6-parent/serializer-fast/src/main/java/org/wicketstuff/pageserializer/fast/FastWicketSerialException.java
  7. +70 −0 jdk-1.6-parent/serializer-fast/src/main/java/org/wicketstuff/pageserializer/fast/FastWicketSerializer.java
  8. +51 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/HomePage.java
  9. +129 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/KryoSerializerTest.java
  10. +73 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/Start.java
  11. +63 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/WicketApplication.java
  12. +23 −0 ...rent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/NotSerializablePanel.html
  13. +38 −0 ...rent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/NotSerializablePanel.java
  14. +34 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/SamplePanel.html
  15. +57 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/SamplePanel.java
  16. +34 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/examples/SamplePage.html
  17. +44 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/examples/SamplePage.java
  18. +37 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/ListViewPage.html
  19. +53 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/ListViewPage.java
  20. +25 −0 ...1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/NotSerializablePage.html
  21. +35 −0 ...1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/NotSerializablePage.java
  22. +33 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/SamplePage.html
  23. +36 −0 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/SamplePage.java
  24. +29 −0 jdk-1.6-parent/serializer-fast/src/test/resources/log4j.properties
  25. +48 −0 jdk-1.6-parent/serializer-fast/src/test/resources/org/wicketstuff/pageserializer/fast/HomePage.html
  26. +54 −0 jdk-1.6-parent/serializer-fast/src/test/webapp/WEB-INF/web.xml
  27. BIN  jdk-1.6-parent/serializer-fast/src/test/webapp/logo.png
  28. +88 −0 jdk-1.6-parent/serializer-fast/src/test/webapp/style.css
View
3  .gitignore
@@ -8,4 +8,5 @@ velocity.log
META-INF
.scala_dependencies
.externalToolBuilders
-*~
+*~
+
View
4 jdk-1.6-parent/serializer-fast/README.md
@@ -0,0 +1,4 @@
+Fast Wicket Serializer Project
+===
+
+
View
18 jdk-1.6-parent/serializer-fast/lic/header.txt
@@ -0,0 +1,18 @@
+Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+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.
View
56 jdk-1.6-parent/serializer-fast/pom.xml
@@ -0,0 +1,56 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>jdk-1.6-parent</artifactId>
+ <version>6.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>wicketstuff-serializer-fast</artifactId>
+
+ <name>WicketStuff Fast Serializer</name>
+ <description>ISerializer based on https://code.google.com/p/fast-serialization/</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>de.ruedigermoeller</groupId>
+ <artifactId>fst</artifactId>
+ <version>1.27</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all-server</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <!-- USAGE: mvn license:check OR mvn license:format -->
+ <groupId>com.mycila.maven-license-plugin</groupId>
+ <artifactId>maven-license-plugin</artifactId>
+ <configuration>
+ <header>${header.location}</header>
+ <excludes>
+ <exclude>src/test/java/**.tree</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <properties>
+ <header.location>lic/header.txt</header.location>
+ </properties>
+</project>
View
22 jdk-1.6-parent/serializer-fast/refreshLicense.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+#
+# Copyright (C) 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+#
+# 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.
+#
+
+mvn license:format
+
View
10 ...-parent/serializer-fast/src/main/java/org/wicketstuff/pageserializer/fast/FastWicketSerialException.java
@@ -0,0 +1,10 @@
+package org.wicketstuff.pageserializer.fast;
+
+
+public class FastWicketSerialException extends RuntimeException {
+
+ public FastWicketSerialException(String message, Exception cause) {
+ super(message, cause);
+ }
+
+}
View
70 jdk-1.6-parent/serializer-fast/src/main/java/org/wicketstuff/pageserializer/fast/FastWicketSerializer.java
@@ -0,0 +1,70 @@
+package org.wicketstuff.pageserializer.fast;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+import org.apache.wicket.serialize.ISerializer;
+import org.apache.wicket.util.io.ByteArrayOutputStream;
+import org.apache.wicket.util.lang.Args;
+import org.apache.wicket.util.lang.Bytes;
+
+import de.ruedigermoeller.serialization.FSTConfiguration;
+import de.ruedigermoeller.serialization.FSTObjectInput;
+import de.ruedigermoeller.serialization.FSTObjectOutput;
+
+
+public class FastWicketSerializer implements ISerializer{
+
+ /**
+ * 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;
+
+ static final FSTConfiguration fastSerialConfig = FSTConfiguration.createDefaultConfiguration();
+
+ public FastWicketSerializer(Bytes bufferSize) {
+ this.bufferSize = Args.notNull(bufferSize, "bufferSize");
+ }
+
+
+
+ @Override
+ public byte[] serialize(Object object) {
+
+ try {
+ ByteArrayOutputStream buffer = new ByteArrayOutputStream((int) this.bufferSize.bytes());
+ FSTObjectOutput out = fastSerialConfig.getObjectOutput(buffer);
+ out.writeObject(object);
+ // DON'T out.close() when using factory method;
+ out.flush();
+ buffer.close();
+ return buffer.toByteArray();
+ } catch (RuntimeException e) {
+ throw new FastWicketSerialException("serialize",e);
+ } catch (IOException e) {
+ throw new FastWicketSerialException("serialize",e);
+ }
+ }
+
+ @Override
+ public Object deserialize(byte[] data) {
+ try {
+ ByteArrayInputStream buffer=new ByteArrayInputStream(data);
+
+ FSTObjectInput in = fastSerialConfig.getObjectInput(buffer);
+ Object result = in.readObject();
+ // DON'T: in.close(); here prevents reuse and will result in an exception
+ buffer.close();
+ return result;
+
+ } catch (IOException e) {
+ throw new FastWicketSerialException("deserialize", e);
+ } catch (ClassNotFoundException e) {
+ throw new FastWicketSerialException("deserialize", e);
+ }
+ }
+
+}
View
51 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/HomePage.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast;
+
+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<Void>("link")
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick(AjaxRequestTarget target)
+ {
+ System.err.println("click");
+ }
+ });
+
+ }
+}
View
129 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/KryoSerializerTest.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast;
+
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+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;
+import org.wicketstuff.pageserializer.fast.FastWicketSerialException;
+import org.wicketstuff.pageserializer.fast.FastWicketSerializer;
+import org.wicketstuff.pageserializer.fast.pages.NotSerializablePage;
+import org.wicketstuff.pageserializer.fast.pages.SamplePage;
+
+/**
+ * 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 = getAndCheckSerializer();
+
+ 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.assertEquals("The produced data length is not correct!", 444, data.length);
+
+ Object object = pageSerializer.deserialize(data);
+ Assert.assertTrue(
+ "The deserialized page must be of type HomePage. Type: " + object.getClass(),
+ object instanceof HomePage);
+
+ }
+
+ @Test
+ public void samplepageRendersSuccessfully()
+ {
+ // start and render the test page
+ SamplePage page = tester.startPage(SamplePage.class,
+ new PageParameters().add("Test", "asString"));
+
+ // assert rendered page class
+ tester.assertRenderedPage(SamplePage.class);
+
+ ISerializer pageSerializer = getAndCheckSerializer();
+
+ byte[] data = pageSerializer.serialize(page);
+ Assert.assertNotNull("The produced data should not be null!", data);
+
+ Object object = pageSerializer.deserialize(data);
+ Assert.assertTrue(
+ "The deserialized page must be of type HomePage. Type: " + object.getClass(),
+ object instanceof SamplePage);
+
+ SamplePage samplePage = (SamplePage)object;
+
+ tester.startPage(samplePage);
+
+ // assert rendered page class
+ tester.assertRenderedPage(SamplePage.class);
+ }
+
+ @Test(expected=FastWicketSerialException.class)
+ public void notSerializableCompontentThrowsException()
+ {
+
+ NotSerializablePage page = tester.startPage(NotSerializablePage.class,
+ new PageParameters().add("Test", "asString"));
+
+ // assert rendered page class
+ tester.assertRenderedPage(NotSerializablePage.class);
+
+ ISerializer pageSerializer = getAndCheckSerializer();
+
+ byte[] data = pageSerializer.serialize(page);
+ }
+
+ private ISerializer getAndCheckSerializer()
+ {
+ ISerializer pageSerializer = tester.getApplication().getFrameworkSettings().getSerializer();
+ Assert.assertTrue(
+ "The configured IObjectSerializer is not instance of KryoSerializer! Type: " +
+ pageSerializer.getClass(), pageSerializer instanceof FastWicketSerializer);
+ return pageSerializer;
+ }
+}
View
73 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/Start.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast;
+
+import org.eclipse.jetty.server.Connector;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.bio.SocketConnector;
+import org.eclipse.jetty.webapp.WebAppContext;
+
+public class Start
+{
+
+ public static void main(String[] args) throws Exception
+ {
+ Server server = new Server();
+ SocketConnector connector = new SocketConnector();
+
+ // Set some timeout options to make debugging easier.
+ connector.setMaxIdleTime(1000 * 60 * 60);
+ connector.setSoLingerTime(-1);
+ connector.setPort(8080);
+ server.setConnectors(new Connector[] { connector });
+
+ WebAppContext bb = new WebAppContext();
+ bb.setServer(server);
+ bb.setContextPath("/");
+ bb.setWar("src/test/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);
+ }
+ }
+}
View
63 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/WicketApplication.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast;
+
+import java.io.File;
+import java.util.UUID;
+
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.lang.Bytes;
+import org.wicketstuff.pageserializer.fast.FastWicketSerializer;
+
+/**
+ * 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<HomePage> getHomePage()
+ {
+ return HomePage.class;
+ }
+
+ @Override
+ public void init()
+ {
+ super.init();
+
+ getFrameworkSettings().setSerializer(new FastWicketSerializer(Bytes.bytes(1024*1024)));
+ }
+
+ private File tempDirectory(String prefix) {
+ File baseDir = new File(System.getProperty("java.io.tmpdir"));
+ String baseName = prefix + "-" + UUID.randomUUID().toString();
+
+ File tempDir = new File(baseDir, baseName);
+ if (tempDir.mkdir()) {
+ return tempDir;
+ }
+
+ throw new RuntimeException("Could not create tempdir " + baseName + " in " + baseDir);
+ }
+}
View
23 ...t/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/NotSerializablePanel.html
@@ -0,0 +1,23 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<wicket:panel></wicket:panel>
View
38 ...t/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/NotSerializablePanel.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.components;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class NotSerializablePanel extends Panel
+{
+ private final IsNotSerializableObject aField = new IsNotSerializableObject();
+
+ public NotSerializablePanel(String id)
+ {
+ super(id);
+ }
+
+ static class IsNotSerializableObject
+ {
+ String name;
+ }
+}
View
34 ...1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/SamplePanel.html
@@ -0,0 +1,34 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<wicket:panel>
+ <p>Sample Panel
+ <div wicket:id="container">
+ <wicket:container wicket:id="empty"></wicket:container>
+
+ <ul>
+ <li wicket:id="list"><span wicket:id="label"></span></li>
+ </ul>
+
+ </div>
+ </p>
+</wicket:panel>
View
57 ...1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/components/SamplePanel.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.components;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.EmptyPanel;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class SamplePanel extends Panel
+{
+ public SamplePanel(String id)
+ {
+ super(id);
+
+ WebMarkupContainer container = new WebMarkupContainer("container");
+ container.add(new EmptyPanel("empty"));
+
+ List<Integer> list=new ArrayList<Integer>();
+ list.addAll(Arrays.asList(1,2,3,4,5,6));
+
+ container.add(new ListView<Integer>("list",list) {
+ @Override
+ protected void populateItem(ListItem<Integer> item)
+ {
+ item.add(new Label("label",item.getModel()));
+ }
+ });
+
+ add(container);
+ }
+
+}
View
34 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/examples/SamplePage.html
@@ -0,0 +1,34 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<html>
+ <head>
+ <title>Sample Page</title>
+ </head>
+ <body>
+ <h1>Sample Page</h1>
+
+ <ul>
+ <li wicket:id="list"><span wicket:id="label"></span></li>
+ </ul>
+ </body>
+</html>
View
44 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/examples/SamplePage.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.examples;
+
+import java.util.Arrays;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+
+public class SamplePage extends WebPage
+{
+ public SamplePage()
+ {
+ add(new ListView<String>("list", Arrays.asList("A", "B", "C"))
+ {
+ @Override
+ protected void populateItem(ListItem<String> item)
+ {
+ item.add(new Label("label",item.getModel()));
+
+ }
+ });
+ }
+}
View
37 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/ListViewPage.html
@@ -0,0 +1,37 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<html>
+ <head>
+ <title>ListView Page</title>
+ </head>
+ <body>
+ <ul>
+ <li wicket:id="list">
+ <span wicket:id="label"></span>
+ </li>
+ <li wicket:id="list2">
+ <span ></span>
+ </li>
+ </ul>
+ </body>
+</html>
View
53 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/ListViewPage.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.pages;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+
+public class ListViewPage extends WebPage
+{
+ public ListViewPage()
+ {
+ List<String> source = Arrays.asList("A", "B", "C");
+ add(new ListView<String>("list", source)
+ {
+ @Override
+ protected void populateItem(ListItem<String> item)
+ {
+ item.add(new Label("label",item.getModel()));
+ }
+ });
+
+ add(new ListView<String>("list2", source)
+ {
+ @Override
+ protected void populateItem(ListItem<String> item)
+ {
+ }
+ });
+ }
+}
View
25 ...-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/NotSerializablePage.html
@@ -0,0 +1,25 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<wicket:extend>
+ <wicket:container wicket:id="not"></wicket:container>
+</wicket:extend>
View
35 ...-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/NotSerializablePage.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.pages;
+
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.wicketstuff.pageserializer.fast.components.NotSerializablePanel;
+
+public class NotSerializablePage extends SamplePage
+{
+ public NotSerializablePage(PageParameters pageParameters)
+ {
+ super(pageParameters);
+
+ add(new NotSerializablePanel("not"));
+ }
+
+}
View
33 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/SamplePage.html
@@ -0,0 +1,33 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<html>
+ <head>
+ <title>Sample Page</title>
+ </head>
+ <body>
+ <h1>Sample Page</h1>
+ <wicket:container wicket:id="sample"></wicket:container>
+
+ <wicket:child />
+ </body>
+</html>
View
36 jdk-1.6-parent/serializer-fast/src/test/java/org/wicketstuff/pageserializer/fast/pages/SamplePage.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.wicketstuff.pageserializer.fast.pages;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.wicketstuff.pageserializer.fast.components.SamplePanel;
+
+public class SamplePage extends WebPage
+{
+ private final PageParameters pageParameters;
+
+ public SamplePage(PageParameters pageParameters)
+ {
+ this.pageParameters = pageParameters;
+ add(new SamplePanel("sample"));
+ }
+}
View
29 jdk-1.6-parent/serializer-fast/src/test/resources/log4j.properties
@@ -0,0 +1,29 @@
+#
+# Copyright (C)
+# 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+# 2012 Michael Mosmann <michael@mosmann.de>
+#
+# 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.
+#
+
+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
View
48 jdk-1.6-parent/serializer-fast/src/test/resources/org/wicketstuff/pageserializer/fast/HomePage.html
@@ -0,0 +1,48 @@
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8" />
+ <title>Apache Wicket Quickstart</title>
+ <link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:regular,bold' rel='stylesheet' type='text/css' />
+ <link rel="stylesheet" href="style.css" type="text/css" media="screen" title="Stylesheet" charset="utf-8" />
+ </head>
+ <body>
+ <div id="hd">
+ <div id="logo">
+ <img src="logo.png" width="50px" height="50px" alt="Wicket Logo" />
+ <h1>Apache Wicket</h1>
+ </div>
+ </div>
+ <div id="bd">
+ <h2>Congratulations!</h2>
+ <p>
+ <span wicket:id="label"></span>.
+ </p>
+ <a wicket:id="link">Click</a>
+ </div>
+ <div id="ft">
+ </div>
+ </body>
+</html>
View
54 jdk-1.6-parent/serializer-fast/src/test/webapp/WEB-INF/web.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+ Copyright (C)
+ 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ 2012 Michael Mosmann <michael@mosmann.de>
+
+ 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.
+
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+ version="2.5">
+
+ <display-name>quickstart</display-name>
+
+ <!--
+ There are three means to configure Wickets configuration mode and they
+ are tested in the order given.
+
+ 1) A system property: -Dwicket.configuration
+ 2) servlet specific <init-param>
+ 3) context specific <context-param>
+
+ The value might be either "development" (reloading when templates change) or
+ "deployment". If no configuration is found, "development" is the default. -->
+
+ <filter>
+ <filter-name>wicket.quickstart</filter-name>
+ <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
+ <init-param>
+ <param-name>applicationClassName</param-name>
+ <param-value>org.wicketstuff.pageserializer.kryo2.WicketApplication</param-value>
+ </init-param>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>wicket.quickstart</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+</web-app>
View
BIN  jdk-1.6-parent/serializer-fast/src/test/webapp/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
88 jdk-1.6-parent/serializer-fast/src/test/webapp/style.css
@@ -0,0 +1,88 @@
+/**
+ * Copyright (C)
+ * 2008 Jeremy Thomerson <jeremy@thomersonfamily.com>
+ * 2012 Michael Mosmann <michael@mosmann.de>
+ *
+ * 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.
+ */
+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;
+}
Please sign in to comment.
Something went wrong with that request. Please try again.