@Test public void equalsHashCode() throws JSONException { /* Empty objects. */ MetadataExtension a = new MetadataExtension(); MetadataExtension b = new MetadataExtension(); checkEquals(a, b); /* Properties. */ a.getMetadata().put("a", "b"); checkNotEquals(a, b); b.getMetadata().put("a", "b"); checkEquals(a, b); } }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Extensions that = (Extensions) o; if (metadata != null ? !metadata.equals(that.metadata) : that.metadata != null) return false; if (protocol != null ? !protocol.equals(that.protocol) : that.protocol != null) return false; if (user != null ? !user.equals(that.user) : that.user != null) return false; if (device != null ? !device.equals(that.device) : that.device != null) return false; if (os != null ? !os.equals(that.os) : that.os != null) return false; if (app != null ? !app.equals(that.app) : that.app != null) return false; if (net != null ? !net.equals(that.net) : that.net != null) return false; if (sdk != null ? !sdk.equals(that.sdk) : that.sdk != null) return false; return loc != null ? loc.equals(that.loc) : that.loc == null; }
@Override public int hashCode() { int result = metadata != null ? metadata.hashCode() : 0; result = 31 * result + (protocol != null ? protocol.hashCode() : 0); result = 31 * result + (user != null ? user.hashCode() : 0); result = 31 * result + (device != null ? device.hashCode() : 0); result = 31 * result + (os != null ? os.hashCode() : 0); result = 31 * result + (app != null ? app.hashCode() : 0); result = 31 * result + (net != null ? net.hashCode() : 0); result = 31 * result + (sdk != null ? sdk.hashCode() : 0); result = 31 * result + (loc != null ? loc.hashCode() : 0); return result; } }
MetadataExtension metadata = new MetadataExtension(); metadata.read(object.getJSONObject(METADATA)); setMetadata(metadata);
assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
@Test public void compareDifferentType() { TestUtils.compareSelfNullClass(new MetadataExtension()); }
getMetadata().write(writer); writer.endObject();
JSONObject expectedMetadata = new JSONObject(); expectedMetadata.put(METADATA_FIELDS, rootFields); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
MetadataExtension metadata = new MetadataExtension(); for (TypedProperty property : properties) { JSONObject destMetadata = metadata.getMetadata(); for (int i = 0; i < lastIndex; i++) { JSONObject baseMetaData = metadata.getMetadata().optJSONObject(METADATA_FIELDS); if (!cleanUpEmptyObjectsInMetadata(metadata.getMetadata())) { if (dest.getExt() == null) { dest.setExt(new Extensions());
JSONObject expectedMetadata = new JSONObject(); expectedMetadata.put(METADATA_FIELDS, rootFields); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
MetadataExtension metadata = new MetadataExtension(); metadata.getMetadata().put("f", new JSONObject()); a.setMetadata(metadata); checkNotEquals(a, b); b.setMetadata(new MetadataExtension()); checkNotEquals(a, b); b.getMetadata().getMetadata().put("f", new JSONObject()); checkEquals(a, b);
JSONObject expectedMetadata = new JSONObject(); expectedMetadata.put(METADATA_FIELDS, metadataFields); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString());
log.getExt().setMetadata(new MetadataExtension()); checkSerialization(serializer, log); log.getExt().getMetadata().getMetadata().put("f", new JSONObject()); checkSerialization(serializer, log);
@Test public void dateTimeTypedProperty() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); DateTimeTypedProperty property = new DateTimeTypedProperty(); property.setName("a"); property.setValue(new Date(100)); properties.add(property); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data. */ assertEquals(1, log.getData().getProperties().length()); assertEquals(new Date(100), JSONDateUtils.toDate(log.getData().getProperties().getString("a"))); /* Check metadata. */ JSONObject expectedMetadata = new JSONObject(); JSONObject a = new JSONObject(); a.put("a", DATA_TYPE_DATETIME); expectedMetadata.put(METADATA_FIELDS, a); assertNotNull(log.getExt()); assertNotNull(log.getExt().getMetadata()); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString()); }
@Test public void longTypedProperty() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); LongTypedProperty property = new LongTypedProperty(); property.setName("a"); property.setValue(10000000000L); properties.add(property); CommonSchemaDataUtils.addCommonSchemaData(properties, log); assertEquals(1, log.getData().getProperties().length()); assertEquals(10000000000L, log.getData().getProperties().getLong("a")); /* Check metadata. */ JSONObject expectedMetadata = new JSONObject(); JSONObject a = new JSONObject(); a.put("a", DATA_TYPE_INT64); expectedMetadata.put(METADATA_FIELDS, a); assertNotNull(log.getExt()); assertNotNull(log.getExt().getMetadata()); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString()); }
@Test public void doubleTypedProperty() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); List<TypedProperty> properties = new ArrayList<>(); DoubleTypedProperty property = new DoubleTypedProperty(); property.setName("a"); property.setValue(1.1); properties.add(property); CommonSchemaDataUtils.addCommonSchemaData(properties, log); /* Check data. */ assertEquals(1, log.getData().getProperties().length()); assertEquals(1.1, log.getData().getProperties().getDouble("a"), 0); /* Check metadata. */ JSONObject expectedMetadata = new JSONObject(); JSONObject a = new JSONObject(); a.put("a", DATA_TYPE_DOUBLE); expectedMetadata.put(METADATA_FIELDS, a); assertNotNull(log.getExt()); assertNotNull(log.getExt().getMetadata()); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString()); }
@Test public void longTypedPropertyReuseExtensions() throws JSONException { MockCommonSchemaLog log = new MockCommonSchemaLog(); Extensions ext = new Extensions(); log.setExt(ext); List<TypedProperty> properties = new ArrayList<>(); LongTypedProperty property = new LongTypedProperty(); property.setName("a"); property.setValue(10000000000L); properties.add(property); CommonSchemaDataUtils.addCommonSchemaData(properties, log); assertEquals(1, log.getData().getProperties().length()); assertEquals(10000000000L, log.getData().getProperties().getLong("a")); /* Check metadata. */ JSONObject expectedMetadata = new JSONObject(); JSONObject a = new JSONObject(); a.put("a", DATA_TYPE_INT64); expectedMetadata.put(METADATA_FIELDS, a); assertSame(ext, log.getExt()); assertNotNull(log.getExt().getMetadata()); assertEquals(expectedMetadata.toString(), log.getExt().getMetadata().getMetadata().toString()); }