1
2
3
4
5 package org.apache.maven.settings.v4;
6
7 import java.io.ObjectStreamException;
8 import java.util.AbstractList;
9 import java.util.ArrayList;
10 import java.util.Collection;
11 import java.util.HashMap;
12 import java.util.Iterator;
13 import java.util.LinkedHashMap;
14 import java.util.List;
15 import java.util.Map;
16 import java.util.Properties;
17 import java.util.Objects;
18 import java.util.function.BinaryOperator;
19 import java.util.function.Function;
20 import java.util.stream.Collectors;
21
22 import org.apache.maven.api.annotations.Generated;
23 import org.apache.maven.api.xml.XmlNode;
24 import org.apache.maven.api.settings.TrackableBase;
25 import org.apache.maven.api.settings.IdentifiableBase;
26 import org.apache.maven.api.settings.Settings;
27 import org.apache.maven.api.settings.Proxy;
28 import org.apache.maven.api.settings.Server;
29 import org.apache.maven.api.settings.Mirror;
30 import org.apache.maven.api.settings.Profile;
31 import org.apache.maven.api.settings.Activation;
32 import org.apache.maven.api.settings.RepositoryBase;
33 import org.apache.maven.api.settings.Repository;
34 import org.apache.maven.api.settings.RepositoryPolicy;
35 import org.apache.maven.api.settings.ActivationProperty;
36 import org.apache.maven.api.settings.ActivationOS;
37 import org.apache.maven.api.settings.ActivationFile;
38 import org.apache.maven.api.settings.InputLocation;
39 import org.apache.maven.api.settings.InputSource;
40 import org.codehaus.plexus.util.xml.Xpp3Dom;
41
42 @Generated
43 public class SettingsTransformer {
44
45 private final Function<String, String> transformer;
46
47 public SettingsTransformer(Function<String, String> transformer) {
48 this.transformer = transformer;
49 }
50
51
52
53
54 public Settings visit(Settings target) {
55 Objects.requireNonNull(target, "target cannot be null");
56 return transformSettings(target);
57 }
58
59
60
61
62 protected String transform(String value) {
63 return transformer.apply(value);
64 }
65
66 protected TrackableBase transformTrackableBase(TrackableBase target) {
67 if (target == null) {
68 return null;
69 }
70 TrackableBase.Builder builder = TrackableBase.newBuilder(target);
71 return builder.build();
72 }
73
74
75 protected IdentifiableBase transformIdentifiableBase(IdentifiableBase target) {
76 if (target == null) {
77 return null;
78 }
79 IdentifiableBase.Builder builder = IdentifiableBase.newBuilder(target);
80 transformIdentifiableBase_Id(builder, target);
81 return builder.build();
82 }
83
84 protected void transformIdentifiableBase_Id(IdentifiableBase.Builder builder, IdentifiableBase target) {
85 String newVal = transform(target.getId());
86 builder.id(newVal != target.getId() ? newVal : null);
87 }
88
89 protected Settings transformSettings(Settings target) {
90 if (target == null) {
91 return null;
92 }
93 Settings.Builder builder = Settings.newBuilder(target);
94 transformSettings_LocalRepository(builder, target);
95 transformSettings_InteractiveMode(builder, target);
96 transformSettings_UsePluginRegistry(builder, target);
97 transformSettings_Offline(builder, target);
98 transformSettings_Proxies(builder, target);
99 transformSettings_Servers(builder, target);
100 transformSettings_Mirrors(builder, target);
101 transformSettings_Repositories(builder, target);
102 transformSettings_PluginRepositories(builder, target);
103 transformSettings_Profiles(builder, target);
104 transformSettings_ActiveProfiles(builder, target);
105 transformSettings_PluginGroups(builder, target);
106 return builder.build();
107 }
108
109 protected void transformSettings_LocalRepository(Settings.Builder builder, Settings target) {
110 String newVal = transform(target.getLocalRepository());
111 builder.localRepository(newVal != target.getLocalRepository() ? newVal : null);
112 }
113 protected void transformSettings_InteractiveMode(Settings.Builder builder, Settings target) {
114
115 }
116 protected void transformSettings_UsePluginRegistry(Settings.Builder builder, Settings target) {
117
118 }
119 protected void transformSettings_Offline(Settings.Builder builder, Settings target) {
120
121 }
122 protected void transformSettings_Proxies(Settings.Builder builder, Settings target) {
123 builder.proxies(transform(target.getProxies(), this::transformProxy));
124 }
125 protected void transformSettings_Servers(Settings.Builder builder, Settings target) {
126 builder.servers(transform(target.getServers(), this::transformServer));
127 }
128 protected void transformSettings_Mirrors(Settings.Builder builder, Settings target) {
129 builder.mirrors(transform(target.getMirrors(), this::transformMirror));
130 }
131 protected void transformSettings_Repositories(Settings.Builder builder, Settings target) {
132 builder.repositories(transform(target.getRepositories(), this::transformRepository));
133 }
134 protected void transformSettings_PluginRepositories(Settings.Builder builder, Settings target) {
135 builder.pluginRepositories(transform(target.getPluginRepositories(), this::transformRepository));
136 }
137 protected void transformSettings_Profiles(Settings.Builder builder, Settings target) {
138 builder.profiles(transform(target.getProfiles(), this::transformProfile));
139 }
140 protected void transformSettings_ActiveProfiles(Settings.Builder builder, Settings target) {
141 builder.activeProfiles(transform(target.getActiveProfiles(), this::transform));
142 }
143 protected void transformSettings_PluginGroups(Settings.Builder builder, Settings target) {
144 builder.pluginGroups(transform(target.getPluginGroups(), this::transform));
145 }
146
147 protected Proxy transformProxy(Proxy target) {
148 if (target == null) {
149 return null;
150 }
151 Proxy.Builder builder = Proxy.newBuilder(target);
152 transformProxy_ActiveString(builder, target);
153 transformProxy_Protocol(builder, target);
154 transformProxy_Username(builder, target);
155 transformProxy_Password(builder, target);
156 transformProxy_PortString(builder, target);
157 transformProxy_Host(builder, target);
158 transformProxy_NonProxyHosts(builder, target);
159 transformIdentifiableBase_Id(builder, target);
160 return builder.build();
161 }
162
163 protected void transformProxy_ActiveString(Proxy.Builder builder, Proxy target) {
164 String newVal = transform(target.getActiveString());
165 builder.activeString(newVal != target.getActiveString() ? newVal : null);
166 }
167 protected void transformProxy_Protocol(Proxy.Builder builder, Proxy target) {
168 String newVal = transform(target.getProtocol());
169 builder.protocol(newVal != target.getProtocol() ? newVal : null);
170 }
171 protected void transformProxy_Username(Proxy.Builder builder, Proxy target) {
172 String newVal = transform(target.getUsername());
173 builder.username(newVal != target.getUsername() ? newVal : null);
174 }
175 protected void transformProxy_Password(Proxy.Builder builder, Proxy target) {
176 String newVal = transform(target.getPassword());
177 builder.password(newVal != target.getPassword() ? newVal : null);
178 }
179 protected void transformProxy_PortString(Proxy.Builder builder, Proxy target) {
180 String newVal = transform(target.getPortString());
181 builder.portString(newVal != target.getPortString() ? newVal : null);
182 }
183 protected void transformProxy_Host(Proxy.Builder builder, Proxy target) {
184 String newVal = transform(target.getHost());
185 builder.host(newVal != target.getHost() ? newVal : null);
186 }
187 protected void transformProxy_NonProxyHosts(Proxy.Builder builder, Proxy target) {
188 String newVal = transform(target.getNonProxyHosts());
189 builder.nonProxyHosts(newVal != target.getNonProxyHosts() ? newVal : null);
190 }
191 protected void transformProxy_Id(Proxy.Builder builder, Proxy target) {
192 String newVal = transform(target.getId());
193 builder.id(newVal != target.getId() ? newVal : null);
194 }
195
196 protected Server transformServer(Server target) {
197 if (target == null) {
198 return null;
199 }
200 Server.Builder builder = Server.newBuilder(target);
201 transformServer_Username(builder, target);
202 transformServer_Password(builder, target);
203 transformServer_PrivateKey(builder, target);
204 transformServer_Passphrase(builder, target);
205 transformServer_FilePermissions(builder, target);
206 transformServer_DirectoryPermissions(builder, target);
207 transformServer_Configuration(builder, target);
208 transformIdentifiableBase_Id(builder, target);
209 return builder.build();
210 }
211
212 protected void transformServer_Username(Server.Builder builder, Server target) {
213 String newVal = transform(target.getUsername());
214 builder.username(newVal != target.getUsername() ? newVal : null);
215 }
216 protected void transformServer_Password(Server.Builder builder, Server target) {
217 String newVal = transform(target.getPassword());
218 builder.password(newVal != target.getPassword() ? newVal : null);
219 }
220 protected void transformServer_PrivateKey(Server.Builder builder, Server target) {
221 String newVal = transform(target.getPrivateKey());
222 builder.privateKey(newVal != target.getPrivateKey() ? newVal : null);
223 }
224 protected void transformServer_Passphrase(Server.Builder builder, Server target) {
225 String newVal = transform(target.getPassphrase());
226 builder.passphrase(newVal != target.getPassphrase() ? newVal : null);
227 }
228 protected void transformServer_FilePermissions(Server.Builder builder, Server target) {
229 String newVal = transform(target.getFilePermissions());
230 builder.filePermissions(newVal != target.getFilePermissions() ? newVal : null);
231 }
232 protected void transformServer_DirectoryPermissions(Server.Builder builder, Server target) {
233 String newVal = transform(target.getDirectoryPermissions());
234 builder.directoryPermissions(newVal != target.getDirectoryPermissions() ? newVal : null);
235 }
236 protected void transformServer_Configuration(Server.Builder builder, Server target) {
237 XmlNode newVal = transform(target.getConfiguration());
238 builder.configuration(newVal != target.getConfiguration() ? newVal : null);
239 }
240 protected void transformServer_Id(Server.Builder builder, Server target) {
241 String newVal = transform(target.getId());
242 builder.id(newVal != target.getId() ? newVal : null);
243 }
244
245 protected Mirror transformMirror(Mirror target) {
246 if (target == null) {
247 return null;
248 }
249 Mirror.Builder builder = Mirror.newBuilder(target);
250 transformMirror_MirrorOf(builder, target);
251 transformMirror_Name(builder, target);
252 transformMirror_Url(builder, target);
253 transformMirror_Layout(builder, target);
254 transformMirror_MirrorOfLayouts(builder, target);
255 transformMirror_Blocked(builder, target);
256 transformIdentifiableBase_Id(builder, target);
257 return builder.build();
258 }
259
260 protected void transformMirror_MirrorOf(Mirror.Builder builder, Mirror target) {
261 String newVal = transform(target.getMirrorOf());
262 builder.mirrorOf(newVal != target.getMirrorOf() ? newVal : null);
263 }
264 protected void transformMirror_Name(Mirror.Builder builder, Mirror target) {
265 String newVal = transform(target.getName());
266 builder.name(newVal != target.getName() ? newVal : null);
267 }
268 protected void transformMirror_Url(Mirror.Builder builder, Mirror target) {
269 String newVal = transform(target.getUrl());
270 builder.url(newVal != target.getUrl() ? newVal : null);
271 }
272 protected void transformMirror_Layout(Mirror.Builder builder, Mirror target) {
273 String newVal = transform(target.getLayout());
274 builder.layout(newVal != target.getLayout() ? newVal : null);
275 }
276 protected void transformMirror_MirrorOfLayouts(Mirror.Builder builder, Mirror target) {
277 String newVal = transform(target.getMirrorOfLayouts());
278 builder.mirrorOfLayouts(newVal != target.getMirrorOfLayouts() ? newVal : null);
279 }
280 protected void transformMirror_Blocked(Mirror.Builder builder, Mirror target) {
281
282 }
283 protected void transformMirror_Id(Mirror.Builder builder, Mirror target) {
284 String newVal = transform(target.getId());
285 builder.id(newVal != target.getId() ? newVal : null);
286 }
287
288 protected Profile transformProfile(Profile target) {
289 if (target == null) {
290 return null;
291 }
292 Profile.Builder builder = Profile.newBuilder(target);
293 transformProfile_Activation(builder, target);
294 transformProfile_Properties(builder, target);
295 transformProfile_Repositories(builder, target);
296 transformProfile_PluginRepositories(builder, target);
297 transformIdentifiableBase_Id(builder, target);
298 return builder.build();
299 }
300
301 protected void transformProfile_Activation(Profile.Builder builder, Profile target) {
302 Activation newVal = transformActivation(target.getActivation());
303 builder.activation(newVal != target.getActivation() ? newVal : null);
304 }
305 protected void transformProfile_Properties(Profile.Builder builder, Profile target) {
306 Map<String, String> props = target.getProperties();
307 Map<String, String> newProps = null;
308 for (Map.Entry<String, String> entry : props.entrySet()) {
309 String newVal = transform(entry.getValue());
310 if (newVal != null && newVal != entry.getValue()) {
311 if (newProps == null) {
312 newProps = new HashMap<>();
313 newProps.putAll(props);
314 builder.properties(newProps);
315 }
316 newProps.put(entry.getKey(), newVal);
317 }
318 }
319 }
320 protected void transformProfile_Repositories(Profile.Builder builder, Profile target) {
321 builder.repositories(transform(target.getRepositories(), this::transformRepository));
322 }
323 protected void transformProfile_PluginRepositories(Profile.Builder builder, Profile target) {
324 builder.pluginRepositories(transform(target.getPluginRepositories(), this::transformRepository));
325 }
326 protected void transformProfile_Id(Profile.Builder builder, Profile target) {
327 String newVal = transform(target.getId());
328 builder.id(newVal != target.getId() ? newVal : null);
329 }
330
331 protected Activation transformActivation(Activation target) {
332 if (target == null) {
333 return null;
334 }
335 Activation.Builder builder = Activation.newBuilder(target);
336 transformActivation_ActiveByDefault(builder, target);
337 transformActivation_Jdk(builder, target);
338 transformActivation_Os(builder, target);
339 transformActivation_Property(builder, target);
340 transformActivation_File(builder, target);
341 return builder.build();
342 }
343
344 protected void transformActivation_ActiveByDefault(Activation.Builder builder, Activation target) {
345
346 }
347 protected void transformActivation_Jdk(Activation.Builder builder, Activation target) {
348 String newVal = transform(target.getJdk());
349 builder.jdk(newVal != target.getJdk() ? newVal : null);
350 }
351 protected void transformActivation_Os(Activation.Builder builder, Activation target) {
352 ActivationOS newVal = transformActivationOS(target.getOs());
353 builder.os(newVal != target.getOs() ? newVal : null);
354 }
355 protected void transformActivation_Property(Activation.Builder builder, Activation target) {
356 ActivationProperty newVal = transformActivationProperty(target.getProperty());
357 builder.property(newVal != target.getProperty() ? newVal : null);
358 }
359 protected void transformActivation_File(Activation.Builder builder, Activation target) {
360 ActivationFile newVal = transformActivationFile(target.getFile());
361 builder.file(newVal != target.getFile() ? newVal : null);
362 }
363
364 protected RepositoryBase transformRepositoryBase(RepositoryBase target) {
365 if (target == null) {
366 return null;
367 }
368 RepositoryBase.Builder builder = RepositoryBase.newBuilder(target);
369 transformRepositoryBase_Name(builder, target);
370 transformRepositoryBase_Url(builder, target);
371 transformRepositoryBase_Layout(builder, target);
372 transformIdentifiableBase_Id(builder, target);
373 return builder.build();
374 }
375
376 protected void transformRepositoryBase_Name(RepositoryBase.Builder builder, RepositoryBase target) {
377 String newVal = transform(target.getName());
378 builder.name(newVal != target.getName() ? newVal : null);
379 }
380 protected void transformRepositoryBase_Url(RepositoryBase.Builder builder, RepositoryBase target) {
381 String newVal = transform(target.getUrl());
382 builder.url(newVal != target.getUrl() ? newVal : null);
383 }
384 protected void transformRepositoryBase_Layout(RepositoryBase.Builder builder, RepositoryBase target) {
385 String newVal = transform(target.getLayout());
386 builder.layout(newVal != target.getLayout() ? newVal : null);
387 }
388 protected void transformRepositoryBase_Id(RepositoryBase.Builder builder, RepositoryBase target) {
389 String newVal = transform(target.getId());
390 builder.id(newVal != target.getId() ? newVal : null);
391 }
392
393 protected Repository transformRepository(Repository target) {
394 if (target == null) {
395 return null;
396 }
397 Repository.Builder builder = Repository.newBuilder(target);
398 transformRepository_Releases(builder, target);
399 transformRepository_Snapshots(builder, target);
400 transformRepositoryBase_Name(builder, target);
401 transformRepositoryBase_Url(builder, target);
402 transformRepositoryBase_Layout(builder, target);
403 transformIdentifiableBase_Id(builder, target);
404 return builder.build();
405 }
406
407 protected void transformRepository_Releases(Repository.Builder builder, Repository target) {
408 RepositoryPolicy newVal = transformRepositoryPolicy(target.getReleases());
409 builder.releases(newVal != target.getReleases() ? newVal : null);
410 }
411 protected void transformRepository_Snapshots(Repository.Builder builder, Repository target) {
412 RepositoryPolicy newVal = transformRepositoryPolicy(target.getSnapshots());
413 builder.snapshots(newVal != target.getSnapshots() ? newVal : null);
414 }
415 protected void transformRepository_Name(Repository.Builder builder, Repository target) {
416 String newVal = transform(target.getName());
417 builder.name(newVal != target.getName() ? newVal : null);
418 }
419 protected void transformRepository_Url(Repository.Builder builder, Repository target) {
420 String newVal = transform(target.getUrl());
421 builder.url(newVal != target.getUrl() ? newVal : null);
422 }
423 protected void transformRepository_Layout(Repository.Builder builder, Repository target) {
424 String newVal = transform(target.getLayout());
425 builder.layout(newVal != target.getLayout() ? newVal : null);
426 }
427 protected void transformRepository_Id(Repository.Builder builder, Repository target) {
428 String newVal = transform(target.getId());
429 builder.id(newVal != target.getId() ? newVal : null);
430 }
431
432 protected RepositoryPolicy transformRepositoryPolicy(RepositoryPolicy target) {
433 if (target == null) {
434 return null;
435 }
436 RepositoryPolicy.Builder builder = RepositoryPolicy.newBuilder(target);
437 transformRepositoryPolicy_Enabled(builder, target);
438 transformRepositoryPolicy_UpdatePolicy(builder, target);
439 transformRepositoryPolicy_ChecksumPolicy(builder, target);
440 return builder.build();
441 }
442
443 protected void transformRepositoryPolicy_Enabled(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
444
445 }
446 protected void transformRepositoryPolicy_UpdatePolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
447 String newVal = transform(target.getUpdatePolicy());
448 builder.updatePolicy(newVal != target.getUpdatePolicy() ? newVal : null);
449 }
450 protected void transformRepositoryPolicy_ChecksumPolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
451 String newVal = transform(target.getChecksumPolicy());
452 builder.checksumPolicy(newVal != target.getChecksumPolicy() ? newVal : null);
453 }
454
455 protected ActivationProperty transformActivationProperty(ActivationProperty target) {
456 if (target == null) {
457 return null;
458 }
459 ActivationProperty.Builder builder = ActivationProperty.newBuilder(target);
460 transformActivationProperty_Name(builder, target);
461 transformActivationProperty_Value(builder, target);
462 return builder.build();
463 }
464
465 protected void transformActivationProperty_Name(ActivationProperty.Builder builder, ActivationProperty target) {
466 String newVal = transform(target.getName());
467 builder.name(newVal != target.getName() ? newVal : null);
468 }
469 protected void transformActivationProperty_Value(ActivationProperty.Builder builder, ActivationProperty target) {
470 String newVal = transform(target.getValue());
471 builder.value(newVal != target.getValue() ? newVal : null);
472 }
473
474 protected ActivationOS transformActivationOS(ActivationOS target) {
475 if (target == null) {
476 return null;
477 }
478 ActivationOS.Builder builder = ActivationOS.newBuilder(target);
479 transformActivationOS_Name(builder, target);
480 transformActivationOS_Family(builder, target);
481 transformActivationOS_Arch(builder, target);
482 transformActivationOS_Version(builder, target);
483 return builder.build();
484 }
485
486 protected void transformActivationOS_Name(ActivationOS.Builder builder, ActivationOS target) {
487 String newVal = transform(target.getName());
488 builder.name(newVal != target.getName() ? newVal : null);
489 }
490 protected void transformActivationOS_Family(ActivationOS.Builder builder, ActivationOS target) {
491 String newVal = transform(target.getFamily());
492 builder.family(newVal != target.getFamily() ? newVal : null);
493 }
494 protected void transformActivationOS_Arch(ActivationOS.Builder builder, ActivationOS target) {
495 String newVal = transform(target.getArch());
496 builder.arch(newVal != target.getArch() ? newVal : null);
497 }
498 protected void transformActivationOS_Version(ActivationOS.Builder builder, ActivationOS target) {
499 String newVal = transform(target.getVersion());
500 builder.version(newVal != target.getVersion() ? newVal : null);
501 }
502
503 protected ActivationFile transformActivationFile(ActivationFile target) {
504 if (target == null) {
505 return null;
506 }
507 ActivationFile.Builder builder = ActivationFile.newBuilder(target);
508 transformActivationFile_Missing(builder, target);
509 transformActivationFile_Exists(builder, target);
510 return builder.build();
511 }
512
513 protected void transformActivationFile_Missing(ActivationFile.Builder builder, ActivationFile target) {
514 String newVal = transform(target.getMissing());
515 builder.missing(newVal != target.getMissing() ? newVal : null);
516 }
517 protected void transformActivationFile_Exists(ActivationFile.Builder builder, ActivationFile target) {
518 String newVal = transform(target.getExists());
519 builder.exists(newVal != target.getExists() ? newVal : null);
520 }
521
522 protected <T> List<T> transform(List<T> list, Function<T, T> transformer) {
523 List<T> newList = null;
524 for (int i = 0; i < list.size(); i++) {
525 T newVal = transformer.apply(list.get(i));
526 if (newVal != list.get(i)) {
527 if (newList == null) {
528 newList = new ArrayList<>(list);
529 }
530 newList.set(i, newVal);
531 }
532 }
533 return newList;
534 }
535
536 protected XmlNode transform(XmlNode node) {
537 if (node != null) {
538 Xpp3Dom xpp = new Xpp3Dom(node);
539 transform(xpp);
540 return xpp.getDom();
541 }
542 return node;
543 }
544
545 protected void transform(Xpp3Dom dom) {
546 if (dom != null) {
547 String org, val;
548
549 org = dom.getValue();
550 val = transform(org);
551 if (org != val) {
552 dom.setValue(val);
553 }
554
555 for (String attr : dom.getAttributeNames()) {
556 org = dom.getAttribute(attr);
557 val = transform(org);
558 if (org != val) {
559 dom.setAttribute(attr, val);
560 }
561 }
562
563 for (int i = 0, l = dom.getChildCount(); i < l; i++) {
564 transform(dom.getChild(i));
565 }
566 }
567 }
568 }