json-serialiser

removed hashcode from reference

5/11/2019 7:09:19 AM

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java b/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
index d97a3b9..4a42160 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
@@ -188,10 +188,8 @@ public class JSONSerialiser {
                 }
                 String[] internals = {"java.", "org.ietf.", "org.omg.", "org.w3c.", "org.xml."};
                 ignoredPackages.addAll(Arrays.asList(internals));
-                for (String ignoredPackage : ignoredPackages) {
-                    if (objectPackageName.startsWith(ignoredPackage)) {
-                        return serialiseString(String.valueOf(object));
-                    }
+                if (ignoredPackages.stream().anyMatch(ignoredPackage -> objectPackageName.startsWith(ignoredPackage))) {
+                    return getReference(object);
                 }
             }
             if (this.visited.stream().parallel().anyMatch(visited -> visited == object)) {
@@ -347,16 +345,8 @@ public class JSONSerialiser {
     }
 
     private static StringBuilder getReference(Object object) {
-        int hashCode;
-        try {
-            hashCode = object.hashCode();
-        } catch (Exception e) {
-            hashCode = object.getClass().hashCode();
-        }
-        return new StringBuilder().append("{\"r\":\"")
+        return new StringBuilder().append("{\"r\":\"@")
                 .append(object.getClass().getName())
-                .append("@")
-                .append(hashCode)
                 .append("\"}");
     }
 }