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_Active(builder, target);
153 transformProxy_Protocol(builder, target);
154 transformProxy_Username(builder, target);
155 transformProxy_Password(builder, target);
156 transformProxy_Port(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_Active(Proxy.Builder builder, Proxy target) {
164
165 }
166 protected void transformProxy_Protocol(Proxy.Builder builder, Proxy target) {
167 String newVal = transform(target.getProtocol());
168 builder.protocol(newVal != target.getProtocol() ? newVal : null);
169 }
170 protected void transformProxy_Username(Proxy.Builder builder, Proxy target) {
171 String newVal = transform(target.getUsername());
172 builder.username(newVal != target.getUsername() ? newVal : null);
173 }
174 protected void transformProxy_Password(Proxy.Builder builder, Proxy target) {
175 String newVal = transform(target.getPassword());
176 builder.password(newVal != target.getPassword() ? newVal : null);
177 }
178 protected void transformProxy_Port(Proxy.Builder builder, Proxy target) {
179
180 }
181 protected void transformProxy_Host(Proxy.Builder builder, Proxy target) {
182 String newVal = transform(target.getHost());
183 builder.host(newVal != target.getHost() ? newVal : null);
184 }
185 protected void transformProxy_NonProxyHosts(Proxy.Builder builder, Proxy target) {
186 String newVal = transform(target.getNonProxyHosts());
187 builder.nonProxyHosts(newVal != target.getNonProxyHosts() ? newVal : null);
188 }
189 protected void transformProxy_Id(Proxy.Builder builder, Proxy target) {
190 String newVal = transform(target.getId());
191 builder.id(newVal != target.getId() ? newVal : null);
192 }
193
194 protected Server transformServer(Server target) {
195 if (target == null) {
196 return null;
197 }
198 Server.Builder builder = Server.newBuilder(target);
199 transformServer_Username(builder, target);
200 transformServer_Password(builder, target);
201 transformServer_PrivateKey(builder, target);
202 transformServer_Passphrase(builder, target);
203 transformServer_FilePermissions(builder, target);
204 transformServer_DirectoryPermissions(builder, target);
205 transformServer_Configuration(builder, target);
206 transformIdentifiableBase_Id(builder, target);
207 return builder.build();
208 }
209
210 protected void transformServer_Username(Server.Builder builder, Server target) {
211 String newVal = transform(target.getUsername());
212 builder.username(newVal != target.getUsername() ? newVal : null);
213 }
214 protected void transformServer_Password(Server.Builder builder, Server target) {
215 String newVal = transform(target.getPassword());
216 builder.password(newVal != target.getPassword() ? newVal : null);
217 }
218 protected void transformServer_PrivateKey(Server.Builder builder, Server target) {
219 String newVal = transform(target.getPrivateKey());
220 builder.privateKey(newVal != target.getPrivateKey() ? newVal : null);
221 }
222 protected void transformServer_Passphrase(Server.Builder builder, Server target) {
223 String newVal = transform(target.getPassphrase());
224 builder.passphrase(newVal != target.getPassphrase() ? newVal : null);
225 }
226 protected void transformServer_FilePermissions(Server.Builder builder, Server target) {
227 String newVal = transform(target.getFilePermissions());
228 builder.filePermissions(newVal != target.getFilePermissions() ? newVal : null);
229 }
230 protected void transformServer_DirectoryPermissions(Server.Builder builder, Server target) {
231 String newVal = transform(target.getDirectoryPermissions());
232 builder.directoryPermissions(newVal != target.getDirectoryPermissions() ? newVal : null);
233 }
234 protected void transformServer_Configuration(Server.Builder builder, Server target) {
235 XmlNode newVal = transform(target.getConfiguration());
236 builder.configuration(newVal != target.getConfiguration() ? newVal : null);
237 }
238 protected void transformServer_Id(Server.Builder builder, Server target) {
239 String newVal = transform(target.getId());
240 builder.id(newVal != target.getId() ? newVal : null);
241 }
242
243 protected Mirror transformMirror(Mirror target) {
244 if (target == null) {
245 return null;
246 }
247 Mirror.Builder builder = Mirror.newBuilder(target);
248 transformMirror_MirrorOf(builder, target);
249 transformMirror_Name(builder, target);
250 transformMirror_Url(builder, target);
251 transformMirror_Layout(builder, target);
252 transformMirror_MirrorOfLayouts(builder, target);
253 transformMirror_Blocked(builder, target);
254 transformIdentifiableBase_Id(builder, target);
255 return builder.build();
256 }
257
258 protected void transformMirror_MirrorOf(Mirror.Builder builder, Mirror target) {
259 String newVal = transform(target.getMirrorOf());
260 builder.mirrorOf(newVal != target.getMirrorOf() ? newVal : null);
261 }
262 protected void transformMirror_Name(Mirror.Builder builder, Mirror target) {
263 String newVal = transform(target.getName());
264 builder.name(newVal != target.getName() ? newVal : null);
265 }
266 protected void transformMirror_Url(Mirror.Builder builder, Mirror target) {
267 String newVal = transform(target.getUrl());
268 builder.url(newVal != target.getUrl() ? newVal : null);
269 }
270 protected void transformMirror_Layout(Mirror.Builder builder, Mirror target) {
271 String newVal = transform(target.getLayout());
272 builder.layout(newVal != target.getLayout() ? newVal : null);
273 }
274 protected void transformMirror_MirrorOfLayouts(Mirror.Builder builder, Mirror target) {
275 String newVal = transform(target.getMirrorOfLayouts());
276 builder.mirrorOfLayouts(newVal != target.getMirrorOfLayouts() ? newVal : null);
277 }
278 protected void transformMirror_Blocked(Mirror.Builder builder, Mirror target) {
279
280 }
281 protected void transformMirror_Id(Mirror.Builder builder, Mirror target) {
282 String newVal = transform(target.getId());
283 builder.id(newVal != target.getId() ? newVal : null);
284 }
285
286 protected Profile transformProfile(Profile target) {
287 if (target == null) {
288 return null;
289 }
290 Profile.Builder builder = Profile.newBuilder(target);
291 transformProfile_Activation(builder, target);
292 transformProfile_Properties(builder, target);
293 transformProfile_Repositories(builder, target);
294 transformProfile_PluginRepositories(builder, target);
295 transformIdentifiableBase_Id(builder, target);
296 return builder.build();
297 }
298
299 protected void transformProfile_Activation(Profile.Builder builder, Profile target) {
300 Activation newVal = transformActivation(target.getActivation());
301 builder.activation(newVal != target.getActivation() ? newVal : null);
302 }
303 protected void transformProfile_Properties(Profile.Builder builder, Profile target) {
304 Map<String, String> props = target.getProperties();
305 Map<String, String> newProps = null;
306 for (Map.Entry<String, String> entry : props.entrySet()) {
307 String newVal = transform(entry.getValue());
308 if (newVal != null && newVal != entry.getValue()) {
309 if (newProps == null) {
310 newProps = new HashMap<>();
311 newProps.putAll(props);
312 builder.properties(newProps);
313 }
314 newProps.put(entry.getKey(), newVal);
315 }
316 }
317 }
318 protected void transformProfile_Repositories(Profile.Builder builder, Profile target) {
319 builder.repositories(transform(target.getRepositories(), this::transformRepository));
320 }
321 protected void transformProfile_PluginRepositories(Profile.Builder builder, Profile target) {
322 builder.pluginRepositories(transform(target.getPluginRepositories(), this::transformRepository));
323 }
324 protected void transformProfile_Id(Profile.Builder builder, Profile target) {
325 String newVal = transform(target.getId());
326 builder.id(newVal != target.getId() ? newVal : null);
327 }
328
329 protected Activation transformActivation(Activation target) {
330 if (target == null) {
331 return null;
332 }
333 Activation.Builder builder = Activation.newBuilder(target);
334 transformActivation_ActiveByDefault(builder, target);
335 transformActivation_Jdk(builder, target);
336 transformActivation_Os(builder, target);
337 transformActivation_Property(builder, target);
338 transformActivation_File(builder, target);
339 return builder.build();
340 }
341
342 protected void transformActivation_ActiveByDefault(Activation.Builder builder, Activation target) {
343
344 }
345 protected void transformActivation_Jdk(Activation.Builder builder, Activation target) {
346 String newVal = transform(target.getJdk());
347 builder.jdk(newVal != target.getJdk() ? newVal : null);
348 }
349 protected void transformActivation_Os(Activation.Builder builder, Activation target) {
350 ActivationOS newVal = transformActivationOS(target.getOs());
351 builder.os(newVal != target.getOs() ? newVal : null);
352 }
353 protected void transformActivation_Property(Activation.Builder builder, Activation target) {
354 ActivationProperty newVal = transformActivationProperty(target.getProperty());
355 builder.property(newVal != target.getProperty() ? newVal : null);
356 }
357 protected void transformActivation_File(Activation.Builder builder, Activation target) {
358 ActivationFile newVal = transformActivationFile(target.getFile());
359 builder.file(newVal != target.getFile() ? newVal : null);
360 }
361
362 protected RepositoryBase transformRepositoryBase(RepositoryBase target) {
363 if (target == null) {
364 return null;
365 }
366 RepositoryBase.Builder builder = RepositoryBase.newBuilder(target);
367 transformRepositoryBase_Name(builder, target);
368 transformRepositoryBase_Url(builder, target);
369 transformRepositoryBase_Layout(builder, target);
370 transformIdentifiableBase_Id(builder, target);
371 return builder.build();
372 }
373
374 protected void transformRepositoryBase_Name(RepositoryBase.Builder builder, RepositoryBase target) {
375 String newVal = transform(target.getName());
376 builder.name(newVal != target.getName() ? newVal : null);
377 }
378 protected void transformRepositoryBase_Url(RepositoryBase.Builder builder, RepositoryBase target) {
379 String newVal = transform(target.getUrl());
380 builder.url(newVal != target.getUrl() ? newVal : null);
381 }
382 protected void transformRepositoryBase_Layout(RepositoryBase.Builder builder, RepositoryBase target) {
383 String newVal = transform(target.getLayout());
384 builder.layout(newVal != target.getLayout() ? newVal : null);
385 }
386 protected void transformRepositoryBase_Id(RepositoryBase.Builder builder, RepositoryBase target) {
387 String newVal = transform(target.getId());
388 builder.id(newVal != target.getId() ? newVal : null);
389 }
390
391 protected Repository transformRepository(Repository target) {
392 if (target == null) {
393 return null;
394 }
395 Repository.Builder builder = Repository.newBuilder(target);
396 transformRepository_Releases(builder, target);
397 transformRepository_Snapshots(builder, target);
398 transformRepositoryBase_Name(builder, target);
399 transformRepositoryBase_Url(builder, target);
400 transformRepositoryBase_Layout(builder, target);
401 transformIdentifiableBase_Id(builder, target);
402 return builder.build();
403 }
404
405 protected void transformRepository_Releases(Repository.Builder builder, Repository target) {
406 RepositoryPolicy newVal = transformRepositoryPolicy(target.getReleases());
407 builder.releases(newVal != target.getReleases() ? newVal : null);
408 }
409 protected void transformRepository_Snapshots(Repository.Builder builder, Repository target) {
410 RepositoryPolicy newVal = transformRepositoryPolicy(target.getSnapshots());
411 builder.snapshots(newVal != target.getSnapshots() ? newVal : null);
412 }
413 protected void transformRepository_Name(Repository.Builder builder, Repository target) {
414 String newVal = transform(target.getName());
415 builder.name(newVal != target.getName() ? newVal : null);
416 }
417 protected void transformRepository_Url(Repository.Builder builder, Repository target) {
418 String newVal = transform(target.getUrl());
419 builder.url(newVal != target.getUrl() ? newVal : null);
420 }
421 protected void transformRepository_Layout(Repository.Builder builder, Repository target) {
422 String newVal = transform(target.getLayout());
423 builder.layout(newVal != target.getLayout() ? newVal : null);
424 }
425 protected void transformRepository_Id(Repository.Builder builder, Repository target) {
426 String newVal = transform(target.getId());
427 builder.id(newVal != target.getId() ? newVal : null);
428 }
429
430 protected RepositoryPolicy transformRepositoryPolicy(RepositoryPolicy target) {
431 if (target == null) {
432 return null;
433 }
434 RepositoryPolicy.Builder builder = RepositoryPolicy.newBuilder(target);
435 transformRepositoryPolicy_Enabled(builder, target);
436 transformRepositoryPolicy_UpdatePolicy(builder, target);
437 transformRepositoryPolicy_ChecksumPolicy(builder, target);
438 return builder.build();
439 }
440
441 protected void transformRepositoryPolicy_Enabled(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
442
443 }
444 protected void transformRepositoryPolicy_UpdatePolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
445 String newVal = transform(target.getUpdatePolicy());
446 builder.updatePolicy(newVal != target.getUpdatePolicy() ? newVal : null);
447 }
448 protected void transformRepositoryPolicy_ChecksumPolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target) {
449 String newVal = transform(target.getChecksumPolicy());
450 builder.checksumPolicy(newVal != target.getChecksumPolicy() ? newVal : null);
451 }
452
453 protected ActivationProperty transformActivationProperty(ActivationProperty target) {
454 if (target == null) {
455 return null;
456 }
457 ActivationProperty.Builder builder = ActivationProperty.newBuilder(target);
458 transformActivationProperty_Name(builder, target);
459 transformActivationProperty_Value(builder, target);
460 return builder.build();
461 }
462
463 protected void transformActivationProperty_Name(ActivationProperty.Builder builder, ActivationProperty target) {
464 String newVal = transform(target.getName());
465 builder.name(newVal != target.getName() ? newVal : null);
466 }
467 protected void transformActivationProperty_Value(ActivationProperty.Builder builder, ActivationProperty target) {
468 String newVal = transform(target.getValue());
469 builder.value(newVal != target.getValue() ? newVal : null);
470 }
471
472 protected ActivationOS transformActivationOS(ActivationOS target) {
473 if (target == null) {
474 return null;
475 }
476 ActivationOS.Builder builder = ActivationOS.newBuilder(target);
477 transformActivationOS_Name(builder, target);
478 transformActivationOS_Family(builder, target);
479 transformActivationOS_Arch(builder, target);
480 transformActivationOS_Version(builder, target);
481 return builder.build();
482 }
483
484 protected void transformActivationOS_Name(ActivationOS.Builder builder, ActivationOS target) {
485 String newVal = transform(target.getName());
486 builder.name(newVal != target.getName() ? newVal : null);
487 }
488 protected void transformActivationOS_Family(ActivationOS.Builder builder, ActivationOS target) {
489 String newVal = transform(target.getFamily());
490 builder.family(newVal != target.getFamily() ? newVal : null);
491 }
492 protected void transformActivationOS_Arch(ActivationOS.Builder builder, ActivationOS target) {
493 String newVal = transform(target.getArch());
494 builder.arch(newVal != target.getArch() ? newVal : null);
495 }
496 protected void transformActivationOS_Version(ActivationOS.Builder builder, ActivationOS target) {
497 String newVal = transform(target.getVersion());
498 builder.version(newVal != target.getVersion() ? newVal : null);
499 }
500
501 protected ActivationFile transformActivationFile(ActivationFile target) {
502 if (target == null) {
503 return null;
504 }
505 ActivationFile.Builder builder = ActivationFile.newBuilder(target);
506 transformActivationFile_Missing(builder, target);
507 transformActivationFile_Exists(builder, target);
508 return builder.build();
509 }
510
511 protected void transformActivationFile_Missing(ActivationFile.Builder builder, ActivationFile target) {
512 String newVal = transform(target.getMissing());
513 builder.missing(newVal != target.getMissing() ? newVal : null);
514 }
515 protected void transformActivationFile_Exists(ActivationFile.Builder builder, ActivationFile target) {
516 String newVal = transform(target.getExists());
517 builder.exists(newVal != target.getExists() ? newVal : null);
518 }
519
520 protected <T> List<T> transform(List<T> list, Function<T, T> transformer) {
521 List<T> newList = null;
522 for (int i = 0; i < list.size(); i++) {
523 T newVal = transformer.apply(list.get(i));
524 if (newVal != list.get(i)) {
525 if (newList == null) {
526 newList = new ArrayList<>(list);
527 }
528 newList.set(i, newVal);
529 }
530 }
531 return newList;
532 }
533
534 protected XmlNode transform(XmlNode node) {
535 if (node != null) {
536 Xpp3Dom xpp = new Xpp3Dom(node);
537 transform(xpp);
538 return xpp.getDom();
539 }
540 return node;
541 }
542
543 protected void transform(Xpp3Dom dom) {
544 if (dom != null) {
545 String org, val;
546
547 org = dom.getValue();
548 val = transform(org);
549 if (org != val) {
550 dom.setValue(val);
551 }
552
553 for (String attr : dom.getAttributeNames()) {
554 org = dom.getAttribute(attr);
555 val = transform(org);
556 if (org != val) {
557 dom.setAttribute(attr, val);
558 }
559 }
560
561 for (int i = 0, l = dom.getChildCount(); i < l; i++) {
562 transform(dom.getChild(i));
563 }
564 }
565 }
566 }