diff --git a/spring-integration-twitter/src/main/java/org/springframework/integration/twitter/inbound/AbstractTwitterMessageSource.java b/spring-integration-twitter/src/main/java/org/springframework/integration/twitter/inbound/AbstractTwitterMessageSource.java index 8d630b24f6..9ae51e272d 100644 --- a/spring-integration-twitter/src/main/java/org/springframework/integration/twitter/inbound/AbstractTwitterMessageSource.java +++ b/spring-integration-twitter/src/main/java/org/springframework/integration/twitter/inbound/AbstractTwitterMessageSource.java @@ -102,31 +102,29 @@ abstract class AbstractTwitterMessageSource extends IntegrationObjectSupport } StringBuilder metadataKeyBuilder = new StringBuilder(); if (StringUtils.hasText(this.getComponentType())) { - metadataKeyBuilder.append(this.getComponentType() + "."); + metadataKeyBuilder.append(this.getComponentType()); } if (StringUtils.hasText(this.getComponentName())) { - metadataKeyBuilder.append(this.getComponentName() + "."); + metadataKeyBuilder.append("." + this.getComponentName()); } else if (logger.isWarnEnabled()) { logger.warn(this.getClass().getSimpleName() + " has no name. MetadataStore key might not be unique."); } if (this.twitter.isAuthorized()){ - - UserOperations userOperations = this.twitter.userOperations(); + UserOperations userOperations = this.twitter.userOperations(); String profileId = String.valueOf(userOperations.getProfileId()); - if (profileId != null) { - metadataKeyBuilder.append(profileId); + metadataKeyBuilder.append("." + profileId); } + } - this.metadataKey = metadataKeyBuilder.toString(); - String lastId = this.metadataStore.get(this.metadataKey); - // initialize the last status ID from the metadataStore - if (StringUtils.hasText(lastId)) { - this.lastProcessedId = Long.parseLong(lastId); - this.lastEnqueuedId = this.lastProcessedId; - } + this.metadataKey = metadataKeyBuilder.toString(); + String lastId = this.metadataStore.get(this.metadataKey); + // initialize the last status ID from the metadataStore + if (StringUtils.hasText(lastId)) { + this.lastProcessedId = Long.parseLong(lastId); + this.lastEnqueuedId = this.lastProcessedId; } } diff --git a/spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceTests.java b/spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceTests.java index 2b3c4eeb88..51a296a8f1 100644 --- a/spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceTests.java +++ b/spring-integration-twitter/src/test/java/org/springframework/integration/twitter/inbound/SearchReceivingMessageSourceTests.java @@ -79,17 +79,23 @@ public class SearchReceivingMessageSourceTests { public void testSearchReceivingMessageSourceInit() { final SearchReceivingMessageSource messageSource = new SearchReceivingMessageSource(new TwitterTemplate()); + messageSource.setComponentName("twitterSearchMessageSource"); final Object metadataStore = TestUtils.getPropertyValue(messageSource, "metadataStore"); + final Object metadataKey = TestUtils.getPropertyValue(messageSource, "metadataKey"); assertNull(metadataStore); + assertNull(metadataKey); messageSource.afterPropertiesSet(); final Object metadataStoreInitialized = TestUtils.getPropertyValue(messageSource, "metadataStore"); + final Object metadataKeyInitialized = TestUtils.getPropertyValue(messageSource, "metadataKey"); assertNotNull(metadataStoreInitialized); assertTrue(metadataStoreInitialized instanceof SimpleMetadataStore); + assertNotNull(metadataKeyInitialized); + assertEquals("twitter:search-inbound-channel-adapter.twitterSearchMessageSource", metadataKeyInitialized); final Twitter twitter = TestUtils.getPropertyValue(messageSource, "twitter", Twitter.class);