master
Arjen Poutsma 6 years ago
parent 40148c0560
commit e31914bada
  1. 6
      spring-core/src/main/java/org/springframework/core/codec/CharSequenceEncoder.java
  2. 10
      spring-core/src/main/java/org/springframework/core/io/buffer/DefaultDataBufferFactory.java

@ -82,14 +82,12 @@ public final class CharSequenceEncoder extends AbstractEncoder<CharSequence> {
} }
private Charset getCharset(@Nullable MimeType mimeType) { private Charset getCharset(@Nullable MimeType mimeType) {
Charset charset;
if (mimeType != null && mimeType.getCharset() != null) { if (mimeType != null && mimeType.getCharset() != null) {
charset = mimeType.getCharset(); return mimeType.getCharset();
} }
else { else {
charset = DEFAULT_CHARSET; return DEFAULT_CHARSET;
} }
return charset;
} }

@ -98,7 +98,7 @@ public class DefaultDataBufferFactory implements DataBufferFactory {
} }
@Override @Override
public DataBuffer wrap(byte[] bytes) { public DefaultDataBuffer wrap(byte[] bytes) {
ByteBuffer wrapper = ByteBuffer.wrap(bytes); ByteBuffer wrapper = ByteBuffer.wrap(bytes);
return DefaultDataBuffer.fromFilledByteBuffer(this, wrapper); return DefaultDataBuffer.fromFilledByteBuffer(this, wrapper);
} }
@ -109,16 +109,14 @@ public class DefaultDataBufferFactory implements DataBufferFactory {
* in {@code dataBuffers}. * in {@code dataBuffers}.
*/ */
@Override @Override
public DataBuffer join(List<? extends DataBuffer> dataBuffers) { public DefaultDataBuffer join(List<? extends DataBuffer> dataBuffers) {
Assert.notEmpty(dataBuffers, "'dataBuffers' must not be empty"); Assert.notEmpty(dataBuffers, "'dataBuffers' must not be empty");
int capacity = dataBuffers.stream() int capacity = dataBuffers.stream()
.mapToInt(DataBuffer::readableByteCount) .mapToInt(DataBuffer::readableByteCount)
.sum(); .sum();
DefaultDataBuffer dataBuffer = allocateBuffer(capacity); DefaultDataBuffer result = allocateBuffer(capacity);
DataBuffer result = dataBuffers.stream() dataBuffers.forEach(result::write);
.map(o -> (DataBuffer) o)
.reduce(dataBuffer, DataBuffer::write);
dataBuffers.forEach(DataBufferUtils::release); dataBuffers.forEach(DataBufferUtils::release);
return result; return result;
} }

Loading…
Cancel
Save