general formatting work

This commit is contained in:
eugenp 2016-01-30 12:01:41 +02:00
parent fc59834adb
commit 95e2d063f4
36 changed files with 71 additions and 97 deletions

View File

@ -67,8 +67,4 @@ public class CollectionJavaPartitionUnitTest {
assertThat(lastPartition, equalTo(expectedLastPartition));
}
}

View File

@ -10,5 +10,5 @@ import java.lang.annotation.Target;
@Target({ ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD })
@Documented
public @interface DataAccess {
Class<?>entity();
Class<?> entity();
}

View File

@ -19,15 +19,13 @@ public class DataAccessAnnotationProcessor implements BeanPostProcessor {
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
scanDataAccessAnnotation(bean, beanName);
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}

View File

@ -12,18 +12,14 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.util.ReflectionUtils;
import org.springframework.util.ReflectionUtils.FieldCallback;
public final class DataAccessFieldCallback implements FieldCallback {
private static Logger logger = LoggerFactory.getLogger(DataAccessFieldCallback.class);
private static int AUTOWIRE_MODE = AutowireCapableBeanFactory.AUTOWIRE_BY_NAME;
private static String ERROR_ENTITY_VALUE_NOT_SAME = "@DataAccess(entity) "
+ "value should have same type with injected generic type.";
private static String WARN_NON_GENERIC_VALUE = "@DataAccess annotation assigned "
+ "to raw (non-generic) declaration. This will make your code less type-safe.";
private static String ERROR_CREATE_INSTANCE = "Cannot create instance of "
+ "type '{}' or instance creation is failed because: {}";
private static String ERROR_ENTITY_VALUE_NOT_SAME = "@DataAccess(entity) " + "value should have same type with injected generic type.";
private static String WARN_NON_GENERIC_VALUE = "@DataAccess annotation assigned " + "to raw (non-generic) declaration. This will make your code less type-safe.";
private static String ERROR_CREATE_INSTANCE = "Cannot create instance of " + "type '{}' or instance creation is failed because: {}";
private ConfigurableListableBeanFactory configurableListableBeanFactory;
private Object bean;
@ -34,15 +30,14 @@ public final class DataAccessFieldCallback implements FieldCallback {
}
@Override
public void doWith(final Field field)
throws IllegalArgumentException, IllegalAccessException {
public void doWith(final Field field) throws IllegalArgumentException, IllegalAccessException {
if (!field.isAnnotationPresent(DataAccess.class)) {
return;
}
ReflectionUtils.makeAccessible(field);
final Type fieldGenericType = field.getGenericType();
// In this example, get actual "GenericDAO' type.
final Class<?> generic = field.getType();
// In this example, get actual "GenericDAO' type.
final Class<?> generic = field.getType();
final Class<?> classValue = field.getDeclaredAnnotation(DataAccess.class).entity();
if (genericTypeIsValid(classValue, fieldGenericType)) {
@ -54,7 +49,6 @@ public final class DataAccessFieldCallback implements FieldCallback {
}
}
/**
* For example, if user write:
* <pre>
@ -75,8 +69,6 @@ public final class DataAccessFieldCallback implements FieldCallback {
}
}
public final Object getBeanInstance(final String beanName, final Class<?> genericClass, final Class<?> paramClass) {
Object daoInstance = null;
if (!configurableListableBeanFactory.containsBean(beanName)) {
@ -90,7 +82,7 @@ public final class DataAccessFieldCallback implements FieldCallback {
logger.error(ERROR_CREATE_INSTANCE, genericClass.getTypeName(), e);
throw new RuntimeException(e);
}
daoInstance = configurableListableBeanFactory.initializeBean(toRegister, beanName);
configurableListableBeanFactory.autowireBeanProperties(daoInstance, AUTOWIRE_MODE, true);
configurableListableBeanFactory.registerSingleton(beanName, daoInstance);

View File

@ -5,10 +5,11 @@ import org.springframework.stereotype.Repository;
@Repository
public class BeanWithGenericDAO {
@DataAccess(entity=Person.class)
@DataAccess(entity = Person.class)
private GenericDAO<Person> personGenericDAO;
public BeanWithGenericDAO() {}
public BeanWithGenericDAO() {
}
public GenericDAO<Person> getPersonGenericDAO() {
return personGenericDAO;

View File

@ -15,7 +15,6 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { CustomAnnotationConfiguration.class })
public class DataAccessFieldCallbackTest {
@ -36,8 +35,7 @@ public class DataAccessFieldCallbackTest {
}
@Test
public void whenMethodGenericTypeIsValidCalled_thenReturnCorrectValue()
throws NoSuchFieldException, SecurityException {
public void whenMethodGenericTypeIsValidCalled_thenReturnCorrectValue() throws NoSuchFieldException, SecurityException {
final DataAccessFieldCallback callback = new DataAccessFieldCallback(configurableListableBeanFactory, beanWithGenericDAO);
final Type fieldType = BeanWithGenericDAO.class.getDeclaredField("personGenericDAO").getGenericType();
final boolean result = callback.genericTypeIsValid(Person.class, fieldType);

View File

@ -40,8 +40,7 @@ public class SpringBatchConfig {
private Resource outputXml;
@Bean
public ItemReader<Transaction> itemReader()
throws UnexpectedInputException, ParseException {
public ItemReader<Transaction> itemReader() throws UnexpectedInputException, ParseException {
FlatFileItemReader<Transaction> reader = new FlatFileItemReader<Transaction>();
DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
String[] tokens = { "username", "userid", "transactiondate", "amount" };
@ -61,8 +60,7 @@ public class SpringBatchConfig {
}
@Bean
public ItemWriter<Transaction> itemWriter(Marshaller marshaller)
throws MalformedURLException {
public ItemWriter<Transaction> itemWriter(Marshaller marshaller) throws MalformedURLException {
StaxEventItemWriter<Transaction> itemWriter = new StaxEventItemWriter<Transaction>();
itemWriter.setMarshaller(marshaller);
itemWriter.setRootTagName("transactionRecord");
@ -78,11 +76,8 @@ public class SpringBatchConfig {
}
@Bean
protected Step step1(ItemReader<Transaction> reader,
ItemProcessor<Transaction, Transaction> processor,
ItemWriter<Transaction> writer) {
return steps.get("step1").<Transaction, Transaction> chunk(10)
.reader(reader).processor(processor).writer(writer).build();
protected Step step1(ItemReader<Transaction> reader, ItemProcessor<Transaction, Transaction> processor, ItemWriter<Transaction> writer) {
return steps.get("step1").<Transaction, Transaction> chunk(10).reader(reader).processor(processor).writer(writer).build();
}
@Bean(name = "firstBatchJob")

View File

@ -38,8 +38,7 @@ public class SpringConfig {
}
@Bean
public DataSourceInitializer dataSourceInitializer(DataSource dataSource)
throws MalformedURLException {
public DataSourceInitializer dataSourceInitializer(DataSource dataSource) throws MalformedURLException {
ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator();
databasePopulator.addScript(dropReopsitoryTables);

View File

@ -48,9 +48,7 @@ public class Transaction {
@Override
public String toString() {
return "Transaction [username=" + username + ", userId=" + userId
+ ", transactionDate=" + transactionDate + ", amount=" + amount
+ "]";
return "Transaction [username=" + username + ", userId=" + userId + ", transactionDate=" + transactionDate + ", amount=" + amount + "]";
}
}

View File

@ -3,8 +3,7 @@ package org.baeldung.spring_batch_intro.service;
import org.baeldung.spring_batch_intro.model.Transaction;
import org.springframework.batch.item.ItemProcessor;
public class CustomItemProcessor implements
ItemProcessor<Transaction, Transaction> {
public class CustomItemProcessor implements ItemProcessor<Transaction, Transaction> {
public Transaction process(Transaction item) {
System.out.println("Processing..." + item);

View File

@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class ChildDao extends AbstractHibernateDao<Child>implements IChildDao {
public class ChildDao extends AbstractHibernateDao<Child> implements IChildDao {
@Autowired
private SessionFactory sessionFactory;

View File

@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FooDao extends AbstractHibernateDao<Foo>implements IFooDao {
public class FooDao extends AbstractHibernateDao<Foo> implements IFooDao {
@Autowired
private SessionFactory sessionFactory;

View File

@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class ParentDao extends AbstractHibernateDao<Parent>implements IParentDao {
public class ParentDao extends AbstractHibernateDao<Parent> implements IParentDao {
@Autowired
private SessionFactory sessionFactory;

View File

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ChildService extends AbstractService<Child>implements IChildService {
public class ChildService extends AbstractService<Child> implements IChildService {
@Autowired
private IChildDao dao;

View File

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class FooService extends AbstractService<Foo>implements IFooService {
public class FooService extends AbstractService<Foo> implements IFooService {
@Autowired
private IFooDao dao;

View File

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ParentService extends AbstractService<Parent>implements IParentService {
public class ParentService extends AbstractService<Parent> implements IParentService {
@Autowired
private IParentDao dao;

View File

@ -4,7 +4,7 @@ import org.baeldung.persistence.model.Foo;
import org.springframework.stereotype.Repository;
@Repository
public class FooDao extends AbstractHibernateDao<Foo>implements IFooDao {
public class FooDao extends AbstractHibernateDao<Foo> implements IFooDao {
public FooDao() {
super();

View File

@ -8,6 +8,6 @@ import org.springframework.stereotype.Repository;
@Repository
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class GenericHibernateDao<T extends Serializable> extends AbstractHibernateDao<T>implements IGenericDao<T> {
public class GenericHibernateDao<T extends Serializable> extends AbstractHibernateDao<T> implements IGenericDao<T> {
//
}

View File

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ChildService extends AbstractHibernateService<Child>implements IChildService {
public class ChildService extends AbstractHibernateService<Child> implements IChildService {
@Autowired
private IChildDao dao;

View File

@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@Service
public class FooService extends AbstractHibernateService<Foo>implements IFooService {
public class FooService extends AbstractHibernateService<Foo> implements IFooService {
@Autowired
@Qualifier("fooHibernateDao")

View File

@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ParentService extends AbstractHibernateService<Parent>implements IParentService {
public class ParentService extends AbstractHibernateService<Parent> implements IParentService {
@Autowired
private IParentDao dao;

View File

@ -41,7 +41,6 @@ public class JPABarAuditTest {
logger.info("tearDownAfterClass()");
}
@Autowired
@Qualifier("barJpaService")
private IBarService barService;
@ -51,7 +50,6 @@ public class JPABarAuditTest {
private EntityManager em;
@Before
public void setUp() throws Exception {
logger.info("setUp()");
@ -64,7 +62,6 @@ public class JPABarAuditTest {
em.close();
}
@Test
public final void whenBarsModified_thenBarsAudited() {
@ -84,7 +81,6 @@ public class JPABarAuditTest {
bar1.setName("BAR1b");
barService.update(bar1);
// get BAR1 and BAR2 from the DB and check the audit values
// detach instances from persistence context to make sure we fire db
em.detach(bar1);

View File

@ -4,7 +4,7 @@ import org.baeldung.persistence.model.Foo;
import org.springframework.stereotype.Repository;
@Repository
public class FooDao extends AbstractJpaDAO<Foo>implements IFooDao {
public class FooDao extends AbstractJpaDAO<Foo> implements IFooDao {
public FooDao() {
super();

View File

@ -30,7 +30,7 @@ public class User {
private String email;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
@JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id") , inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id") )
@JsonApiToMany
@JsonApiIncludeByDefault
private Set<Role> roles;

View File

@ -24,13 +24,16 @@ public class LoggingAspect {
};
@Pointcut("@target(org.springframework.stereotype.Repository)")
public void repositoryMethods() {}
public void repositoryMethods() {
}
@Pointcut("@annotation(org.baeldung.aop.annotations.Loggable)")
public void loggableMethods() {}
public void loggableMethods() {
}
@Pointcut("@args(org.baeldung.aop.annotations.Entity)")
public void methodsAcceptingEntities() {}
public void methodsAcceptingEntities() {
}
@Before("repositoryMethods()")
public void logMethodCall(JoinPoint jp) {

View File

@ -16,7 +16,8 @@ public class PerformanceAspect {
private static Logger logger = Logger.getLogger(PerformanceAspect.class.getName());
@Pointcut("within(@org.springframework.stereotype.Repository *)")
public void repositoryClassMethods() {}
public void repositoryClassMethods() {
}
@Around("repositoryClassMethods()")
public Object measureMethodExecutionTime(ProceedingJoinPoint pjp) throws Throwable {

View File

@ -21,13 +21,16 @@ public class PublishingAspect {
}
@Pointcut("@target(org.springframework.stereotype.Repository)")
public void repositoryMethods() {}
public void repositoryMethods() {
}
@Pointcut("execution(* *..create*(Long,..))")
public void firstLongParamMethods() {}
public void firstLongParamMethods() {
}
@Pointcut("repositoryMethods() && firstLongParamMethods()")
public void entityCreationMethods() {}
public void entityCreationMethods() {
}
@AfterReturning(value = "entityCreationMethods()", returning = "entity")
public void logMethodCall(JoinPoint jp, Object entity) throws Throwable {

View File

@ -14,9 +14,6 @@ public class Foo {
@Override
public String toString() {
return "Foo{" +
"id=" + id +
", name='" + name + '\'' +
'}';
return "Foo{" + "id=" + id + ", name='" + name + '\'' + '}';
}
}

View File

@ -13,20 +13,19 @@ public class UserController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String showForm(final Model model) {
final User user = new User();
user.setFirstname("John");
user.setLastname("Roy");
user.setEmailId("John.Roy@gmail.com");
model.addAttribute("user", user);
return "index";
final User user = new User();
user.setFirstname("John");
user.setLastname("Roy");
user.setEmailId("John.Roy@gmail.com");
model.addAttribute("user", user);
return "index";
}
@RequestMapping(value = "/processForm", method = RequestMethod.POST)
public String processForm(@ModelAttribute(value = "user") final User user,
final Model model) {
// Insert User into DB
model.addAttribute("name", user.getFirstname() + " " + user.getLastname());
return "hello";
public String processForm(@ModelAttribute(value = "user") final User user, final Model model) {
// Insert User into DB
model.addAttribute("name", user.getFirstname() + " " + user.getLastname());
return "hello";
}
}

View File

@ -24,12 +24,12 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
public class AopLoggingTest {
@Before
public void setUp() {
messages = new ArrayList<>();
messages = new ArrayList<>();
logEventHandler = new Handler() {
@Override

View File

@ -23,7 +23,7 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
public class AopPerformanceTest {
@Before

View File

@ -22,7 +22,7 @@ import java.util.regex.Pattern;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestConfig.class}, loader = AnnotationConfigContextLoader.class)
@ContextConfiguration(classes = { TestConfig.class }, loader = AnnotationConfigContextLoader.class)
public class AopPublishingTest {
@Before
@ -60,8 +60,7 @@ public class AopPublishingTest {
dao.create(1L, "Bar");
String logMessage = messages.get(0);
Pattern pattern = Pattern.compile("Created foo instance: " +
Pattern.quote(new Foo(1L, "Bar").toString()));
Pattern pattern = Pattern.compile("Created foo instance: " + Pattern.quote(new Foo(1L, "Bar").toString()));
assertTrue(pattern.matcher(logMessage).matches());
}
}

View File

@ -5,7 +5,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Configuration
@ComponentScan(basePackages = {"org.baeldung.dao", "org.baeldung.aop", "org.baeldung.events"})
@ComponentScan(basePackages = { "org.baeldung.dao", "org.baeldung.aop", "org.baeldung.events" })
@EnableAspectJAutoProxy
public class TestConfig {
}

View File

@ -19,8 +19,8 @@ public @interface PasswordMatches {
String message() default "Passwords don't match";
Class<?>[]groups() default {};
Class<?>[] groups() default {};
Class<? extends Payload>[]payload() default {};
Class<? extends Payload>[] payload() default {};
}

View File

@ -20,7 +20,7 @@ public @interface ValidEmail {
String message() default "Invalid Email";
Class<?>[]groups() default {};
Class<?>[] groups() default {};
Class<? extends Payload>[]payload() default {};
Class<? extends Payload>[] payload() default {};
}

View File

@ -20,8 +20,8 @@ public @interface ValidPassword {
String message() default "Invalid Password";
Class<?>[]groups() default {};
Class<?>[] groups() default {};
Class<? extends Payload>[]payload() default {};
Class<? extends Payload>[] payload() default {};
}