introduced custom field serializers for com.sap.sse.common types in com.sap.sse.gwt;

This avoids a direct dependency of com.sap.sse.common on GWT code. The custom field serializers are
bundled in a new module "SSECommonSerializers" which is inherited by the SSESharedGWT module and hence
exposed to all modules inheriting SSESharedGWT.

Further classes in com.sap.sailing.domain.common could have final fields and no no-arg constructor.
Started with ImageSizeImpl. The corresponding custom field serializers can go to com.sap.sailing.gwt.ui
which is the GWT-dependent module using the com.sap.sailing.domain.common stuff.
This commit is contained in:
Axel Uhl committed 2015-04-04 01:00:02 +02:00
1 parent 9686605f2c
commit e7ec7403ef
11 files changed
+168 -21

No files matched your search

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<source path='impl'/>
</module>
@@ -0,0 +1,52 @@
package com.sap.sse.common.impl;
import com.google.gwt.user.client.rpc.CustomFieldSerializer;
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.client.rpc.SerializationStreamReader;
import com.google.gwt.user.client.rpc.SerializationStreamWriter;
import com.sap.sse.common.impl.HSVColor;
public class HSVColor_CustomFieldSerializer extends CustomFieldSerializer<HSVColor> {
public static void serialize(SerializationStreamWriter streamWriter, HSVColor instance) throws SerializationException {
streamWriter.writeFloat(instance.getHue());
streamWriter.writeFloat(instance.getSaturation());
streamWriter.writeFloat(instance.getBrightness());
}
public static HSVColor instantiate(SerializationStreamReader streamReader) throws SerializationException {
final float hue = streamReader.readFloat();
final float saturation = streamReader.readFloat();
final float brightness = streamReader.readFloat();
return new HSVColor(hue, saturation, brightness);
}
public static boolean hasCustomInstantiate() {
return true;
}
public static void deserialize(SerializationStreamReader streamReader, HSVColor instance)
throws SerializationException {
// no operation
}
@Override
public void serializeInstance(SerializationStreamWriter streamWriter, HSVColor instance) throws SerializationException {
serialize(streamWriter, instance);
}
@Override
public HSVColor instantiateInstance(SerializationStreamReader streamReader) throws SerializationException {
return instantiate(streamReader);
}
@Override
public boolean hasCustomInstantiateInstance() {
return hasCustomInstantiate();
}
@Override
public void deserializeInstance(SerializationStreamReader streamReader, HSVColor instance)
throws SerializationException {
deserialize(streamReader, instance);
}
}
@@ -0,0 +1,52 @@
package com.sap.sse.common.impl;
import com.google.gwt.user.client.rpc.CustomFieldSerializer;
import com.google.gwt.user.client.rpc.SerializationException;
import com.google.gwt.user.client.rpc.SerializationStreamReader;
import com.google.gwt.user.client.rpc.SerializationStreamWriter;
import com.sap.sse.common.impl.RGBColor;
public class RGBColor_CustomFieldSerializer extends CustomFieldSerializer<RGBColor> {
public static void serialize(SerializationStreamWriter streamWriter, RGBColor instance) throws SerializationException {
streamWriter.writeInt(instance.getRed());
streamWriter.writeInt(instance.getGreen());
streamWriter.writeInt(instance.getBlue());
}
public static RGBColor instantiate(SerializationStreamReader streamReader) throws SerializationException {
final int red = streamReader.readInt();
final int green = streamReader.readInt();
final int blue = streamReader.readInt();
return new RGBColor(red, green, blue);
}
public static boolean hasCustomInstantiate() {
return true;
}
public static void deserialize(SerializationStreamReader streamReader, RGBColor instance)
throws SerializationException {
// no operation
}
@Override
public void serializeInstance(SerializationStreamWriter streamWriter, RGBColor instance) throws SerializationException {
serialize(streamWriter, instance);
}
@Override
public RGBColor instantiateInstance(SerializationStreamReader streamReader) throws SerializationException {
return instantiate(streamReader);
}
@Override
public boolean hasCustomInstantiateInstance() {
return hasCustomInstantiate();
}
@Override
public void deserializeInstance(SerializationStreamReader streamReader, RGBColor instance)
throws SerializationException {
deserialize(streamReader, instance);
}
}
@@ -2,6 +2,7 @@
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<inherits name="com.google.gwt.activity.Activity" />
<inherits name="com.sap.sse.common.SSECommonSerializers" />
<source path='client'/>
<source path='shared'/>
</module>