From 05f303c2be392e0bd2dbb76af8baefda8b42b83d Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Fri, 10 Jan 2014 16:39:10 +0100 Subject: [PATCH] DATACMNS-414 - Removed unnecessary generic types for AuditingHandler. Removed the unnecessary type arguments for AuditingHandler so that the setter taking an AuditorAware can be successfully wired against implementations other than AuditorAware with Spring 4. The type argument was superfluous anyway as internally the type wasn't referred to and the handler is not used on a by-type basis. --- .../data/auditing/AuditingHandler.java | 22 ++++++++++--------- .../auditing/IsNewAwareAuditingHandler.java | 4 ++-- .../auditing/AuditingHandlerUnitTests.java | 10 ++++----- .../IsNewAwareAuditingHandlerUnitTests.java | 12 +++++----- ...eflectionAuditingBeanWrapperUnitTests.java | 16 +++++++++----- 5 files changed, 35 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandler.java b/src/main/java/org/springframework/data/auditing/AuditingHandler.java index 33ec5c8ce..10f29858c 100644 --- a/src/main/java/org/springframework/data/auditing/AuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/AuditingHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2014 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. @@ -15,6 +15,8 @@ */ package org.springframework.data.auditing; +import java.util.Calendar; + import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,13 +31,13 @@ import org.springframework.util.Assert; * @author Oliver Gierke * @since 1.5 */ -public class AuditingHandler implements InitializingBean { +public class AuditingHandler implements InitializingBean { private static final Logger LOGGER = LoggerFactory.getLogger(AuditingHandler.class); private final AuditableBeanWrapperFactory factory = new AuditableBeanWrapperFactory(); private DateTimeProvider dateTimeProvider = CurrentDateTimeProvider.INSTANCE; - private AuditorAware auditorAware; + private AuditorAware auditorAware; private boolean dateTimeForNow = true; private boolean modifyOnCreation = true; @@ -44,7 +46,7 @@ public class AuditingHandler implements InitializingBean { * * @param auditorAware the auditorAware to set */ - public void setAuditorAware(final AuditorAware auditorAware) { + public void setAuditorAware(final AuditorAware auditorAware) { Assert.notNull(auditorAware); this.auditorAware = auditorAware; @@ -106,8 +108,8 @@ public class AuditingHandler implements InitializingBean { return; } - T auditor = touchAuditor(wrapper, isNew); - DateTime now = dateTimeForNow ? touchDate(wrapper, isNew) : null; + Object auditor = touchAuditor(wrapper, isNew); + Calendar now = dateTimeForNow ? touchDate(wrapper, isNew) : null; Object defaultedNow = now == null ? "not set" : now; Object defaultedAuditor = auditor == null ? "unknown" : auditor; @@ -121,13 +123,13 @@ public class AuditingHandler implements InitializingBean { * @param auditable * @return */ - private T touchAuditor(AuditableBeanWrapper wrapper, boolean isNew) { + private Object touchAuditor(AuditableBeanWrapper wrapper, boolean isNew) { if (null == auditorAware) { return null; } - T auditor = auditorAware.getCurrentAuditor(); + Object auditor = auditorAware.getCurrentAuditor(); if (isNew) { wrapper.setCreatedBy(auditor); @@ -146,9 +148,9 @@ public class AuditingHandler implements InitializingBean { * @param wrapper * @return */ - private DateTime touchDate(AuditableBeanWrapper wrapper, boolean isNew) { + private Calendar touchDate(AuditableBeanWrapper wrapper, boolean isNew) { - DateTime now = dateTimeProvider.getDateTime(); + Calendar now = dateTimeProvider.getNow(); if (isNew) { wrapper.setCreatedDate(now); diff --git a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java index 357256111..fc8837fbf 100644 --- a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2014 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. @@ -27,7 +27,7 @@ import org.springframework.util.Assert; * @author Oliver Gierke * @since 1.5 */ -public class IsNewAwareAuditingHandler extends AuditingHandler { +public class IsNewAwareAuditingHandler extends AuditingHandler { private final IsNewStrategyFactory isNewStrategyFactory; diff --git a/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java index 7a7b15db8..b32f80663 100644 --- a/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2012 the original author or authors. + * Copyright 2008-2014 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. @@ -31,7 +31,7 @@ import org.springframework.data.domain.AuditorAware; @SuppressWarnings("unchecked") public class AuditingHandlerUnitTests { - AuditingHandler handler; + AuditingHandler handler; AuditorAware auditorAware; AuditedUser user; @@ -46,8 +46,8 @@ public class AuditingHandlerUnitTests { when(auditorAware.getCurrentAuditor()).thenReturn(user); } - protected AuditingHandler getHandler() { - return new AuditingHandler(); + protected AuditingHandler getHandler() { + return new AuditingHandler(); } /** @@ -149,6 +149,6 @@ public class AuditingHandlerUnitTests { handler.setDateTimeProvider(provider); handler.markCreated(user); - verify(provider, times(1)).getDateTime(); + verify(provider, times(1)).getNow(); } } diff --git a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java index fce1b3d75..eed7c6b49 100644 --- a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2012 the original author or authors. + * Copyright 2008-2014 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. @@ -37,10 +37,8 @@ import org.springframework.data.support.IsNewStrategyFactory; @RunWith(MockitoJUnitRunner.class) public class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests { - @Mock - IsNewStrategyFactory factory; - @Mock - IsNewStrategy strategy; + @Mock IsNewStrategyFactory factory; + @Mock IsNewStrategy strategy; @Before public void init() { @@ -48,8 +46,8 @@ public class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests } @Override - protected IsNewAwareAuditingHandler getHandler() { - return new IsNewAwareAuditingHandler(factory); + protected IsNewAwareAuditingHandler getHandler() { + return new IsNewAwareAuditingHandler(factory); } @Test diff --git a/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java b/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java index 8d8a5beba..d2521c8ce 100644 --- a/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java @@ -18,6 +18,9 @@ package org.springframework.data.auditing; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; +import java.util.Calendar; +import java.util.GregorianCalendar; + import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; @@ -37,11 +40,14 @@ public class ReflectionAuditingBeanWrapperUnitTests { AnnotatedUser user; AuditableBeanWrapper wrapper; - DateTime time = new DateTime(); + Calendar calendar = new GregorianCalendar(); + DateTime time = new DateTime(calendar); @Before public void setUp() { + assertThat(time, is(new DateTime(calendar))); + this.user = new AnnotatedUser(); this.wrapper = new ReflectionAuditingBeanWrapper(user); } @@ -49,14 +55,14 @@ public class ReflectionAuditingBeanWrapperUnitTests { @Test public void setsDateTimeFieldCorrectly() { - wrapper.setCreatedDate(time); + wrapper.setCreatedDate(calendar); assertThat(user.createdDate, is(time)); } @Test public void setsDateFieldCorrectly() { - wrapper.setLastModifiedDate(time); + wrapper.setLastModifiedDate(calendar); assertThat(user.lastModifiedDate, is(time.toDate())); } @@ -73,10 +79,10 @@ public class ReflectionAuditingBeanWrapperUnitTests { Sample sample = new Sample(); AuditableBeanWrapper wrapper = new ReflectionAuditingBeanWrapper(sample); - wrapper.setCreatedDate(time); + wrapper.setCreatedDate(calendar); assertThat(sample.createdDate, is(time.getMillis())); - wrapper.setLastModifiedDate(time); + wrapper.setLastModifiedDate(calendar); assertThat(sample.modifiedDate, is(time.getMillis())); }