Polish contribution

Closes gh-5444
This commit is contained in:
Stephane Nicoll
2016-04-05 13:34:44 +02:00
parent 67f92bff1e
commit d4a1365a2a
7 changed files with 78 additions and 98 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2010-2013 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,7 +18,11 @@ package sample.data.gemfire;
import java.util.Properties;
import org.springframework.beans.factory.annotation.Autowired;
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.RegionAttributes;
import sample.data.gemfire.config.SampleDataGemFireProperties;
import sample.data.gemfire.domain.Gemstone;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -30,12 +34,6 @@ import org.springframework.data.gemfire.ReplicatedRegionFactoryBean;
import org.springframework.data.gemfire.repository.config.EnableGemfireRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import com.gemstone.gemfire.cache.Cache;
import com.gemstone.gemfire.cache.RegionAttributes;
import sample.data.gemfire.config.SampleDataGemFireApplicationProperties;
import sample.data.gemfire.domain.Gemstone;
/**
* The GemstoneAppConfiguration class for allowing Spring Boot to pick up additional
* application Spring configuration meta-data for GemFire, which must be specified in
@@ -46,29 +44,21 @@ import sample.data.gemfire.domain.Gemstone;
@SpringBootApplication
@EnableGemfireRepositories
@EnableTransactionManagement
@EnableConfigurationProperties(SampleDataGemFireApplicationProperties.class)
@SuppressWarnings("unused")
@EnableConfigurationProperties(SampleDataGemFireProperties.class)
public class SampleDataGemFireApplication {
protected static final String GEMSTONES_REGION_NAME = "Gemstones";
private final SampleDataGemFireProperties applicationProperties;
public SampleDataGemFireApplication(SampleDataGemFireProperties applicationProperties) {
this.applicationProperties = applicationProperties;
}
public static void main(final String[] args) {
SpringApplication.run(SampleDataGemFireApplication.class, args);
}
@Autowired
SampleDataGemFireApplicationProperties applicationProperties;
Properties gemfireProperties() {
Properties gemfireProperties = new Properties();
gemfireProperties.setProperty("name", SampleDataGemFireApplication.class.getSimpleName());
gemfireProperties.setProperty("mcast-port", "0");
gemfireProperties.setProperty("locators", "");
gemfireProperties.setProperty("log-level", applicationProperties.getLogLevel());
return gemfireProperties;
}
@Bean
CacheFactoryBean gemfireCache() {
@@ -80,12 +70,23 @@ public class SampleDataGemFireApplication {
return gemfireCache;
}
private Properties gemfireProperties() {
Properties gemfireProperties = new Properties();
gemfireProperties.setProperty("name", SampleDataGemFireApplication.class.getSimpleName());
gemfireProperties.setProperty("mcast-port", "0");
gemfireProperties.setProperty("locators", "");
gemfireProperties.setProperty("log-level", this.applicationProperties.getLogLevel());
return gemfireProperties;
}
@Bean(name = GEMSTONES_REGION_NAME)
ReplicatedRegionFactoryBean<Long, Gemstone> gemstonesRegion(Cache gemfireCache,
RegionAttributes<Long, Gemstone> gemstonesRegionAttributes) {
ReplicatedRegionFactoryBean<Long, Gemstone> gemstonesRegion =
new ReplicatedRegionFactoryBean<Long, Gemstone>();
new ReplicatedRegionFactoryBean<Long, Gemstone>();
gemstonesRegion.setAttributes(gemstonesRegionAttributes);
gemstonesRegion.setClose(false);
@@ -100,7 +101,7 @@ public class SampleDataGemFireApplication {
@SuppressWarnings("unchecked")
RegionAttributesFactoryBean gemstonesRegionAttributes() {
RegionAttributesFactoryBean gemstonesRegionAttributes =
new RegionAttributesFactoryBean();
new RegionAttributesFactoryBean();
gemstonesRegionAttributes.setKeyConstraint(Long.class);
gemstonesRegionAttributes.setValueConstraint(Gemstone.class);

View File

@@ -1,11 +1,11 @@
/*
* Copyright 2010-2013 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -17,27 +17,22 @@
package sample.data.gemfire.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.util.StringUtils;
/**
* The SampleDataGemFireApplicationProperties class...
* Configuration properties for Gemfire sample.
*
* @author John Blum
* @since 1.0.0
*/
@ConfigurationProperties(prefix = "sample.data.gemfire")
public class SampleDataGemFireApplicationProperties {
public class SampleDataGemFireProperties {
protected static final String DEFAULT_LOG_LEVEL = "config";
private String logLevel = DEFAULT_LOG_LEVEL;
protected String defaultIfEmpty(String value, String defaultValue) {
return (StringUtils.hasText(value) ? value : defaultValue);
}
/**
* Caching log level.
*/
private String logLevel = "config";
public String getLogLevel() {
return defaultIfEmpty(this.logLevel, DEFAULT_LOG_LEVEL);
return this.logLevel;
}
public void setLogLevel(String logLevel) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2010-2013 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2010-2015 the original author or authors.
* Copyright 2012-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,15 +19,16 @@ package sample.data.gemfire.service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.PostConstruct;
import sample.data.gemfire.domain.Gemstone;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import sample.data.gemfire.domain.Gemstone;
/**
* The GemstoneServiceImpl class is a Service object implementing the GemstoneService
* interface containing business logic and rules in addition to data services for
@@ -39,16 +40,17 @@ import sample.data.gemfire.domain.Gemstone;
public class GemstoneServiceImpl implements GemstoneService {
protected static final List<String> APPROVED_GEMS = new ArrayList<String>(
Arrays.asList("ALEXANDRITE", "AQUAMARINE", "DIAMOND", "OPAL", "PEARL", "RUBY",
"SAPPHIRE", "SPINEL", "TOPAZ"));
Arrays.asList("ALEXANDRITE", "AQUAMARINE", "DIAMOND", "OPAL", "PEARL", "RUBY",
"SAPPHIRE", "SPINEL", "TOPAZ"));
@Autowired
@SuppressWarnings("unused")
private GemstoneRepository gemstoneRepository;
private final GemstoneRepository gemstoneRepository;
public GemstoneServiceImpl(GemstoneRepository gemstoneRepository) {
this.gemstoneRepository = gemstoneRepository;
}
@PostConstruct
public void init() {
Assert.notNull(gemstoneRepository, "'gemstoneRepository' was not properly initialized");
System.out.printf("[%1$s] initialized!%n", getClass().getSimpleName());
}
@@ -126,7 +128,7 @@ public class GemstoneServiceImpl implements GemstoneService {
Gemstone savedGemstone = validate(this.gemstoneRepository.save(gemstone));
Assert.state(savedGemstone.equals(get(gemstone.getId())), String.format(
"Failed to find Gemstone (%1$s) in GemFire's Cache Region 'Gemstones'!",
"Failed to find Gemstone (%1$s) in GemFire's Cache Region 'Gemstones'!",
gemstone));
System.out.printf("Saved Gemstone [%1$s]%n", savedGemstone.getName());
@@ -146,24 +148,12 @@ public class GemstoneServiceImpl implements GemstoneService {
return gemstone;
}
@SuppressWarnings("unused")
public static final class IllegalGemstoneException extends IllegalArgumentException {
public IllegalGemstoneException() {
}
public IllegalGemstoneException(final String message) {
public IllegalGemstoneException(String message) {
super(message);
}
public IllegalGemstoneException(final Throwable cause) {
super(cause);
}
public IllegalGemstoneException(final String message, final Throwable cause) {
super(message, cause);
}
}
}