public void initialize() { DataSharingSettings existingDataSharingSettings = get(); if (existingDataSharingSettings == null) { createOrUpdate(new DataSharingSettings(true, "Default", new Date())); } if (new SystemEnvironment().shouldFailStartupOnDataError()) { assert get() != null; } register(this); }
public static DataSharingSettings fromJSON(JsonReader jsonReader, Username username, TimeProvider timeProvider, DataSharingSettings fromServer) { DataSharingSettings dataSharingSettings = new DataSharingSettings(); Boolean consent = jsonReader.optBoolean("allow").orElse(fromServer.allowSharing()); dataSharingSettings.setAllowSharing(consent); dataSharingSettings.setUpdatedBy(username.getUsername().toString()); dataSharingSettings.setUpdatedOn(new Timestamp(timeProvider.currentTimeMillis())); return dataSharingSettings; } }
@Test public void shouldCopyDataSharingAttributesFromProvidedObject() { Date currentUpdatedOn = new Date(); currentUpdatedOn.setTime(currentUpdatedOn.getTime() - 10000); DataSharingSettings current = new DataSharingSettings(false, "default", currentUpdatedOn); DataSharingSettings latest = new DataSharingSettings(true, "Bob", new Date()); assertThat(current.allowSharing(), is(not(latest.allowSharing()))); assertThat(current.updatedBy(), is(not(latest.updatedBy()))); assertThat(current.updatedOn().getTime(), is(not(latest.updatedOn().getTime()))); current.copyFrom(latest); assertThat(current.allowSharing(), is(latest.allowSharing())); assertThat(current.updatedBy(), is(latest.updatedBy())); assertThat(current.updatedOn().getTime(), is(latest.updatedOn().getTime())); }
@Test public void shouldNotCopyPersistentObjectIdWhileCopying() { DataSharingSettings current = new DataSharingSettings(); current.setId(1); DataSharingSettings latest = new DataSharingSettings(); latest.setId(2); assertThat(current.getId(), is(1L)); current.copyFrom(latest); assertThat(current.getId(), is(1L)); } }