Skip to content

Commit 1cf8813

Browse files
author
Nathan McMinn
committed
Added "destination name" to relevant actions for consistency
1 parent 32617d9 commit 1cf8813

File tree

5 files changed

+62
-8
lines changed

5 files changed

+62
-8
lines changed

pdf-toolkit-repo/src/main/amp/config/alfresco/messages/pdf-toolkit.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ pdf-rotate.inplace.display-label=Execute in place
9898
pdf-encryption.title=Encrypt PDF
9999
pdf-encryption.description=Encrypt PDF document and set permissions
100100
pdf-encryption.destination-folder.display-label=Destination folder
101+
pdf-encryption.destination-name.display-label=Destination name
101102
pdf-encryption.user-password.display-label=User password
102103
pdf-encryption.owner-password.display-label=Owner password
103104
pdf-encryption.allow-print.display-label=Allow print
@@ -123,6 +124,7 @@ pdf-insert-at-page.inplace.display-label=Execute in place
123124
pdf-signature.title=Sign PDF
124125
pdf-signature.description=Digitally sign a PDF document
125126
pdf-signature.destination-folder.display-label=Destination Folder
127+
pdf-signature.destination-name.display-label=Destination name
126128
pdf-signature.private-key.display-label=Private Key
127129
pdf-signature.visibility.display-label=Apply visible signature
128130
pdf-signature.location.display-label=Location
@@ -155,6 +157,7 @@ pdf-watermark.title=Watermark PDF
155157
pdf-watermark.description=Add watermark to a PDF document
156158
pdf-watermark.watermark-image.display-label=Watermark image
157159
pdf-watermark.destination-folder.display-label=Destination folder
160+
pdf-watermark.destination-name.display-label=Destination name
158161
pdf-watermark.watermark-pages.display-label=Pages
159162
pdf-watermark.watermark-depth.display-label=Depth
160163
pdf-watermark.watermark-type.display-label=Type

pdf-toolkit-repo/src/main/java/org/alfresco/extension/pdftoolkit/repo/action/executer/PDFEncryptionActionExecuter.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.alfresco.service.cmr.repository.ContentReader;
4141
import org.alfresco.service.cmr.repository.ContentWriter;
4242
import org.alfresco.service.cmr.repository.NodeRef;
43+
import org.alfresco.service.cmr.repository.NodeService;
4344
import org.alfresco.service.namespace.QName;
4445
import org.alfresco.util.TempFileProvider;
4546
import org.apache.commons.logging.Log;
@@ -75,6 +76,7 @@ public class PDFEncryptionActionExecuter
7576
*/
7677
public static final String NAME = "pdf-encryption";
7778
public static final String PARAM_DESTINATION_FOLDER = "destination-folder";
79+
public static final String PARAM_DESTINATION_NAME = "destination-name";
7880

7981
/**
8082
* Encryption constants
@@ -129,7 +131,8 @@ protected void addParameterDefinitions(List<ParameterDefinition> paramList)
129131
paramList.add(new ParameterDefinitionImpl(PARAM_ALLOW_ASSEMBLY, DataTypeDefinition.BOOLEAN, true, getParamDisplayLabel(PARAM_ALLOW_ASSEMBLY)));
130132
paramList.add(new ParameterDefinitionImpl(PARAM_ENCRYPTION_LEVEL, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_ENCRYPTION_LEVEL), false, "pdfc-encryptionlevel"));
131133
paramList.add(new ParameterDefinitionImpl(PARAM_EXCLUDE_METADATA, DataTypeDefinition.BOOLEAN, true, getParamDisplayLabel(PARAM_EXCLUDE_METADATA)));
132-
134+
paramList.add(new ParameterDefinitionImpl(PARAM_DESTINATION_NAME, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_DESTINATION_NAME)));
135+
133136
super.addParameterDefinitions(paramList);
134137
}
135138

@@ -190,7 +193,8 @@ protected void doEncrypt(Action ruleAction, NodeRef actionedUponNodeRef, Content
190193
options.put(PARAM_EXCLUDE_METADATA, ruleAction.getParameterValue(PARAM_EXCLUDE_METADATA));
191194
options.put(PARAM_OPTIONS_LEVEL, ruleAction.getParameterValue(PARAM_OPTIONS_LEVEL));
192195
options.put(PARAM_INPLACE, ruleAction.getParameterValue(PARAM_INPLACE));
193-
196+
options.put(PARAM_DESTINATION_FOLDER, ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER));
197+
194198
try
195199
{
196200
this.action(ruleAction, actionedUponNodeRef, actionedUponContentReader, options);
@@ -215,7 +219,8 @@ protected final void action(Action ruleAction, NodeRef actionedUponNodeRef, Cont
215219
PdfStamper stamp = null;
216220
File tempDir = null;
217221
ContentWriter writer = null;
218-
222+
NodeService ns = serviceRegistry.getNodeService();
223+
219224
try
220225
{
221226
// get the parameters
@@ -245,8 +250,19 @@ protected final void action(Action ruleAction, NodeRef actionedUponNodeRef, Cont
245250
stamp.setEncryption(userPassword.getBytes(Charset.forName("UTF-8")), ownerPassword.getBytes(Charset.forName("UTF-8")), permissions, encryptionType);
246251
stamp.close();
247252

253+
Serializable providedName = ruleAction.getParameterValue(PARAM_DESTINATION_NAME);
254+
String fileName = null;
255+
if(providedName != null)
256+
{
257+
fileName = String.valueOf(providedName) + FILE_EXTENSION;
258+
}
259+
else
260+
{
261+
fileName = String.valueOf(ns.getProperty(actionedUponNodeRef, ContentModel.PROP_NAME));
262+
}
263+
248264
// write out to destination
249-
NodeRef destinationNode = createDestinationNode(file.getName(),
265+
NodeRef destinationNode = createDestinationNode(fileName,
250266
(NodeRef)ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER), actionedUponNodeRef, inplace);
251267
writer = serviceRegistry.getContentService().getWriter(destinationNode, ContentModel.PROP_CONTENT, true);
252268

pdf-toolkit-repo/src/main/java/org/alfresco/extension/pdftoolkit/repo/action/executer/PDFSignatureActionExecuter.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import org.alfresco.service.cmr.repository.ContentReader;
4747
import org.alfresco.service.cmr.repository.ContentWriter;
4848
import org.alfresco.service.cmr.repository.NodeRef;
49+
import org.alfresco.service.cmr.repository.NodeService;
4950
import org.alfresco.service.namespace.QName;
5051
import org.alfresco.util.TempFileProvider;
5152
import org.apache.commons.logging.Log;
@@ -85,6 +86,7 @@ public class PDFSignatureActionExecuter
8586
public static final String NAME = "pdf-signature";
8687
public static final String PARAM_PRIVATE_KEY = "private-key";
8788
public static final String PARAM_DESTINATION_FOLDER = "destination-folder";
89+
public static final String PARAM_DESTINATION_NAME = "destination-name";
8890
public static final String PARAM_VISIBILITY = "visibility";
8991
/*
9092
* don't confuse the location field below with the position field inherited
@@ -149,6 +151,7 @@ protected void addParameterDefinitions(List<ParameterDefinition> paramList)
149151
paramList.add(new ParameterDefinitionImpl(PARAM_KEY_TYPE, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_KEY_TYPE), false, "pdfc-keytype"));
150152
paramList.add(new ParameterDefinitionImpl(PARAM_ALIAS, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_ALIAS)));
151153
paramList.add(new ParameterDefinitionImpl(PARAM_STORE_PASSWORD, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_STORE_PASSWORD)));
154+
paramList.add(new ParameterDefinitionImpl(PARAM_DESTINATION_NAME, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_DESTINATION_NAME)));
152155

153156
super.addParameterDefinitions(paramList);
154157

@@ -219,6 +222,8 @@ protected void doSignature(Action ruleAction, NodeRef actionedUponNodeRef, Conte
219222
ContentWriter writer = null;
220223
KeyStore ks = null;
221224

225+
NodeService ns = serviceRegistry.getNodeService();
226+
222227
try
223228
{
224229
// get a keystore instance by
@@ -282,8 +287,19 @@ else if (keyType.equalsIgnoreCase(KEY_TYPE_PKCS12))
282287

283288
stamp.close();
284289

290+
Serializable providedName = ruleAction.getParameterValue(PARAM_DESTINATION_NAME);
291+
String fileName = null;
292+
if(providedName != null)
293+
{
294+
fileName = String.valueOf(providedName) + FILE_EXTENSION;
295+
}
296+
else
297+
{
298+
fileName = String.valueOf(ns.getProperty(actionedUponNodeRef, ContentModel.PROP_NAME));
299+
}
300+
285301
//can't use BasePDFActionExecuter.getWriter here need the nodeRef of the destination
286-
NodeRef destinationNode = createDestinationNode(file.getName(),
302+
NodeRef destinationNode = createDestinationNode(fileName,
287303
(NodeRef)ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER), actionedUponNodeRef, inplace);
288304
writer = serviceRegistry.getContentService().getWriter(destinationNode, ContentModel.PROP_CONTENT, true);
289305

pdf-toolkit-repo/src/main/java/org/alfresco/extension/pdftoolkit/repo/action/executer/PDFWatermarkActionExecuter.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.File;
2323
import java.io.FileOutputStream;
2424
import java.io.IOException;
25+
import java.io.Serializable;
2526
import java.io.StringWriter;
2627
import java.util.Date;
2728
import java.util.HashMap;
@@ -44,7 +45,7 @@
4445
import org.alfresco.service.cmr.repository.ContentReader;
4546
import org.alfresco.service.cmr.repository.ContentWriter;
4647
import org.alfresco.service.cmr.repository.NodeRef;
47-
import org.alfresco.util.TempFileProvider;
48+
import org.alfresco.service.cmr.repository.NodeService;
4849
import org.apache.commons.logging.Log;
4950
import org.apache.commons.logging.LogFactory;
5051

@@ -77,6 +78,7 @@ public class PDFWatermarkActionExecuter
7778
public static final String NAME = "pdf-watermark";
7879
public static final String PARAM_WATERMARK_IMAGE = "watermark-image";
7980
public static final String PARAM_DESTINATION_FOLDER = "destination-folder";
81+
public static final String PARAM_DESTINATION_NAME = "destination-name";
8082
public static final String PARAM_WATERMARK_DEPTH = "watermark-depth";
8183
public static final String PARAM_WATERMARK_TYPE = "watermark-type";
8284
public static final String PARAM_WATERMARK_TEXT = "watermark-text";
@@ -153,6 +155,7 @@ protected void addParameterDefinitions(List<ParameterDefinition> paramList)
153155
paramList.add(new ParameterDefinitionImpl(PARAM_WATERMARK_FONT, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_WATERMARK_FONT), false, "pdfc-font"));
154156
paramList.add(new ParameterDefinitionImpl(PARAM_WATERMARK_SIZE, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_WATERMARK_SIZE), false, "pdfc-fontsize"));
155157
paramList.add(new ParameterDefinitionImpl(PARAM_WATERMARK_TYPE, DataTypeDefinition.TEXT, true, getParamDisplayLabel(PARAM_WATERMARK_TYPE), false, "pdfc-watermarktype"));
158+
paramList.add(new ParameterDefinitionImpl(PARAM_DESTINATION_NAME, DataTypeDefinition.TEXT, false, getParamDisplayLabel(PARAM_DESTINATION_NAME)));
156159

157160
super.addParameterDefinitions(paramList);
158161
}
@@ -206,6 +209,7 @@ protected void doWatermark(Action ruleAction, NodeRef actionedUponNodeRef, Conte
206209
options.put(PARAM_POSITION, ruleAction.getParameterValue(PARAM_POSITION));
207210
options.put(PARAM_WATERMARK_DEPTH, ruleAction.getParameterValue(PARAM_WATERMARK_DEPTH));
208211
options.put(PARAM_INPLACE, ruleAction.getParameterValue(PARAM_INPLACE));
212+
options.put(PARAM_DESTINATION_FOLDER, ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER));
209213

210214
try
211215
{
@@ -259,7 +263,8 @@ private void imageAction(Action ruleAction, NodeRef actionedUponNodeRef, NodeRef
259263
PdfStamper stamp = null;
260264
File tempDir = null;
261265
ContentWriter writer = null;
262-
266+
NodeService ns = serviceRegistry.getNodeService();
267+
263268
try
264269
{
265270
File file = getTempFile(actionedUponNodeRef);
@@ -340,9 +345,20 @@ else if (position.equals(POSITION_MANUAL))
340345

341346
stamp.close();
342347

348+
Serializable providedName = ruleAction.getParameterValue(PARAM_DESTINATION_NAME);
349+
String fileName = null;
350+
if(providedName != null)
351+
{
352+
fileName = String.valueOf(providedName) + FILE_EXTENSION;
353+
}
354+
else
355+
{
356+
fileName = String.valueOf(ns.getProperty(actionedUponNodeRef, ContentModel.PROP_NAME));
357+
}
358+
343359
// Get a writer and prep it for putting it back into the repo
344360
//can't use BasePDFActionExecuter.getWriter here need the nodeRef of the destination
345-
NodeRef destinationNode = createDestinationNode(file.getName(),
361+
NodeRef destinationNode = createDestinationNode(fileName,
346362
(NodeRef)ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER), actionedUponNodeRef, inplace);
347363
writer = serviceRegistry.getContentService().getWriter(destinationNode, ContentModel.PROP_CONTENT, true);
348364

pdf-toolkit-share/src/main/resources/META-INF/share-config-custom.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@
186186
<field-visibility>
187187
<show id="inplace"/>
188188
<show id="destination-folder"/>
189+
<show id="destination-name"/>
189190
<show id="user-password"/>
190191
<show id="owner-password"/>
191192
<show id="allow-print"/>
@@ -216,6 +217,7 @@
216217
<field-visibility>
217218
<show id="inplace"/>
218219
<show id="destination-folder"/>
220+
<show id="destination-name"/>
219221
<show id="private-key"/>
220222
<show id="alias"/>
221223
<show id="key-type"/>
@@ -263,6 +265,7 @@
263265
<field-visibility>
264266
<show id="inplace"/>
265267
<show id="destination-folder"/>
268+
<show id="destination-name"/>
266269
<show id="watermark-depth"/>
267270
<show id="watermark-type"/>
268271
<show id="watermark-image"/>

0 commit comments

Comments
 (0)