Add @Override annotations to main sources
Issue: SPR-10130
This commit is contained in:
@@ -49,27 +49,33 @@ public class EhCacheCache implements Cache {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.cache.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ehcache getNativeCache() {
|
||||
return this.cache;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ValueWrapper get(Object key) {
|
||||
Element element = this.cache.get(key);
|
||||
return (element != null ? new SimpleValueWrapper(element.getObjectValue()) : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(Object key, Object value) {
|
||||
this.cache.put(new Element(key, value));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void evict(Object key) {
|
||||
this.cache.remove(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.cache.removeAll();
|
||||
}
|
||||
|
||||
@@ -296,11 +296,13 @@ public class EhCacheFactoryBean implements FactoryBean<Ehcache>, BeanNameAware,
|
||||
this.disabled = disabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String name) {
|
||||
this.beanName = name;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws CacheException, IOException {
|
||||
// If no CacheManager given, fetch the default.
|
||||
if (this.cacheManager == null) {
|
||||
@@ -393,6 +395,7 @@ public class EhCacheFactoryBean implements FactoryBean<Ehcache>, BeanNameAware,
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Ehcache getObject() {
|
||||
return this.cache;
|
||||
}
|
||||
@@ -402,6 +405,7 @@ public class EhCacheFactoryBean implements FactoryBean<Ehcache>, BeanNameAware,
|
||||
* {@link #getObject()} based on logic in {@link #createCache()} and
|
||||
* {@link #decorateCache(Ehcache)} as orchestrated by {@link #afterPropertiesSet()}.
|
||||
*/
|
||||
@Override
|
||||
public Class<? extends Ehcache> getObjectType() {
|
||||
if (this.cache != null) {
|
||||
return this.cache.getClass();
|
||||
@@ -420,6 +424,7 @@ public class EhCacheFactoryBean implements FactoryBean<Ehcache>, BeanNameAware,
|
||||
return Cache.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -96,6 +96,7 @@ public class EhCacheManagerFactoryBean implements FactoryBean<CacheManager>, Ini
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws IOException, CacheException {
|
||||
logger.info("Initializing EHCache CacheManager");
|
||||
if (this.configLocation != null) {
|
||||
@@ -116,19 +117,23 @@ public class EhCacheManagerFactoryBean implements FactoryBean<CacheManager>, Ini
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CacheManager getObject() {
|
||||
return this.cacheManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends CacheManager> getObjectType() {
|
||||
return (this.cacheManager != null ? this.cacheManager.getClass() : CacheManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
logger.info("Shutting down EHCache CacheManager");
|
||||
this.cacheManager.shutdown();
|
||||
|
||||
@@ -64,10 +64,12 @@ public class JCacheCache implements Cache {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.cache.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public javax.cache.Cache<?,?> getNativeCache() {
|
||||
return this.cache;
|
||||
}
|
||||
@@ -76,22 +78,26 @@ public class JCacheCache implements Cache {
|
||||
return this.allowNullValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public ValueWrapper get(Object key) {
|
||||
Object value = this.cache.get(key);
|
||||
return (value != null ? new SimpleValueWrapper(fromStoreValue(value)) : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void put(Object key, Object value) {
|
||||
this.cache.put(key, toStoreValue(value));
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void evict(Object key) {
|
||||
this.cache.remove(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.cache.removeAll();
|
||||
}
|
||||
|
||||
@@ -53,10 +53,12 @@ public class JCacheManagerFactoryBean
|
||||
this.cacheManagerName = cacheManagerName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanClassLoader(ClassLoader classLoader) {
|
||||
this.beanClassLoader = classLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
this.cacheManager = (this.beanClassLoader != null ?
|
||||
Caching.getCacheManager(this.beanClassLoader, this.cacheManagerName) :
|
||||
@@ -64,19 +66,23 @@ public class JCacheManagerFactoryBean
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CacheManager getObject() {
|
||||
return this.cacheManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getObjectType() {
|
||||
return (this.cacheManager != null ? this.cacheManager.getClass() : CacheManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
this.cacheManager.shutdown();
|
||||
}
|
||||
|
||||
@@ -47,18 +47,22 @@ public class TransactionAwareCacheDecorator implements Cache {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.targetCache.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getNativeCache() {
|
||||
return this.targetCache.getNativeCache();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ValueWrapper get(Object key) {
|
||||
return this.targetCache.get(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(final Object key, final Object value) {
|
||||
if (TransactionSynchronizationManager.isSynchronizationActive()) {
|
||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
||||
@@ -73,6 +77,7 @@ public class TransactionAwareCacheDecorator implements Cache {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void evict(final Object key) {
|
||||
if (TransactionSynchronizationManager.isSynchronizationActive()) {
|
||||
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
||||
@@ -87,6 +92,7 @@ public class TransactionAwareCacheDecorator implements Cache {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
this.targetCache.clear();
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ public class TransactionAwareCacheManagerProxy implements CacheManager, Initiali
|
||||
this.targetCacheManager = targetCacheManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
if (this.targetCacheManager == null) {
|
||||
throw new IllegalStateException("'targetCacheManager' is required");
|
||||
@@ -72,10 +73,12 @@ public class TransactionAwareCacheManagerProxy implements CacheManager, Initiali
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Cache getCache(String name) {
|
||||
return new TransactionAwareCacheDecorator(this.targetCacheManager.getCache(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> getCacheNames() {
|
||||
return this.targetCacheManager.getCacheNames();
|
||||
}
|
||||
|
||||
@@ -89,6 +89,7 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setFrom(String from) {
|
||||
this.from = from;
|
||||
}
|
||||
@@ -97,6 +98,7 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return this.from;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReplyTo(String replyTo) {
|
||||
this.replyTo = replyTo;
|
||||
}
|
||||
@@ -105,10 +107,12 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return replyTo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTo(String to) {
|
||||
this.to = new String[] {to};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTo(String[] to) {
|
||||
this.to = to;
|
||||
}
|
||||
@@ -117,10 +121,12 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return this.to;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCc(String cc) {
|
||||
this.cc = new String[] {cc};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCc(String[] cc) {
|
||||
this.cc = cc;
|
||||
}
|
||||
@@ -129,10 +135,12 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return cc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBcc(String bcc) {
|
||||
this.bcc = new String[] {bcc};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBcc(String[] bcc) {
|
||||
this.bcc = bcc;
|
||||
}
|
||||
@@ -141,6 +149,7 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return bcc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSentDate(Date sentDate) {
|
||||
this.sentDate = sentDate;
|
||||
}
|
||||
@@ -149,6 +158,7 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return sentDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSubject(String subject) {
|
||||
this.subject = subject;
|
||||
}
|
||||
@@ -157,6 +167,7 @@ public class SimpleMailMessage implements MailMessage, Serializable {
|
||||
return this.subject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setText(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
@@ -101,6 +101,7 @@ public class ConfigurableMimeFileTypeMap extends FileTypeMap implements Initiali
|
||||
/**
|
||||
* Creates the final merged mapping set.
|
||||
*/
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
getFileTypeMap();
|
||||
}
|
||||
|
||||
@@ -292,10 +292,12 @@ public class JavaMailSenderImpl implements JavaMailSender {
|
||||
// Implementation of MailSender
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void send(SimpleMailMessage simpleMessage) throws MailException {
|
||||
send(new SimpleMailMessage[] { simpleMessage });
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(SimpleMailMessage[] simpleMessages) throws MailException {
|
||||
List<MimeMessage> mimeMessages = new ArrayList<MimeMessage>(simpleMessages.length);
|
||||
for (SimpleMailMessage simpleMessage : simpleMessages) {
|
||||
@@ -319,10 +321,12 @@ public class JavaMailSenderImpl implements JavaMailSender {
|
||||
* @see #setDefaultEncoding
|
||||
* @see #setDefaultFileTypeMap
|
||||
*/
|
||||
@Override
|
||||
public MimeMessage createMimeMessage() {
|
||||
return new SmartMimeMessage(getSession(), getDefaultEncoding(), getDefaultFileTypeMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MimeMessage createMimeMessage(InputStream contentStream) throws MailException {
|
||||
try {
|
||||
return new MimeMessage(getSession(), contentStream);
|
||||
@@ -332,18 +336,22 @@ public class JavaMailSenderImpl implements JavaMailSender {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(MimeMessage mimeMessage) throws MailException {
|
||||
send(new MimeMessage[] {mimeMessage});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(MimeMessage[] mimeMessages) throws MailException {
|
||||
doSend(mimeMessages, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(MimeMessagePreparator mimeMessagePreparator) throws MailException {
|
||||
send(new MimeMessagePreparator[] { mimeMessagePreparator });
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(MimeMessagePreparator[] mimeMessagePreparators) throws MailException {
|
||||
try {
|
||||
List<MimeMessage> mimeMessages = new ArrayList<MimeMessage>(mimeMessagePreparators.length);
|
||||
|
||||
@@ -73,6 +73,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setFrom(String from) throws MailParseException {
|
||||
try {
|
||||
this.helper.setFrom(from);
|
||||
@@ -82,6 +83,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReplyTo(String replyTo) throws MailParseException {
|
||||
try {
|
||||
this.helper.setReplyTo(replyTo);
|
||||
@@ -91,6 +93,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTo(String to) throws MailParseException {
|
||||
try {
|
||||
this.helper.setTo(to);
|
||||
@@ -100,6 +103,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTo(String[] to) throws MailParseException {
|
||||
try {
|
||||
this.helper.setTo(to);
|
||||
@@ -109,6 +113,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCc(String cc) throws MailParseException {
|
||||
try {
|
||||
this.helper.setCc(cc);
|
||||
@@ -118,6 +123,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCc(String[] cc) throws MailParseException {
|
||||
try {
|
||||
this.helper.setCc(cc);
|
||||
@@ -127,6 +133,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBcc(String bcc) throws MailParseException {
|
||||
try {
|
||||
this.helper.setBcc(bcc);
|
||||
@@ -136,6 +143,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBcc(String[] bcc) throws MailParseException {
|
||||
try {
|
||||
this.helper.setBcc(bcc);
|
||||
@@ -145,6 +153,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSentDate(Date sentDate) throws MailParseException {
|
||||
try {
|
||||
this.helper.setSentDate(sentDate);
|
||||
@@ -154,6 +163,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSubject(String subject) throws MailParseException {
|
||||
try {
|
||||
this.helper.setSubject(subject);
|
||||
@@ -163,6 +173,7 @@ public class MimeMailMessage implements MailMessage {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setText(String text) throws MailParseException {
|
||||
try {
|
||||
this.helper.setText(text);
|
||||
|
||||
@@ -1082,15 +1082,19 @@ public class MimeMessageHelper {
|
||||
final InputStreamSource inputStreamSource, final String contentType, final String name) {
|
||||
|
||||
return new DataSource() {
|
||||
@Override
|
||||
public InputStream getInputStream() throws IOException {
|
||||
return inputStreamSource.getInputStream();
|
||||
}
|
||||
@Override
|
||||
public OutputStream getOutputStream() {
|
||||
throw new UnsupportedOperationException("Read-only javax.activation.DataSource");
|
||||
}
|
||||
@Override
|
||||
public String getContentType() {
|
||||
return contentType;
|
||||
}
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class DelegatingTimerListener implements TimerListener {
|
||||
/**
|
||||
* Delegates execution to the underlying Runnable.
|
||||
*/
|
||||
@Override
|
||||
public void timerExpired(Timer timer) {
|
||||
this.runnable.run();
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ public class DelegatingWork implements Work {
|
||||
/**
|
||||
* Delegates execution to the underlying Runnable.
|
||||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
this.delegate.run();
|
||||
}
|
||||
@@ -66,6 +67,7 @@ public class DelegatingWork implements Work {
|
||||
* {@link org.springframework.scheduling.SchedulingAwareRunnable#isLongLived()},
|
||||
* if available.
|
||||
*/
|
||||
@Override
|
||||
public boolean isDaemon() {
|
||||
return (this.delegate instanceof SchedulingAwareRunnable &&
|
||||
((SchedulingAwareRunnable) this.delegate).isLongLived());
|
||||
@@ -75,6 +77,7 @@ public class DelegatingWork implements Work {
|
||||
* This implementation is empty, since we expect the Runnable
|
||||
* to terminate based on some specific shutdown signal.
|
||||
*/
|
||||
@Override
|
||||
public void release() {
|
||||
}
|
||||
|
||||
|
||||
@@ -95,6 +95,7 @@ public abstract class TimerManagerAccessor extends JndiLocatorSupport
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws NamingException {
|
||||
if (this.timerManager == null) {
|
||||
if (this.timerManagerName == null) {
|
||||
@@ -117,6 +118,7 @@ public abstract class TimerManagerAccessor extends JndiLocatorSupport
|
||||
* Resumes the underlying TimerManager (if not shared).
|
||||
* @see commonj.timers.TimerManager#resume()
|
||||
*/
|
||||
@Override
|
||||
public void start() {
|
||||
if (!this.shared) {
|
||||
this.timerManager.resume();
|
||||
@@ -127,6 +129,7 @@ public abstract class TimerManagerAccessor extends JndiLocatorSupport
|
||||
* Suspends the underlying TimerManager (if not shared).
|
||||
* @see commonj.timers.TimerManager#suspend()
|
||||
*/
|
||||
@Override
|
||||
public void stop() {
|
||||
if (!this.shared) {
|
||||
this.timerManager.suspend();
|
||||
@@ -139,6 +142,7 @@ public abstract class TimerManagerAccessor extends JndiLocatorSupport
|
||||
* @see commonj.timers.TimerManager#isSuspending()
|
||||
* @see commonj.timers.TimerManager#isStopping()
|
||||
*/
|
||||
@Override
|
||||
public boolean isRunning() {
|
||||
return (!this.timerManager.isSuspending() && !this.timerManager.isStopping());
|
||||
}
|
||||
@@ -152,6 +156,7 @@ public abstract class TimerManagerAccessor extends JndiLocatorSupport
|
||||
* Stops the underlying TimerManager (if not shared).
|
||||
* @see commonj.timers.TimerManager#stop()
|
||||
*/
|
||||
@Override
|
||||
public void destroy() {
|
||||
// Stop the entire TimerManager, if necessary.
|
||||
if (!this.shared) {
|
||||
|
||||
@@ -76,6 +76,7 @@ public class TimerManagerFactoryBean extends TimerManagerAccessor
|
||||
// Implementation of InitializingBean interface
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws NamingException {
|
||||
super.afterPropertiesSet();
|
||||
if (this.scheduledTimerListeners != null) {
|
||||
@@ -105,15 +106,18 @@ public class TimerManagerFactoryBean extends TimerManagerAccessor
|
||||
// Implementation of FactoryBean interface
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public TimerManager getObject() {
|
||||
return getTimerManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends TimerManager> getObjectType() {
|
||||
TimerManager timerManager = getTimerManager();
|
||||
return (timerManager != null ? timerManager.getClass() : TimerManager.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -52,10 +52,12 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ScheduledFuture schedule(Runnable task, Trigger trigger) {
|
||||
return new ReschedulingTimerListener(errorHandlingTask(task, true), trigger).schedule();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduledFuture schedule(Runnable task, Date startTime) {
|
||||
TimerScheduledFuture futureTask = new TimerScheduledFuture(errorHandlingTask(task, false));
|
||||
Timer timer = getTimerManager().schedule(futureTask, startTime);
|
||||
@@ -63,6 +65,7 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
return futureTask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduledFuture scheduleAtFixedRate(Runnable task, Date startTime, long period) {
|
||||
TimerScheduledFuture futureTask = new TimerScheduledFuture(errorHandlingTask(task, true));
|
||||
Timer timer = getTimerManager().scheduleAtFixedRate(futureTask, startTime, period);
|
||||
@@ -70,6 +73,7 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
return futureTask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduledFuture scheduleAtFixedRate(Runnable task, long period) {
|
||||
TimerScheduledFuture futureTask = new TimerScheduledFuture(errorHandlingTask(task, true));
|
||||
Timer timer = getTimerManager().scheduleAtFixedRate(futureTask, 0, period);
|
||||
@@ -77,6 +81,7 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
return futureTask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduledFuture scheduleWithFixedDelay(Runnable task, Date startTime, long delay) {
|
||||
TimerScheduledFuture futureTask = new TimerScheduledFuture(errorHandlingTask(task, true));
|
||||
Timer timer = getTimerManager().schedule(futureTask, startTime, delay);
|
||||
@@ -84,6 +89,7 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
return futureTask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ScheduledFuture scheduleWithFixedDelay(Runnable task, long delay) {
|
||||
TimerScheduledFuture futureTask = new TimerScheduledFuture(errorHandlingTask(task, true));
|
||||
Timer timer = getTimerManager().schedule(futureTask, 0, delay);
|
||||
@@ -113,6 +119,7 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
this.timer = timer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void timerExpired(Timer timer) {
|
||||
runAndReset();
|
||||
}
|
||||
@@ -125,10 +132,12 @@ public class TimerManagerTaskScheduler extends TimerManagerAccessor implements T
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getDelay(TimeUnit unit) {
|
||||
return unit.convert(System.currentTimeMillis() - this.timer.getScheduledExecutionTime(), TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Delayed other) {
|
||||
if (this == other) {
|
||||
return 0;
|
||||
|
||||
@@ -109,6 +109,7 @@ public class WorkManagerTaskExecutor extends JndiLocatorSupport
|
||||
this.workListener = workListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws NamingException {
|
||||
if (this.workManager == null) {
|
||||
if (this.workManagerName == null) {
|
||||
@@ -123,6 +124,7 @@ public class WorkManagerTaskExecutor extends JndiLocatorSupport
|
||||
// Implementation of the Spring SchedulingTaskExecutor interface
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void execute(Runnable task) {
|
||||
Assert.state(this.workManager != null, "No WorkManager specified");
|
||||
Work work = new DelegatingWork(task);
|
||||
@@ -142,16 +144,19 @@ public class WorkManagerTaskExecutor extends JndiLocatorSupport
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(Runnable task, long startTimeout) {
|
||||
execute(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Future<?> submit(Runnable task) {
|
||||
FutureTask<Object> future = new FutureTask<Object>(task, null);
|
||||
execute(future);
|
||||
return future;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Future<T> submit(Callable<T> task) {
|
||||
FutureTask<T> future = new FutureTask<T>(task);
|
||||
execute(future);
|
||||
@@ -161,6 +166,7 @@ public class WorkManagerTaskExecutor extends JndiLocatorSupport
|
||||
/**
|
||||
* This task executor prefers short-lived work units.
|
||||
*/
|
||||
@Override
|
||||
public boolean prefersShortLivedTasks() {
|
||||
return true;
|
||||
}
|
||||
@@ -170,24 +176,28 @@ public class WorkManagerTaskExecutor extends JndiLocatorSupport
|
||||
// Implementation of the CommonJ WorkManager interface
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public WorkItem schedule(Work work)
|
||||
throws WorkException, IllegalArgumentException {
|
||||
|
||||
return this.workManager.schedule(work);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkItem schedule(Work work, WorkListener workListener)
|
||||
throws WorkException, IllegalArgumentException {
|
||||
|
||||
return this.workManager.schedule(work, workListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean waitForAll(Collection workItems, long timeout)
|
||||
throws InterruptedException, IllegalArgumentException {
|
||||
|
||||
return this.workManager.waitForAll(workItems, timeout);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection waitForAny(Collection workItems, long timeout)
|
||||
throws InterruptedException, IllegalArgumentException {
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ public class AdaptableJobFactory implements JobFactory {
|
||||
/**
|
||||
* Quartz 1.x version of newJob: contains actual implementation code.
|
||||
*/
|
||||
@Override
|
||||
public Job newJob(TriggerFiredBundle bundle) throws SchedulerException {
|
||||
try {
|
||||
Object jobObject = createJobInstance(bundle);
|
||||
|
||||
@@ -139,15 +139,18 @@ public class CronTriggerBean extends CronTrigger
|
||||
this.jobDetail = jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JobDetail getJobDetail() {
|
||||
return this.jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
if (this.startDelay > 0) {
|
||||
setStartTime(new Date(System.currentTimeMillis() + this.startDelay));
|
||||
|
||||
@@ -191,11 +191,13 @@ public class CronTriggerFactoryBean implements FactoryBean<CronTrigger>, BeanNam
|
||||
this.misfireInstruction = constants.asNumber(constantName).intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
if (this.name == null) {
|
||||
this.name = this.beanName;
|
||||
@@ -265,14 +267,17 @@ public class CronTriggerFactoryBean implements FactoryBean<CronTrigger>, BeanNam
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CronTrigger getObject() {
|
||||
return this.cronTrigger;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getObjectType() {
|
||||
return CronTrigger.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ public class DelegatingJob implements Job {
|
||||
/**
|
||||
* Delegates execution to the underlying Runnable.
|
||||
*/
|
||||
@Override
|
||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
this.delegate.run();
|
||||
}
|
||||
|
||||
@@ -115,10 +115,12 @@ public class JobDetailBean extends JobDetail
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) {
|
||||
this.applicationContext = applicationContext;
|
||||
}
|
||||
@@ -144,6 +146,7 @@ public class JobDetailBean extends JobDetail
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
if (getName() == null) {
|
||||
setName(this.beanName);
|
||||
|
||||
@@ -139,10 +139,12 @@ public class JobDetailFactoryBean
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) {
|
||||
this.applicationContext = applicationContext;
|
||||
}
|
||||
@@ -168,6 +170,7 @@ public class JobDetailFactoryBean
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
if (this.name == null) {
|
||||
this.name = this.beanName;
|
||||
@@ -215,14 +218,17 @@ public class JobDetailFactoryBean
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JobDetail getObject() {
|
||||
return this.jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getObjectType() {
|
||||
return JobDetail.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -101,10 +101,12 @@ public class LocalDataSourceJobStore extends JobStoreCMT {
|
||||
DBConnectionManager.getInstance().addConnectionProvider(
|
||||
TX_DATA_SOURCE_PREFIX + getInstanceName(),
|
||||
new ConnectionProvider() {
|
||||
@Override
|
||||
public Connection getConnection() throws SQLException {
|
||||
// Return a transactional Connection, if any.
|
||||
return DataSourceUtils.doGetConnection(dataSource);
|
||||
}
|
||||
@Override
|
||||
public void shutdown() {
|
||||
// Do nothing - a Spring-managed DataSource has its own lifecycle.
|
||||
}
|
||||
@@ -124,10 +126,12 @@ public class LocalDataSourceJobStore extends JobStoreCMT {
|
||||
DBConnectionManager.getInstance().addConnectionProvider(
|
||||
NON_TX_DATA_SOURCE_PREFIX + getInstanceName(),
|
||||
new ConnectionProvider() {
|
||||
@Override
|
||||
public Connection getConnection() throws SQLException {
|
||||
// Always return a non-transactional Connection.
|
||||
return nonTxDataSourceToUse.getConnection();
|
||||
}
|
||||
@Override
|
||||
public void shutdown() {
|
||||
// Do nothing - a Spring-managed DataSource has its own lifecycle.
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public class LocalTaskExecutorThreadPool implements ThreadPool {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void initialize() throws SchedulerConfigException {
|
||||
// Absolutely needs thread-bound TaskExecutor to initialize.
|
||||
this.taskExecutor = SchedulerFactoryBean.getConfigTimeTaskExecutor();
|
||||
@@ -57,14 +58,17 @@ public class LocalTaskExecutorThreadPool implements ThreadPool {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown(boolean waitForJobsToComplete) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPoolSize() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean runInThread(Runnable runnable) {
|
||||
if (runnable == null) {
|
||||
return false;
|
||||
@@ -79,6 +83,7 @@ public class LocalTaskExecutorThreadPool implements ThreadPool {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int blockForAvailableThreads() {
|
||||
// The present implementation always returns 1, making Quartz (1.6)
|
||||
// always schedule any tasks that it feels like scheduling.
|
||||
|
||||
@@ -176,14 +176,17 @@ public class MethodInvokingJobDetailFactoryBean extends ArgumentConvertingMethod
|
||||
this.jobListenerNames = names;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanClassLoader(ClassLoader classLoader) {
|
||||
this.beanClassLoader = classLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanFactory(BeanFactory beanFactory) {
|
||||
this.beanFactory = beanFactory;
|
||||
}
|
||||
@@ -194,6 +197,7 @@ public class MethodInvokingJobDetailFactoryBean extends ArgumentConvertingMethod
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws ClassNotFoundException, NoSuchMethodException {
|
||||
prepare();
|
||||
|
||||
@@ -272,14 +276,17 @@ public class MethodInvokingJobDetailFactoryBean extends ArgumentConvertingMethod
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public JobDetail getObject() {
|
||||
return this.jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends JobDetail> getObjectType() {
|
||||
return (this.jobDetail != null ? this.jobDetail.getClass() : JobDetail.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -95,6 +95,7 @@ public abstract class QuartzJobBean implements Job {
|
||||
* values, and delegates to {@code executeInternal} afterwards.
|
||||
* @see #executeInternal
|
||||
*/
|
||||
@Override
|
||||
public final void execute(JobExecutionContext context) throws JobExecutionException {
|
||||
try {
|
||||
// Reflectively adapting to differences between Quartz 1.x and Quartz 2.0...
|
||||
|
||||
@@ -62,6 +62,7 @@ public class ResourceLoaderClassLoadHelper implements ClassLoadHelper {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
if (this.resourceLoader == null) {
|
||||
this.resourceLoader = SchedulerFactoryBean.getConfigTimeResourceLoader();
|
||||
@@ -71,6 +72,7 @@ public class ResourceLoaderClassLoadHelper implements ClassLoadHelper {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class loadClass(String name) throws ClassNotFoundException {
|
||||
return this.resourceLoader.getClassLoader().loadClass(name);
|
||||
}
|
||||
@@ -80,6 +82,7 @@ public class ResourceLoaderClassLoadHelper implements ClassLoadHelper {
|
||||
return loadClass(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public URL getResource(String name) {
|
||||
Resource resource = this.resourceLoader.getResource(name);
|
||||
try {
|
||||
@@ -94,6 +97,7 @@ public class ResourceLoaderClassLoadHelper implements ClassLoadHelper {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public InputStream getResourceAsStream(String name) {
|
||||
Resource resource = this.resourceLoader.getResource(name);
|
||||
try {
|
||||
@@ -108,6 +112,7 @@ public class ResourceLoaderClassLoadHelper implements ClassLoadHelper {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassLoader getClassLoader() {
|
||||
return this.resourceLoader.getClassLoader();
|
||||
}
|
||||
|
||||
@@ -238,6 +238,7 @@ public abstract class SchedulerAccessor implements ResourceLoaderAware {
|
||||
this.transactionManager = transactionManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setResourceLoader(ResourceLoader resourceLoader) {
|
||||
this.resourceLoader = resourceLoader;
|
||||
}
|
||||
|
||||
@@ -73,11 +73,13 @@ public class SchedulerAccessorBean extends SchedulerAccessor implements BeanFact
|
||||
return this.scheduler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanFactory(BeanFactory beanFactory) {
|
||||
this.beanFactory = beanFactory;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws SchedulerException {
|
||||
if (this.scheduler == null) {
|
||||
if (this.schedulerName != null) {
|
||||
|
||||
@@ -369,6 +369,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
* the scheduler will start after the context is refreshed and after the
|
||||
* start delay, if any.
|
||||
*/
|
||||
@Override
|
||||
public boolean isAutoStartup() {
|
||||
return this.autoStartup;
|
||||
}
|
||||
@@ -387,6 +388,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
/**
|
||||
* Return the phase in which this scheduler will be started and stopped.
|
||||
*/
|
||||
@Override
|
||||
public int getPhase() {
|
||||
return this.phase;
|
||||
}
|
||||
@@ -426,12 +428,14 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setBeanName(String name) {
|
||||
if (this.schedulerName == null) {
|
||||
this.schedulerName = name;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) {
|
||||
this.applicationContext = applicationContext;
|
||||
}
|
||||
@@ -441,6 +445,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
// Implementation of InitializingBean interface
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
if (this.dataSource == null && this.nonTransactionalDataSource != null) {
|
||||
this.dataSource = this.nonTransactionalDataSource;
|
||||
@@ -689,14 +694,17 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
return this.scheduler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Scheduler getObject() {
|
||||
return this.scheduler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Scheduler> getObjectType() {
|
||||
return (this.scheduler != null) ? this.scheduler.getClass() : Scheduler.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
@@ -706,6 +714,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
// Implementation of Lifecycle interface
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public void start() throws SchedulingException {
|
||||
if (this.scheduler != null) {
|
||||
try {
|
||||
@@ -717,6 +726,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() throws SchedulingException {
|
||||
if (this.scheduler != null) {
|
||||
try {
|
||||
@@ -728,11 +738,13 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(Runnable callback) throws SchedulingException {
|
||||
stop();
|
||||
callback.run();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRunning() throws SchedulingException {
|
||||
if (this.scheduler != null) {
|
||||
try {
|
||||
@@ -754,6 +766,7 @@ public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBe
|
||||
* Shut down the Quartz scheduler on bean factory shutdown,
|
||||
* stopping all scheduled jobs.
|
||||
*/
|
||||
@Override
|
||||
public void destroy() throws SchedulerException {
|
||||
logger.info("Shutting down Quartz Scheduler");
|
||||
this.scheduler.shutdown(this.waitForJobsToCompleteOnShutdown);
|
||||
|
||||
@@ -59,11 +59,13 @@ public class SimpleThreadPoolTaskExecutor extends SimpleThreadPool
|
||||
this.waitForJobsToCompleteOnShutdown = waitForJobsToCompleteOnShutdown;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws SchedulerConfigException {
|
||||
initialize();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(Runnable task) {
|
||||
Assert.notNull(task, "Runnable must not be null");
|
||||
if (!runInThread(task)) {
|
||||
@@ -71,16 +73,19 @@ public class SimpleThreadPoolTaskExecutor extends SimpleThreadPool
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(Runnable task, long startTimeout) {
|
||||
execute(task);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Future<?> submit(Runnable task) {
|
||||
FutureTask<Object> future = new FutureTask<Object>(task, null);
|
||||
execute(future);
|
||||
return future;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> Future<T> submit(Callable<T> task) {
|
||||
FutureTask<T> future = new FutureTask<T>(task);
|
||||
execute(future);
|
||||
@@ -90,11 +95,13 @@ public class SimpleThreadPoolTaskExecutor extends SimpleThreadPool
|
||||
/**
|
||||
* This task executor prefers short-lived work units.
|
||||
*/
|
||||
@Override
|
||||
public boolean prefersShortLivedTasks() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void destroy() {
|
||||
shutdown(this.waitForJobsToCompleteOnShutdown);
|
||||
}
|
||||
|
||||
@@ -144,15 +144,18 @@ public class SimpleTriggerBean extends SimpleTrigger
|
||||
this.jobDetail = jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JobDetail getJobDetail() {
|
||||
return this.jobDetail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws ParseException {
|
||||
if (getName() == null) {
|
||||
setName(this.beanName);
|
||||
|
||||
@@ -195,11 +195,13 @@ public class SimpleTriggerFactoryBean implements FactoryBean<SimpleTrigger>, Bea
|
||||
this.misfireInstruction = constants.asNumber(constantName).intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws ParseException {
|
||||
if (this.name == null) {
|
||||
this.name = this.beanName;
|
||||
@@ -266,14 +268,17 @@ public class SimpleTriggerFactoryBean implements FactoryBean<SimpleTrigger>, Bea
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public SimpleTrigger getObject() {
|
||||
return this.simpleTrigger;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<?> getObjectType() {
|
||||
return SimpleTrigger.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public class SpringBeanJobFactory extends AdaptableJobFactory implements Schedul
|
||||
this.ignoredUnknownProperties = ignoredUnknownProperties;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSchedulerContext(SchedulerContext schedulerContext) {
|
||||
this.schedulerContext = schedulerContext;
|
||||
}
|
||||
|
||||
@@ -56,19 +56,23 @@ public class FreeMarkerConfigurationFactoryBean extends FreeMarkerConfigurationF
|
||||
private Configuration configuration;
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws IOException, TemplateException {
|
||||
this.configuration = createConfiguration();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Configuration getObject() {
|
||||
return this.configuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Configuration> getObjectType() {
|
||||
return Configuration.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public class SpringTemplateLoader implements TemplateLoader {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object findTemplateSource(String name) throws IOException {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Looking for FreeMarker template with name [" + name + "]");
|
||||
@@ -71,6 +72,7 @@ public class SpringTemplateLoader implements TemplateLoader {
|
||||
return (resource.exists() ? resource : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Reader getReader(Object templateSource, String encoding) throws IOException {
|
||||
Resource resource = (Resource) templateSource;
|
||||
try {
|
||||
@@ -85,6 +87,7 @@ public class SpringTemplateLoader implements TemplateLoader {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getLastModified(Object templateSource) {
|
||||
Resource resource = (Resource) templateSource;
|
||||
try {
|
||||
@@ -99,6 +102,7 @@ public class SpringTemplateLoader implements TemplateLoader {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeTemplateSource(Object templateSource) throws IOException {
|
||||
}
|
||||
|
||||
|
||||
@@ -40,9 +40,11 @@ public class CommonsLoggingLogSystem implements LogSystem {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(VelocityEngine.class);
|
||||
|
||||
@Override
|
||||
public void init(RuntimeServices runtimeServices) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logVelocityMessage(int type, String msg) {
|
||||
switch (type) {
|
||||
case ERROR_ID:
|
||||
|
||||
@@ -53,19 +53,23 @@ public class VelocityEngineFactoryBean extends VelocityEngineFactory
|
||||
private VelocityEngine velocityEngine;
|
||||
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws IOException, VelocityException {
|
||||
this.velocityEngine = createVelocityEngine();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public VelocityEngine getObject() {
|
||||
return this.velocityEngine;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends VelocityEngine> getObjectType() {
|
||||
return VelocityEngine.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSingleton() {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user