diff --git a/spring-integration-core/src/main/java/org/springframework/integration/splitter/AbstractMessageSplitter.java b/spring-integration-core/src/main/java/org/springframework/integration/splitter/AbstractMessageSplitter.java index 3a0e4b4e28..3d6bc3d4b1 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/splitter/AbstractMessageSplitter.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/splitter/AbstractMessageSplitter.java @@ -22,10 +22,9 @@ import java.util.Collections; import java.util.Iterator; import java.util.concurrent.atomic.AtomicInteger; -import reactor.function.Function; - import org.springframework.integration.handler.AbstractReplyProducingMessageHandler; import org.springframework.integration.support.AbstractIntegrationMessageBuilder; +import org.springframework.integration.util.Function; import org.springframework.integration.util.FunctionIterator; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; @@ -50,7 +49,7 @@ public abstract class AbstractMessageSplitter extends AbstractReplyProducingMess } @Override - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "deprecation" }) protected final Object handleRequestMessage(Message message) { Object result = this.splitMessage(message); // return null if 'null' diff --git a/spring-integration-core/src/main/java/org/springframework/integration/util/Function.java b/spring-integration-core/src/main/java/org/springframework/integration/util/Function.java new file mode 100644 index 0000000000..008c86e23f --- /dev/null +++ b/spring-integration-core/src/main/java/org/springframework/integration/util/Function.java @@ -0,0 +1,40 @@ +/* + * Copyright 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.integration.util; +/** + * Implementations of this class perform work on the given parameter and return a result of an optionally different + * type. + * + * @param The type of the input to the apply operation + * @param The type of the result of the apply operation + * + * @author Jon Brisbin + * @author Stephane Maldini + * @deprecated Use {@code reactor.Function} + */ +@Deprecated +public interface Function { + + /** + * Execute the logic of the action, accepting the given parameter. + * + * @param t The parameter to pass to the action. + * + * @return result + */ + R apply(T t); + +} diff --git a/spring-integration-core/src/main/java/org/springframework/integration/util/FunctionIterator.java b/spring-integration-core/src/main/java/org/springframework/integration/util/FunctionIterator.java index 749e0de7cf..230cfbe4f5 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/util/FunctionIterator.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/util/FunctionIterator.java @@ -19,8 +19,6 @@ package org.springframework.integration.util; import java.util.Iterator; import java.util.NoSuchElementException; -import reactor.function.Function; - /** * An {@link Iterator} implementation to convert each item from the target * {@link #iterator} to a new object applying the {@link #function} on {@link #next()}.