@Override public int compareTo(final TypeSubTypeValue typeSubTypeValue) { if (null == typeSubTypeValue) { return 1; } int i = stringComparator.compare(type, typeSubTypeValue.getType()); if (i != 0) { return i; } i = stringComparator.compare(subType, typeSubTypeValue.getSubType()); if (i != 0) { return i; } return stringComparator.compare(value, typeSubTypeValue.getValue()); } }
String type = typeSubTypeValue.getType(); String subType = typeSubTypeValue.getSubType(); String value = typeSubTypeValue.getValue(); if ((null == type || type.isEmpty()) && (null == subType || subType.isEmpty()) && (null == value || value.isEmpty())) { throw new SerialisationException("TypeSubTypeValue passed to serialiser is blank");
@Test public void testCanSerialiseDeSerialiseCorrectly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue("testType", "testSubType", "testValue"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("testType\0testSubType\0testValue", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertEquals(typeSubTypeValue.getType(), deSerialisedTypeSubTypeValue.getType()); assertEquals(typeSubTypeValue.getSubType(), deSerialisedTypeSubTypeValue.getSubType()); assertEquals(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlySubTypeOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setSubType("testSubType"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("\0testSubType\0", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertNull(deSerialisedTypeSubTypeValue.getType()); assertEquals(typeSubTypeValue.getSubType(), deSerialisedTypeSubTypeValue.getSubType()); assertNull(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlyValueOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setValue("testValue"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("\0\0testValue", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertNull(deSerialisedTypeSubTypeValue.getType()); assertNull(deSerialisedTypeSubTypeValue.getSubType()); assertEquals(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlyTypeOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setType("testType"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("testType\0\0", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertEquals(typeSubTypeValue.getType(), deSerialisedTypeSubTypeValue.getType()); assertNull(deSerialisedTypeSubTypeValue.getSubType()); assertNull(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlyTypeValueOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setValue("testValue"); typeSubTypeValue.setType("testType"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("testType\0\0testValue", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertEquals(typeSubTypeValue.getType(), deSerialisedTypeSubTypeValue.getType()); assertNull(deSerialisedTypeSubTypeValue.getSubType()); assertEquals(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeserialiseCorrectlyAndBeEscaped() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue("testType", "testSubType", "testValue"); byte[] bytes = ByteArrayEscapeUtils.escape(serialiser.serialise(typeSubTypeValue)); String serialisedForm = new String(bytes); assertEquals("testType\1\1testSubType\1\1testValue", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(ByteArrayEscapeUtils.unEscape(bytes)); assertEquals(typeSubTypeValue.getType(), deSerialisedTypeSubTypeValue.getType()); assertEquals(typeSubTypeValue.getSubType(), deSerialisedTypeSubTypeValue.getSubType()); assertEquals(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlySubTypeValueOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setValue("testValue"); typeSubTypeValue.setSubType("testSubType"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("\0testSubType\0testValue", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertNull(deSerialisedTypeSubTypeValue.getType()); assertEquals(typeSubTypeValue.getSubType(), deSerialisedTypeSubTypeValue.getSubType()); assertEquals(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Test public void testCanSerialiseDeSerialiseCorrectlyTypeSubTypeOnly() throws SerialisationException { TypeSubTypeValue typeSubTypeValue = new TypeSubTypeValue(); typeSubTypeValue.setType("testType"); typeSubTypeValue.setSubType("testSubType"); byte[] bytes = serialiser.serialise(typeSubTypeValue); String serialisedForm = new String(bytes); assertEquals("testType\0testSubType\0", serialisedForm); TypeSubTypeValue deSerialisedTypeSubTypeValue = serialiser .deserialise(bytes); assertEquals(typeSubTypeValue.getType(), deSerialisedTypeSubTypeValue.getType()); assertEquals(typeSubTypeValue.getSubType(), deSerialisedTypeSubTypeValue.getSubType()); assertNull(typeSubTypeValue.getValue(), deSerialisedTypeSubTypeValue.getValue()); assertEquals(typeSubTypeValue, deSerialisedTypeSubTypeValue); }
@Override public int compareTo(final TypeSubTypeValue typeSubTypeValue) { if (null == typeSubTypeValue) { return 1; } int i = stringComparator.compare(type, typeSubTypeValue.getType()); if (i != 0) { return i; } i = stringComparator.compare(subType, typeSubTypeValue.getSubType()); if (i != 0) { return i; } return stringComparator.compare(value, typeSubTypeValue.getValue()); } }
@Override public Object[] serialise(final TypeSubTypeValue object) throws SerialisationException { if (null != object) { return new Object[]{object.getType(), object.getSubType(), object.getValue()}; } return new Object[]{null, null, null}; }
String type = typeSubTypeValue.getType(); String subType = typeSubTypeValue.getSubType(); String value = typeSubTypeValue.getValue(); if ((null == type || type.isEmpty()) && (null == subType || subType.isEmpty()) && (null == value || value.isEmpty())) { throw new SerialisationException("TypeSubTypeValue passed to serialiser is blank");
@Override public void write(final Kryo kryo, final Output output, final TypeSubTypeValue typeSubTypeValue) { output.writeString(typeSubTypeValue.getType()); output.writeString(typeSubTypeValue.getSubType()); output.writeString(typeSubTypeValue.getValue()); }