@CheckForNull public PropertyDto selectGlobalProperty(String propertyKey) { try (DbSession session = mybatis.openSession(false)) { return selectGlobalProperty(session, propertyKey); } }
private Optional<ServerId> readCurrentServerId(DbSession dbSession) { PropertyDto dto = dbClient.propertiesDao().selectGlobalProperty(dbSession, SERVER_ID); if (dto == null) { return Optional.empty(); } String value = dto.getValue(); if (isEmpty(value)) { return Optional.empty(); } return Optional.of(ServerId.parse(value)); }
@Override public String load(String key) { PropertyDto dto = dbClient.propertiesDao().selectGlobalProperty(key); if (dto != null) { return defaultString(dto.getValue()); } return null; }
private static String selectProperty(DbClient dbClient, DbSession dbSession, String key) { PropertyDto prop = dbClient.propertiesDao().selectGlobalProperty(dbSession, key); checkState(prop != null, "Property %s is missing in database", key); checkState(!isBlank(prop.getValue()), "Property %s is set but empty in database", key); return prop.getValue(); } }
private Optional<PropertyDto> selectPropertyDto(DbSession dbSession, String settingKey, Optional<ComponentDto> componentDto) { if (componentDto.isPresent()) { return Optional.ofNullable(dbClient.propertiesDao().selectProjectProperty(dbSession, componentDto.get().getId(), settingKey)); } else { return Optional.ofNullable(dbClient.propertiesDao().selectGlobalProperty(dbSession, settingKey)); } }
private void ensureServerIdIsValid(DbSession dbSession) { PropertyDto id = dbClient.propertiesDao().selectGlobalProperty(dbSession, SERVER_ID); checkState(id != null, "Property %s is missing in database", SERVER_ID); checkState(isNotEmpty(id.getValue()), "Property %s is empty in database", SERVER_ID); Optional<String> checksum = dbClient.internalPropertiesDao().selectByKey(dbSession, SERVER_ID_CHECKSUM); checkState(checksum.isPresent(), "Internal property %s is missing in database", SERVER_ID_CHECKSUM); checkState(checksum.get().equals(serverIdChecksum.computeFor(id.getValue())), "Server ID is invalid"); }
private void assertGlobalPropertyExists(String key) { assertThat(dbClient.propertiesDao().selectGlobalProperty(dbSession, key)).isNotNull(); }
private void assertGlobalPropertyExists(String key) { assertThat(dbClient.propertiesDao().selectGlobalProperty(dbSession, key)).isNotNull(); }
@Override public void onGlobalPropertyChange(String key, @Nullable String value) { wasCalled = true; PropertyDto property = dbClient.propertiesDao().selectGlobalProperty(key); assertThat(property.getValue()).isEqualTo(value); }
private void assertGlobalPropertyDoesNotExist(String key) { assertThat(dbClient.propertiesDao().selectGlobalProperty(dbSession, key)).isNull(); }
private void assertGlobalPropertyDoesNotExist(String key) { assertThat(dbClient.propertiesDao().selectGlobalProperty(dbSession, key)).isNull(); }
private void assertGlobalSetting(String key, String value) { PropertyDto result = dbClient.propertiesDao().selectGlobalProperty(key); assertThat(result) .extracting(PropertyDto::getKey, PropertyDto::getValue, PropertyDto::getResourceId) .containsExactly(key, value, null); }
private void assertPersistedProperty(String propertyKey, String expectedValue) { PropertyDto prop = dbTester.getDbClient().propertiesDao().selectGlobalProperty(dbTester.getSession(), propertyKey); assertThat(prop.getValue()).isEqualTo(expectedValue); } }
private void assertPersistedProperty(String propertyKey, String expectedValue) { PropertyDto prop = dbTester.getDbClient().propertiesDao().selectGlobalProperty(dbTester.getSession(), propertyKey); assertThat(prop.getValue()).isEqualTo(expectedValue); }
private void assertNotPersistedProperty(String propertyKey) { PropertyDto prop = dbTester.getDbClient().propertiesDao().selectGlobalProperty(dbTester.getSession(), propertyKey); assertThat(prop).isNull(); } }
@Test public void insert_property_into_database_and_notify_extensions() { assertThat(underTest.getString("foo")).isNull(); underTest.saveProperty("foo", "bar"); assertThat(underTest.getString("foo")).isEqualTo("bar"); assertThat(dbTester.getDbClient().propertiesDao().selectGlobalProperty("foo").getValue()).isEqualTo("bar"); verify(changeNotifier).onGlobalPropertyChange("foo", "bar"); }
@Test public void selectGlobalProperty() { // global insertProperty("global.one", "one", null, null); insertProperty("global.two", "two", null, null); // project insertProperty("project.one", "one", 10L, null); // user insertProperty("user.one", "one", null, 100); assertThatDto(underTest.selectGlobalProperty("global.one")) .hasNoResourceId() .hasNoUserId() .hasValue("one"); assertThat(underTest.selectGlobalProperty("project.one")).isNull(); assertThat(underTest.selectGlobalProperty("user.one")).isNull(); assertThat(underTest.selectGlobalProperty("unexisting")).isNull(); }
private void verifyDb(ServerId expectedServerId, String expectedChecksum) { assertThat(dbClient.propertiesDao().selectGlobalProperty(dbSession, CoreProperties.SERVER_ID)) .extracting(PropertyDto::getValue) .containsExactly(expectedServerId.toString()); assertThat(dbClient.internalPropertiesDao().selectByKey(dbSession, InternalProperties.SERVER_ID_CHECKSUM)) .hasValue(expectedChecksum); }
@Test public void delete_property_from_database_and_notify_extensions() { underTest.saveProperty("foo", "bar"); underTest.saveProperty("foo", null); assertThat(underTest.getString("foo")).isNull(); assertThat(dbTester.getDbClient().propertiesDao().selectGlobalProperty("foo")).isNull(); verify(changeNotifier).onGlobalPropertyChange("foo", null); }
@Test @UseDataProvider("allValuesForSelect") public void selectGlobalProperty_supports_all_values(String dbValue, String expected) { insertProperty("global.one", dbValue, null, null); assertThatDto(underTest.selectGlobalProperty("global.one")) .hasNoResourceId() .hasNoUserId() .hasValue(expected); }