Skip to content

Commit

Permalink
Changes for BAEL-1050: Added new field (eugenp#2282)
Browse files Browse the repository at this point in the history
  • Loading branch information
khatwaniNikhil authored and KevinGilmore committed Jul 20, 2017
1 parent 600d610 commit b558ade
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

public class AppleProduct implements Serializable {

private static final long serialVersionUID = 1234567L; // user-defined (i.e. not default or generated)
// private static final long serialVersionUID = 7654321L; // user-defined (i.e. not default or generated)
private static final long serialVersionUID = 1234567L; // user-defined (i.e. not default or generated)
// private static final long serialVersionUID = 7654321L; // user-defined (i.e. not default or generated)

public String headphonePort;
public String thunderboltPort;
public String lighteningPort;
public String lightningPort;

public String getHeadphonePort() {
return headphonePort;
Expand All @@ -23,4 +23,8 @@ public static long getSerialVersionUID() {
return serialVersionUID;
}

public String getLightningPort() {
return lightningPort;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ public class DeserializationUtility {

public static void main(String[] args) throws ClassNotFoundException, IOException {

String serializedObj = "rO0ABXNyACljb20uYmFlbGR1bmcuZGVzZXJpYWxpemF0aW9uLkFwcGxlUHJvZHVjdAAAAAAAEtaHAgADTAANaGVhZHBob25lUG9ydHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wADmxpZ2h0ZW5pbmdQb3J0cQB+AAFMAA90aHVuZGVyYm9sdFBvcnRxAH4AAXhwdAARaGVhZHBob25lUG9ydDIwMjBwdAATdGh1bmRlcmJvbHRQb3J0MjAyMA==";
String serializedObj = "rO0ABXNyACljb20uYmFlbGR1bmcuZGVzZXJpYWxpemF0aW9uLkFwcGxlUHJvZHVjdAAAAAAAEtaHAgADTAANaGVhZHBob25lUG9ydHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wADWxpZ2h0bmluZ1BvcnRxAH4AAUwAD3RodW5kZXJib2x0UG9ydHEAfgABeHB0ABFoZWFkcGhvbmVQb3J0MjAyMHQAEWxpZ2h0bmluZ1BvcnQyMDIwdAATdGh1bmRlcmJvbHRQb3J0MjAyMA==";
System.out.println("Deserializing AppleProduct...");
AppleProduct deserializedObj = (AppleProduct) deSerializeObjectFromString(serializedObj);
System.out.println("Headphone port of AppleProduct:" + deserializedObj.getHeadphonePort());
System.out.println("Thunderbolt port of AppleProduct:" + deserializedObj.getThunderboltPort());
System.out.println("LightningPort port of AppleProduct:" + deserializedObj.getLightningPort());
}

public static Object deSerializeObjectFromString(String s) throws IOException, ClassNotFoundException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public static void main(String[] args) throws ClassNotFoundException, IOExceptio
AppleProduct macBook = new AppleProduct();
macBook.headphonePort = "headphonePort2020";
macBook.thunderboltPort = "thunderboltPort2020";
macBook.lightningPort = "lightningPort2020";

String serializedObj = serializeObjectToString(macBook);
System.out.println("Serialized AppleProduct object to string:");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

public class DeserializationUnitTest {

private static final String serializedObj = "rO0ABXNyACljb20uYmFlbGR1bmcuZGVzZXJpYWxpemF0aW9uLkFwcGxlUHJvZHVjdAAAAAAAEtaHAgADTAANaGVhZHBob25lUG9ydHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wADmxpZ2h0ZW5pbmdQb3J0cQB+AAFMAA90aHVuZGVyYm9sdFBvcnRxAH4AAXhwdAARaGVhZHBob25lUG9ydDIwMjBwdAATdGh1bmRlcmJvbHRQb3J0MjAyMA==";
private static final String serializedObj = "rO0ABXNyACljb20uYmFlbGR1bmcuZGVzZXJpYWxpemF0aW9uLkFwcGxlUHJvZHVjdAAAAAAAdMuxAgADTAANaGVhZHBob25lUG9ydHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wADWxpZ2h0bmluZ1BvcnRxAH4AAUwAD3RodW5kZXJib2x0UG9ydHEAfgABeHB0ABFoZWFkcGhvbmVQb3J0MjAyMHQAEWxpZ2h0bmluZ1BvcnQyMDIwdAATdGh1bmRlcmJvbHRQb3J0MjAyMA";

private static long userDefinedSerialVersionUID = 1234567L;

Expand All @@ -25,20 +25,22 @@ public class DeserializationUnitTest {
public void testDeserializeObj_compatible() throws IOException, ClassNotFoundException {

assertEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID());

AppleProduct macBook = new AppleProduct();
macBook.headphonePort = "headphonePort2020";
macBook.thunderboltPort = "thunderboltPort2020";

macBook.lightningPort = "lightningPort2020";

// serializes the "AppleProduct" object
String serializedProduct = SerializationUtility.serializeObjectToString(macBook);

// deserializes the "AppleProduct" object
AppleProduct deserializedProduct = (AppleProduct) DeserializationUtility.deSerializeObjectFromString(serializedProduct);

assertTrue(deserializedProduct.headphonePort.equalsIgnoreCase(macBook.headphonePort));
assertTrue(deserializedProduct.thunderboltPort.equalsIgnoreCase(macBook.thunderboltPort));

assertTrue(deserializedProduct.lightningPort.equalsIgnoreCase(macBook.lightningPort));

}

/**
Expand All @@ -59,7 +61,6 @@ public void testDeserializeObj_compatible() throws IOException, ClassNotFoundExc
public void testDeserializeObj_incompatible() throws ClassNotFoundException, IOException {

assertNotEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID());

// attempts to deserialize the "AppleProduct" object
DeserializationUtility.deSerializeObjectFromString(serializedObj);
}
Expand Down

0 comments on commit b558ade

Please sign in to comment.