1   package org.apache.maven.settings.building;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  import java.util.ArrayList;
23  import java.util.List;
24  
25  import org.apache.maven.settings.io.SettingsParseException;
26  
27  
28  
29  
30  
31  
32  class DefaultSettingsProblemCollector
33      implements SettingsProblemCollector
34  {
35  
36      private List<SettingsProblem> problems;
37  
38      private String source;
39  
40      public DefaultSettingsProblemCollector( List<SettingsProblem> problems )
41      {
42          this.problems = ( problems != null ) ? problems : new ArrayList<SettingsProblem>();
43      }
44  
45      public List<SettingsProblem> getProblems()
46      {
47          return problems;
48      }
49  
50      public void setSource( String source )
51      {
52          this.source = source;
53      }
54  
55      public void add( SettingsProblem.Severity severity, String message, int line, int column, Exception cause )
56      {
57          if ( line <= 0 && column <= 0 && ( cause instanceof SettingsParseException ) )
58          {
59              SettingsParseException e = (SettingsParseException) cause;
60              line = e.getLineNumber();
61              column = e.getColumnNumber();
62          }
63  
64          SettingsProblem problem = new DefaultSettingsProblem( message, severity, source, line, column, cause );
65  
66          problems.add( problem );
67      }
68  
69  }