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())); }
public static void toJSON(OutputWriter outputWriter, DataSharingSettings dataSharingSettings) { outputWriter .addLinks(linksWriter -> linksWriter.addLink("self", DataSharing.SETTINGS_PATH) .addAbsoluteLink("doc", DataSharing.SETTINGS_DOC)) .addChild("_embedded", childWriter -> { childWriter .add("allow", dataSharingSettings.allowSharing()) .add("updated_by", dataSharingSettings.updatedBy()) .add("updated_on", dataSharingSettings.updatedOn()); }); }
public UsageStatisticsReporting get() { UsageStatisticsReporting loaded = usageStatisticsReportingSqlMapDao.load(); loaded.setDataSharingServerUrl(systemEnvironment.getGoDataSharingServerUrl()); loaded.setDataSharingGetEncryptionKeysUrl(systemEnvironment.getGoDataSharingGetEncryptionKeysUrl()); boolean canReport = !isDevelopmentServer() && dataSharingSettingsService.get().allowSharing() && !isToday(loaded.lastReportedAt()) && !isReportingInProgress(); loaded.canReport(canReport); return loaded; }