1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.cling.invoker.mvnenc.goals;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.apache.maven.api.services.MessageBuilderFactory;
26 import org.apache.maven.cling.invoker.mvnenc.EncryptContext;
27 import org.codehaus.plexus.components.secdispatcher.SecDispatcher;
28
29 import static org.apache.maven.cling.invoker.mvnenc.EncryptInvoker.BAD_OPERATION;
30 import static org.apache.maven.cling.invoker.mvnenc.EncryptInvoker.OK;
31
32
33
34
35 @Singleton
36 @Named("decrypt")
37 public class Decrypt extends ConfiguredGoalSupport {
38 @Inject
39 public Decrypt(MessageBuilderFactory messageBuilderFactory, SecDispatcher secDispatcher) {
40 super(messageBuilderFactory, secDispatcher);
41 }
42
43 @Override
44 protected int doExecute(EncryptContext context) throws Exception {
45 String encrypted = context.reader.readLine("Enter the password to decrypt: ");
46 if (secDispatcher.isAnyEncryptedString(encrypted)) {
47 context.terminal.writer().println(secDispatcher.decrypt(encrypted));
48 return OK;
49 } else {
50 context.terminal.writer().println(messageBuilderFactory.builder().error("Malformed encrypted string"));
51 return BAD_OPERATION;
52 }
53 }
54 }