1 package org.apache.maven.continuum.project.builder;
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.Arrays;
24 import java.util.HashMap;
25 import java.util.List;
26 import java.util.Map;
27
28 import org.apache.maven.continuum.model.project.Project;
29 import org.apache.maven.continuum.model.project.ProjectGroup;
30
31
32
33
34
35
36
37
38
39 public class ContinuumProjectBuildingResult
40 {
41 public static final String ERROR_MALFORMED_URL = "add.project.malformed.url.error";
42
43 public static final String ERROR_UNKNOWN_HOST = "add.project.unknown.host.error";
44
45 public static final String ERROR_CONNECT = "add.project.connect.error";
46
47 public static final String ERROR_XML_PARSE = "add.project.xml.parse.error";
48
49 public static final String ERROR_EXTEND = "add.project.extend.error";
50
51 public static final String ERROR_MISSING_GROUPID = "add.project.missing.groupid.error";
52
53 public static final String ERROR_MISSING_ARTIFACTID = "add.project.missing.artifactid.error";
54
55 public static final String ERROR_POM_NOT_FOUND = "add.project.missing.pom.error";
56
57 public static final String ERROR_MISSING_VERSION = "add.project.missing.version.error";
58
59 public static final String ERROR_MISSING_NAME = "add.project.missing.name.error";
60
61 public static final String ERROR_MISSING_REPOSITORY = "add.project.missing.repository.error";
62
63 public static final String ERROR_MISSING_SCM = "add.project.missing.scm.error";
64
65 public static final String ERROR_MISSING_SCM_CONNECTION = "add.project.missing.scm.connection.error";
66
67 public static final String ERROR_MISSING_NOTIFIER_TYPE = "add.project.missing.notifier.type.error";
68
69 public static final String ERROR_MISSING_NOTIFIER_CONFIGURATION = "add.project.missing.notifier.configuration.error"
70 ;
71
72 public static final String ERROR_METADATA_TRANSFER = "add.project.metadata.transfer.error";
73
74 public static final String ERROR_VALIDATION = "add.project.validation.error";
75
76 public static final String ERROR_UNAUTHORIZED = "add.project.unauthorized.error";
77
78 public static final String ERROR_PROTOCOL_NOT_ALLOWED = "add.project.validation.protocol.not_allowed";
79
80 public static final String ERROR_ARTIFACT_NOT_FOUND = "add.project.artifact.not.found.error";
81
82 public static final String ERROR_PROJECT_BUILDING = "add.project.project.building.error";
83
84 public static final String ERROR_UNKNOWN = "add.project.unknown.error";
85
86 public static final String ERROR_DUPLICATE_PROJECTS = "add.project.duplicate.error";
87
88 private final List<Project> projects = new ArrayList<Project>();
89
90 private final List<ProjectGroup> projectGroups = new ArrayList<ProjectGroup>();
91
92 private final Map<String, String> errors = new HashMap<String, String>();
93
94 private static final String LS = System.getProperty( "line.separator" );
95
96 public void addProject( Project project )
97 {
98 projects.add( project );
99 }
100
101 public void addProjectGroup( ProjectGroup projectGroup )
102 {
103 projectGroups.add( projectGroup );
104 }
105
106 public void addProject( Project project, String executorId )
107 {
108 project.setExecutorId( executorId );
109
110 projects.add( project );
111 }
112
113 public List<Project> getProjects()
114 {
115 return projects;
116 }
117
118 public List<ProjectGroup> getProjectGroups()
119 {
120 return projectGroups;
121 }
122
123
124
125
126
127
128
129 public void addWarning( String warningKey )
130 {
131 addError( warningKey );
132 }
133
134
135
136
137
138
139 public void addError( String errorKey )
140 {
141 errors.put( errorKey, "" );
142 }
143
144
145
146
147
148
149 public void addError( String errorKey, Object param )
150 {
151 errors.put( errorKey, param == null ? "" : param.toString() );
152 }
153
154
155
156
157
158
159 public void addError( String errorKey, Object params[] )
160 {
161 if ( params != null )
162 {
163 errors.put( errorKey, Arrays.asList( params ).toString() );
164 }
165 }
166
167
168
169
170
171
172
173
174 public List<String> getWarnings()
175 {
176 return getErrors();
177 }
178
179
180
181
182
183
184
185 public List<String> getErrors()
186 {
187 return new ArrayList<String>( errors.keySet() );
188 }
189
190 public Map<String, String> getErrorsWithCause()
191 {
192 return errors;
193 }
194
195
196
197
198
199
200 public boolean hasErrors()
201 {
202 return ( errors != null ) && ( !errors.isEmpty() );
203 }
204
205
206
207
208
209
210 public String getErrorsAsString()
211 {
212 if ( !hasErrors() )
213 {
214 return null;
215 }
216
217 StringBuilder message = new StringBuilder();
218 for ( String key : errors.keySet() )
219 {
220 message.append( errors.get( key ) );
221 message.append( LS );
222 }
223 return message.toString();
224 }
225 }