private void setUpParameters() { parameters = new DecryptParameters(); parameters.setCompress(true); parameters.setOutputPrefix("test_prefix_"); parameters.setExistingOutputPolicy(ExistingOutputPolicy.SKIP); parameters.setVersion(PdfVersion.VERSION_1_6); }
public void execute(DecryptParameters parameters) throws TaskException { int currentStep = 0; for (PdfSource<?> source : parameters.getSourceList()) { currentStep++; LOG.debug("Opening {} ", source); reader = source.open(sourceOpener); File tmpFile = createTemporaryPdfBuffer(); LOG.debug("Created output temporary buffer {} ", tmpFile); stamperHandler = new PdfStamperHandler(reader, tmpFile, parameters.getVersion()); stamperHandler.setCompressionOnStamper(parameters.isCompress()); stamperHandler.setCreatorOnStamper(reader); nullSafeClosePdfReader(reader); nullSafeCloseQuietly(stamperHandler); String outName = nameGenerator(parameters.getOutputPrefix()).generate( nameRequest().originalName(source.getName()).fileNumber(currentStep)); outputWriter.addOutput(file(tmpFile).name(outName)); notifyEvent(getNotifiableTaskMetadata()).stepsCompleted(currentStep).outOf(totalSteps); } parameters.getOutput().accept(outputWriter); LOG.debug("Input documents decrypted and written to {}", parameters.getOutput()); }
@Override public void before(DecryptParameters parameters, TaskExecutionContext executionContext) throws TaskException { super.before(parameters, executionContext); totalSteps = parameters.getSourceList().size(); documentLoader = new DefaultPdfSourceOpener(); outputWriter = OutputWriters.newMultipleOutputWriter(parameters.getExistingOutputPolicy(), executionContext); }
public void before(DecryptParameters parameters) { totalSteps = parameters.getSourceList().size(); sourceOpener = PdfSourceOpeners.newPartialReadOpener(); outputWriter = OutputWriters.newMultipleOutputWriter(parameters.isOverwrite()); }
@Test public void testEquals() { DecryptParameters eq1 = new DecryptParameters(); DecryptParameters eq2 = new DecryptParameters(); DecryptParameters eq3 = new DecryptParameters(); DecryptParameters diff = new DecryptParameters(); diff.setOutputPrefix("prefix"); TestUtils.testEqualsAndHashCodes(eq1, eq2, eq3, diff); } }
@Test public void testOutputPrefix_Default() { DecryptParameters parameters = defaultCommandLine().invokeSejdaConsole(); assertEquals("", parameters.getOutputPrefix()); } }
/** * Transforms {@link DecryptTaskCliArguments} to {@link DecryptParameters} * * @param taskCliArguments * @return populated task parameters */ @Override public DecryptParameters toTaskParameters(DecryptTaskCliArguments taskCliArguments) { DecryptParameters parameters = new DecryptParameters(); populateAbstractParameters(parameters, taskCliArguments); populateSourceParameters(parameters, taskCliArguments); populateOutputTaskParameters(parameters, taskCliArguments); populateOutputPrefix(parameters, taskCliArguments); return parameters; }
@Override public void execute() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/enc_owner_compressed.pdf")); testContext.directoryOutputTo(parameters); DecryptTaskTest.this.execute(parameters); asserts(1); } };
@Test public void testOutputPrefix_Specified() { DecryptParameters parameters = defaultCommandLine().with("-p", "fooPrefix") .invokeSejdaConsole(); assertEquals("fooPrefix", parameters.getOutputPrefix()); }
@Override public void execute() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/enc_owner_uncompressed.pdf")); testContext.directoryOutputTo(parameters); DecryptTaskTest.this.execute(parameters); asserts(1); } };
@Override public void execute(DecryptParameters parameters) throws TaskException { int currentStep = 0; for (PdfSource<?> source : parameters.getSourceList()) { executionContext().assertTaskNotCancelled(); currentStep++; LOG.debug("Opening {}", source); documentHandler = source.open(documentLoader); documentHandler.getPermissions().ensureOwnerPermissions(); documentHandler.setCreatorOnPDDocument(); File tmpFile = createTemporaryBuffer(parameters.getOutput()); LOG.debug("Created output on temporary buffer {}", tmpFile); documentHandler.setVersionOnPDDocument(parameters.getVersion()); documentHandler.setCompress(parameters.isCompress()); documentHandler.savePDDocument(tmpFile); String outName = nameGenerator(parameters.getOutputPrefix()).generate( nameRequest().originalName(source.getName()).fileNumber(currentStep)); outputWriter.addOutput(file(tmpFile).name(outName)); nullSafeCloseQuietly(documentHandler); notifyEvent(executionContext().notifiableTaskMetadata()).stepsCompleted(currentStep).outOf(totalSteps); } parameters.getOutput().accept(outputWriter); LOG.debug("Input documents decrypted and written to {}", parameters.getOutput()); }
@Override public void before(DecryptParameters parameters, TaskExecutionContext executionContext) throws TaskException { super.before(parameters, executionContext); totalSteps = parameters.getSourceList().size(); documentLoader = new DefaultPdfSourceOpener(); outputWriter = OutputWriters.newMultipleOutputWriter(parameters.getExistingOutputPolicy(), executionContext); }
@Test public void executeNoPwd() throws IOException { setUpParameters(); parameters.addSource(customEncryptedInput("pdf/enc_test_test_file.pdf", "test")); parameters.addSource(customEncryptedInput("pdf/enc_empty_pwd.pdf", "")); testContext.directoryOutputTo(parameters); execute(parameters); asserts(2); }
@Override public void execute(DecryptParameters parameters) throws TaskException { int currentStep = 0; for (PdfSource<?> source : parameters.getSourceList()) { executionContext().assertTaskNotCancelled(); currentStep++; LOG.debug("Opening {}", source); documentHandler = source.open(documentLoader); documentHandler.getPermissions().ensureOwnerPermissions(); documentHandler.setCreatorOnPDDocument(); File tmpFile = createTemporaryBuffer(parameters.getOutput()); LOG.debug("Created output on temporary buffer {}", tmpFile); documentHandler.setVersionOnPDDocument(parameters.getVersion()); documentHandler.setCompress(parameters.isCompress()); documentHandler.savePDDocument(tmpFile); String outName = nameGenerator(parameters.getOutputPrefix()).generate( nameRequest().originalName(source.getName()).fileNumber(currentStep)); outputWriter.addOutput(file(tmpFile).name(outName)); nullSafeCloseQuietly(documentHandler); notifyEvent(executionContext().notifiableTaskMetadata()).stepsCompleted(currentStep).outOf(totalSteps); } parameters.getOutput().accept(outputWriter); LOG.debug("Input documents decrypted and written to {}", parameters.getOutput()); }
@Test public void executeSamePwd() throws IOException { setUpParameters(); parameters.addSource(customEncryptedInput("pdf/enc_usr_own_same_pwd.pdf", "test")); testContext.directoryOutputTo(parameters); execute(parameters); asserts(1); }
@Test public void execute() throws IOException { setUpParameters(); parameters.addSource(customEncryptedInput("pdf/enc_test_test_file.pdf", "test")); testContext.directoryOutputTo(parameters); execute(parameters); asserts(1); }
@Test public void executeOwnerCompressed() throws IOException { setUpParameters(); parameters.addSource(customEncryptedInput("pdf/enc_owner_compressed.pdf", "test")); testContext.directoryOutputTo(parameters); execute(parameters); asserts(1); }
@Test public void executeOwnerUnompressed() throws IOException { setUpParameters(); parameters.addSource(customEncryptedInput("pdf/enc_owner_uncompressed.pdf", "test")); testContext.directoryOutputTo(parameters); execute(parameters); asserts(1); }
@Override public void execute() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/enc_owner_compressed.pdf")); testContext.directoryOutputTo(parameters); TestListenerFailed failListener = TestListenerFactory.newFailedListener(); ThreadLocalNotificationContext.getContext().addListener(failListener); DecryptTaskTest.this.execute(parameters); assertTrue(failListener.isFailed()); } };
@Override public void execute() throws IOException { setUpParameters(); parameters.addSource(customInput("pdf/enc_owner_uncompressed.pdf")); testContext.directoryOutputTo(parameters); TestListenerFailed failListener = TestListenerFactory.newFailedListener(); ThreadLocalNotificationContext.getContext().addListener(failListener); DecryptTaskTest.this.execute(parameters); assertTrue("Expected task to fail, it did not.", failListener.isFailed()); } };