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;
20
21 import java.util.Collections;
22 import java.util.List;
23
24 import org.apache.commons.cli.ParseException;
25 import org.apache.maven.api.cli.ParserException;
26 import org.apache.maven.api.cli.mvnenc.EncryptInvokerRequest;
27 import org.apache.maven.api.cli.mvnenc.EncryptOptions;
28 import org.apache.maven.api.cli.mvnenc.EncryptParser;
29 import org.apache.maven.cling.invoker.BaseParser;
30
31 public class DefaultEncryptParser extends BaseParser<EncryptOptions, EncryptInvokerRequest> implements EncryptParser {
32 @Override
33 protected EncryptInvokerRequest getInvokerRequest(LocalContext context) {
34 return new DefaultEncryptInvokerRequest(
35 context.parserRequest,
36 context.cwd,
37 context.installationDirectory,
38 context.userHomeDirectory,
39 context.userProperties,
40 context.systemProperties,
41 context.topDirectory,
42 context.rootDirectory,
43 context.parserRequest.in(),
44 context.parserRequest.out(),
45 context.parserRequest.err(),
46 context.extensions,
47 context.options);
48 }
49
50 @Override
51 protected List<EncryptOptions> parseCliOptions(LocalContext context) throws ParserException {
52 return Collections.singletonList(parseEncryptCliOptions(context.parserRequest.args()));
53 }
54
55 protected CommonsCliEncryptOptions parseEncryptCliOptions(List<String> args) throws ParserException {
56 try {
57 return CommonsCliEncryptOptions.parse(args.toArray(new String[0]));
58 } catch (ParseException e) {
59 throw new ParserException("Failed to parse command line options: " + e.getMessage(), e);
60 }
61 }
62
63 @Override
64 protected EncryptOptions assembleOptions(List<EncryptOptions> parsedOptions) {
65
66 return parsedOptions.get(0);
67 }
68 }