1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import javax.xml.stream.XMLStreamException;
22
23 import org.apache.maven.api.services.xml.Location;
24
25 public class StaxLocation implements Location {
26
27 private final javax.xml.stream.Location location;
28
29 public static Location getLocation(Exception e) {
30 return toLocation(e instanceof XMLStreamException xe ? xe.getLocation() : null);
31 }
32
33 public static Location toLocation(javax.xml.stream.Location location) {
34 return location != null ? new StaxLocation(location) : null;
35 }
36
37 public static String getMessage(Exception e) {
38 String message = e.getMessage();
39 if (e instanceof XMLStreamException xe && xe.getLocation() != null) {
40 int idx = message.indexOf("\nMessage: ");
41 if (idx >= 0) {
42 return message.substring(idx + "\nMessage: ".length());
43 }
44 }
45 return message;
46 }
47
48 public StaxLocation(javax.xml.stream.Location location) {
49 this.location = location;
50 }
51
52 @Override
53 public int getLineNumber() {
54 return location.getLineNumber();
55 }
56
57 @Override
58 public int getColumnNumber() {
59 return location.getColumnNumber();
60 }
61
62 @Override
63 public int getCharacterOffset() {
64 return location.getCharacterOffset();
65 }
66
67 @Override
68 public String getPublicId() {
69 return location.getPublicId();
70 }
71
72 @Override
73 public String getSystemId() {
74 return location.getSystemId();
75 }
76 }