From 93a044f56d4cbfc3c9af0cef509f1cd4a9dcb85c Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Wed, 27 Oct 2010 11:51:14 -0400 Subject: [PATCH] INT-786 metadataKey no longer REQUIRES a componentName, but a WARN-level message is logged if a name is not set --- .../integration/feed/FeedEntryMessageSource.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/spring-integration-feed/src/main/java/org/springframework/integration/feed/FeedEntryMessageSource.java b/spring-integration-feed/src/main/java/org/springframework/integration/feed/FeedEntryMessageSource.java index b6ceff1e7c..2eed665034 100644 --- a/spring-integration-feed/src/main/java/org/springframework/integration/feed/FeedEntryMessageSource.java +++ b/spring-integration-feed/src/main/java/org/springframework/integration/feed/FeedEntryMessageSource.java @@ -127,8 +127,18 @@ public class FeedEntryMessageSource extends IntegrationObjectSupport implements this.metadataStore = new SimpleMetadataStore(); } } - Assert.hasText(this.getComponentName(), "FeedEntryReaderMessageSource must have a name"); - this.metadataKey = this.getComponentType() + "." + this.getComponentName() + "." + this.feedUrl; + StringBuilder metadataKeyBuilder = new StringBuilder(); + if (StringUtils.hasText(this.getComponentType())) { + metadataKeyBuilder.append(this.getComponentType() + "."); + } + if (StringUtils.hasText(this.getComponentName())) { + metadataKeyBuilder.append(this.getComponentName() + "."); + } + else if (logger.isWarnEnabled()) { + logger.warn("FeedEntryMessageSource has no name. MetadataStore key might not be unique."); + } + metadataKeyBuilder.append(this.feedUrl); + this.metadataKey = metadataKeyBuilder.toString(); String lastTimeValue = this.metadataStore.get(this.metadataKey); if (StringUtils.hasText(lastTimeValue)) { this.lastTime = Long.parseLong(lastTimeValue);