mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-25 22:02:05 +01:00
Make use of new ArmoredOutputStream.Builder
This commit is contained in:
parent
8cdb7ee4e0
commit
e167fa37f3
2 changed files with 22 additions and 30 deletions
|
@ -30,7 +30,6 @@ import org.pgpainless.algorithm.StreamEncoding;
|
||||||
import org.pgpainless.algorithm.SymmetricKeyAlgorithm;
|
import org.pgpainless.algorithm.SymmetricKeyAlgorithm;
|
||||||
import org.pgpainless.implementation.ImplementationFactory;
|
import org.pgpainless.implementation.ImplementationFactory;
|
||||||
import org.pgpainless.key.SubkeyIdentifier;
|
import org.pgpainless.key.SubkeyIdentifier;
|
||||||
import org.pgpainless.util.ArmorUtils;
|
|
||||||
import org.pgpainless.util.ArmoredOutputStreamFactory;
|
import org.pgpainless.util.ArmoredOutputStreamFactory;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -91,20 +90,6 @@ public final class EncryptionStream extends OutputStream {
|
||||||
|
|
||||||
LOGGER.debug("Wrap encryption output in ASCII armor");
|
LOGGER.debug("Wrap encryption output in ASCII armor");
|
||||||
armorOutputStream = ArmoredOutputStreamFactory.get(outermostStream, options);
|
armorOutputStream = ArmoredOutputStreamFactory.get(outermostStream, options);
|
||||||
if (options.hasComment()) {
|
|
||||||
String[] commentLines = options.getComment().split("\n");
|
|
||||||
for (String commentLine : commentLines) {
|
|
||||||
if (!commentLine.trim().isEmpty()) {
|
|
||||||
ArmorUtils.addCommentHeader(armorOutputStream, commentLine.trim());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (options.hasVersion()) {
|
|
||||||
String version = options.getVersion().trim();
|
|
||||||
if (!version.isEmpty()) {
|
|
||||||
ArmorUtils.setVersionHeader(armorOutputStream, version);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
outermostStream = armorOutputStream;
|
outermostStream = armorOutputStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,18 @@ public final class ArmoredOutputStreamFactory {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ArmoredOutputStream.Builder getBuilder() {
|
||||||
|
ArmoredOutputStream.Builder builder = ArmoredOutputStream.builder();
|
||||||
|
builder.clearHeaders();
|
||||||
|
if (version != null && !version.isEmpty()) {
|
||||||
|
builder.setVersion(version);
|
||||||
|
}
|
||||||
|
for (String comment : comment) {
|
||||||
|
builder.addComment(comment);
|
||||||
|
}
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrap an {@link OutputStream} inside a preconfigured {@link ArmoredOutputStream}.
|
* Wrap an {@link OutputStream} inside a preconfigured {@link ArmoredOutputStream}.
|
||||||
*
|
*
|
||||||
|
@ -37,16 +49,7 @@ public final class ArmoredOutputStreamFactory {
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
@Nonnull
|
||||||
public static ArmoredOutputStream get(@Nonnull OutputStream outputStream) {
|
public static ArmoredOutputStream get(@Nonnull OutputStream outputStream) {
|
||||||
ArmoredOutputStream armoredOutputStream = new ArmoredOutputStream(outputStream);
|
return getBuilder().build(outputStream);
|
||||||
armoredOutputStream.clearHeaders();
|
|
||||||
if (version != null && !version.isEmpty()) {
|
|
||||||
armoredOutputStream.setHeader(ArmorUtils.HEADER_VERSION, version);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (String comment : comment) {
|
|
||||||
ArmorUtils.addCommentHeader(armoredOutputStream, comment);
|
|
||||||
}
|
|
||||||
return armoredOutputStream;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -58,13 +61,17 @@ public final class ArmoredOutputStreamFactory {
|
||||||
*/
|
*/
|
||||||
@Nonnull
|
@Nonnull
|
||||||
public static ArmoredOutputStream get(@Nonnull OutputStream outputStream, @Nonnull ProducerOptions options) {
|
public static ArmoredOutputStream get(@Nonnull OutputStream outputStream, @Nonnull ProducerOptions options) {
|
||||||
|
ArmoredOutputStream.Builder builder = getBuilder();
|
||||||
if (options.isHideArmorHeaders()) {
|
if (options.isHideArmorHeaders()) {
|
||||||
ArmoredOutputStream armorOut = new ArmoredOutputStream(outputStream);
|
builder.clearHeaders();
|
||||||
armorOut.clearHeaders();
|
|
||||||
return armorOut;
|
|
||||||
} else {
|
|
||||||
return get(outputStream);
|
|
||||||
}
|
}
|
||||||
|
if (options.hasVersion()) {
|
||||||
|
builder.setVersion(options.getVersion());
|
||||||
|
}
|
||||||
|
if (options.hasComment()) {
|
||||||
|
builder.setComment(options.getComment());
|
||||||
|
}
|
||||||
|
return builder.build(outputStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue