package org.springframework.integration.splitter; <<<<<<< HEAD ======= import java.util.ArrayList; import java.util.Collection; import java.util.List; >>>>>>> 9d22d8abce115be627b0611535d1bcaef28b9d37 import org.springframework.integration.Message; import org.springframework.integration.MessageHeaders; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
package org.springframework.integration.splitter; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.springframework.integration.Message; import org.springframework.integration.MessageHeaders; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler;
if (incomingSequenceDetails != null) { return null; } MessageHeaders headers = message.getHeaders(); <<<<<<< HEAD Object incomingCorrelationId = headers.getCorrelationId(); List incomingSequenceDetails = extractSequenceDetails(headers, incomingCorrelationId); Object correlationId = headers.getId(); List messageBuilders; if (result instanceof Collection) { messageBuilders = messageBuildersForCollection(result, incomingSequenceDetails, correlationId); } else if (result.getClass().isArray()) { messageBuilders = messageBuildersForArray(result, incomingSequenceDetails, correlationId); } else { messageBuilders = Collections.singletonList(this.createBuilder(result, incomingSequenceDetails, correlationId, 1, 1)); } return messageBuilders; } private List messageBuildersForArray(Object result, List incomingSequenceDetails, Object correlationId) { List messageBuilders = new ArrayList(); Object[] items = (Object[]) result; int sequenceNumber = 0; int sequenceSize = items.length; for (Object item : items) { messageBuilders.add(this.createBuilder( item, incomingSequenceDetails, correlationId, ++sequenceNumber, sequenceSize)); } return messageBuilders; } private List messageBuildersForCollection(Object result, List incomingSequenceDetails, Object correlationId) { List messageBuilders = new ArrayList(); Collection> items = (Collection>) result; int sequenceNumber = 0; int sequenceSize = items.size(); for (Object item : items) { messageBuilders.add(this.createBuilder( item, incomingSequenceDetails, correlationId, ++sequenceNumber, sequenceSize)); } return messageBuilders; } private List extractSequenceDetails(MessageHeaders headers, Object incomingCorrelationId) { List incomingSequenceDetails = headers.get(SEQUENCE_DETAILS, List.class); if (incomingCorrelationId != null) { if (incomingSequenceDetails == null) { incomingSequenceDetails = new ArrayList(); } else { incomingSequenceDetails = new ArrayList(incomingSequenceDetails); } incomingSequenceDetails.add(new Object[]{ incomingCorrelationId, headers.getSequenceNumber(), headers.getSequenceSize()}); incomingSequenceDetails = Collections.unmodifiableList(incomingSequenceDetails); } return incomingSequenceDetails; } @SuppressWarnings({"unchecked", "rawtypes"}) private MessageBuilder createBuilder(Object item, List incomingSequenceDetails, Object correlationId, int sequenceNumber, int sequenceSize) { MessageBuilder builder = (item instanceof Message) ? MessageBuilder.fromMessage((Message) item) : MessageBuilder.withPayload(item); builder.setCorrelationId(correlationId).setSequenceNumber(sequenceNumber).setSequenceSize(sequenceSize) .setHeader(MessageHeaders.ID, UUID.randomUUID()); builder.setHeader(SEQUENCE_DETAILS, incomingSequenceDetails); ======= Object correlationId = headers.getId(); List> messageBuilders = new ArrayList>(); if (result instanceof Collection) { Collection> items = (Collection>) result; int sequenceNumber = 0; int sequenceSize = items.size(); for (Object item : items) { messageBuilders.add(this.createBuilder(item, headers, correlationId, ++sequenceNumber, sequenceSize)); } } else if (result.getClass().isArray()) { Object[] items = (Object[]) result; int sequenceNumber = 0; int sequenceSize = items.length; for (Object item : items) { messageBuilders.add(this.createBuilder(item, headers, correlationId, ++sequenceNumber, sequenceSize)); } } else { messageBuilders.add(this.createBuilder(result, headers, correlationId, 1, 1)); } return messageBuilders; } @SuppressWarnings( { "unchecked" }) private MessageBuilder createBuilder(Object item, MessageHeaders headers, Object correlationId, int sequenceNumber, int sequenceSize) { MessageBuilder builder; if (item instanceof Message) { builder = MessageBuilder.fromMessage((Message) item); } else { builder = MessageBuilder.withPayload(item); builder.copyHeaders(headers); >>>>>>> 9d22d8abce115be627b0611535d1bcaef28b9d37 } builder.pushSequenceDetails(correlationId, sequenceNumber, sequenceSize); return builder;
return null; } MessageHeaders headers = message.getHeaders(); Object correlationId = headers.getId(); List> messageBuilders = new ArrayList>(); if (result instanceof Collection) { Collection> items = (Collection>) result; int sequenceNumber = 0; int sequenceSize = items.size(); for (Object item : items) { messageBuilders.add(this.createBuilder(item, headers, correlationId, ++sequenceNumber, sequenceSize)); } } else if (result.getClass().isArray()) { Object[] items = (Object[]) result; int sequenceNumber = 0; int sequenceSize = items.length; for (Object item : items) { messageBuilders.add(this.createBuilder(item, headers, correlationId, ++sequenceNumber, sequenceSize)); } } else { messageBuilders.add(this.createBuilder(result, headers, correlationId, 1, 1)); } return messageBuilders; } @SuppressWarnings( { "unchecked" }) private MessageBuilder createBuilder(Object item, MessageHeaders headers, Object correlationId, int sequenceNumber, int sequenceSize) { MessageBuilder builder; if (item instanceof Message) { builder = MessageBuilder.fromMessage((Message) item); } else { builder = MessageBuilder.withPayload(item); builder.copyHeaders(headers); } builder.pushSequenceDetails(correlationId, sequenceNumber, sequenceSize); return builder;