1 package net.sumaris.core.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import com.google.common.collect.ImmutableList;
26
27 import java.util.List;
28 import java.util.regex.Matcher;
29 import java.util.regex.Pattern;
30 import java.util.stream.Collectors;
31
32 public class ApplicationUtils {
33
34 public static String[] adaptArgsForConfig(String... args) {
35
36 final Pattern optionPattern = Pattern.compile("--([a-zA-Z0-9._]+)=([^ \t]+)");
37
38 List<String> configArgs = ImmutableList.copyOf(args).stream()
39 .flatMap(arg -> {
40 Matcher matcher = optionPattern.matcher(arg);
41 if (matcher.matches()) {
42 String name = matcher.group(1);
43 String value = matcher.group(2);
44
45 if (name.indexOf(".") != -1) {
46 return ImmutableList.of("--option", name, value).stream();
47 }
48
49
50 else {
51 return ImmutableList.of("--"+name, value).stream();
52 }
53 }
54 return ImmutableList.of(arg).stream();
55 }).collect(Collectors.toList());
56
57 return configArgs.toArray(new String[configArgs.size()]);
58 }
59 }