|
1 /* |
|
2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 * Error code to error message mapper |
|
17 * |
|
18 */ |
|
19 package com.nokia.tracecompiler.engine; |
|
20 |
|
21 import java.io.File; |
|
22 |
|
23 import com.nokia.tracecompiler.engine.TraceCompilerEngineErrorCodes.FileErrorParameters; |
|
24 import com.nokia.tracecompiler.engine.TraceCompilerEngineErrorCodes.RangeErrorParameters; |
|
25 import com.nokia.tracecompiler.engine.TraceCompilerEngineErrorCodes.StringErrorParameters; |
|
26 import com.nokia.tracecompiler.engine.TraceCompilerEngineErrorCodes.TraceCompilerErrorCode; |
|
27 import com.nokia.tracecompiler.model.TraceCompilerErrorParameters; |
|
28 import com.nokia.tracecompiler.model.TraceCompilerException; |
|
29 import com.nokia.tracecompiler.source.SourceConstants; |
|
30 import com.nokia.tracecompiler.source.SourceUtils; |
|
31 |
|
32 /** |
|
33 * Error code to error message mapper |
|
34 * |
|
35 */ |
|
36 public final class TraceCompilerEngineErrorMessages { |
|
37 |
|
38 /** |
|
39 * Maps an exception to error message |
|
40 * |
|
41 * @param e |
|
42 * the exception |
|
43 * @return the message |
|
44 */ |
|
45 public static String getErrorMessage(TraceCompilerException e) { |
|
46 return TraceCompilerEngineErrorMessages.getErrorMessage( |
|
47 (TraceCompilerErrorCode) e.getErrorCode(), e |
|
48 .getErrorParameters()); |
|
49 } |
|
50 |
|
51 /** |
|
52 * Maps error code to error message |
|
53 * |
|
54 * @param error |
|
55 * the error code |
|
56 * @param parameters |
|
57 * the parameters of the error |
|
58 * @return the message |
|
59 */ |
|
60 public static String getErrorMessage(TraceCompilerErrorCode error, |
|
61 TraceCompilerErrorParameters parameters) { |
|
62 // CodForChk_Dis_LengthyFunc |
|
63 // CodForChk_Dis_ComplexFunc |
|
64 String s; |
|
65 StringBuffer sb = new StringBuffer(); |
|
66 switch (error) { |
|
67 case DUPLICATE_GROUP_ID: |
|
68 sb.append(Messages |
|
69 .getString("TraceCompilerErrorMessages.DuplicateGroupID")); //$NON-NLS-1$ |
|
70 break; |
|
71 case DUPLICATE_GROUP_NAME: |
|
72 sb.append(Messages |
|
73 .getString("TraceCompilerErrorMessages.DuplicateGroupName")); //$NON-NLS-1$ |
|
74 break; |
|
75 case DUPLICATE_TRACE_ID: |
|
76 sb.append(Messages |
|
77 .getString("TraceCompilerErrorMessages.DuplicateTraceID")); //$NON-NLS-1$ |
|
78 break; |
|
79 case DUPLICATE_TRACE_NAME: |
|
80 sb.append(Messages |
|
81 .getString("TraceCompilerErrorMessages.DuplicateTraceName")); //$NON-NLS-1$ |
|
82 break; |
|
83 case DUPLICATE_PARAMETER_ID: |
|
84 s = Messages |
|
85 .getString("TraceCompilerErrorMessages.DuplicateParameterID"); //$NON-NLS-1$ |
|
86 sb.append(s); |
|
87 break; |
|
88 case DUPLICATE_CONSTANT_VALUE: |
|
89 s = Messages |
|
90 .getString("TraceCompilerErrorMessages.DuplicateConstantValue"); //$NON-NLS-1$ |
|
91 sb.append(s); |
|
92 break; |
|
93 case DUPLICATE_CONSTANT_ID: |
|
94 s = Messages |
|
95 .getString("TraceCompilerErrorMessages.DuplicateConstantID"); //$NON-NLS-1$ |
|
96 sb.append(s); |
|
97 break; |
|
98 case DUPLICATE_CONSTANT_TABLE_NAME: |
|
99 s = Messages |
|
100 .getString("TraceCompilerErrorMessages.DuplicateConstantTableName"); //$NON-NLS-1$ |
|
101 sb.append(s); |
|
102 break; |
|
103 case DUPLICATE_CONSTANT_TABLE_ID: |
|
104 s = Messages |
|
105 .getString("TraceCompilerErrorMessages.DuplicateConstantTableID"); //$NON-NLS-1$ |
|
106 sb.append(s); |
|
107 break; |
|
108 case DUPLICATE_PARAMETER_NAME: |
|
109 s = Messages |
|
110 .getString("TraceCompilerErrorMessages.DuplicateParameterName"); //$NON-NLS-1$ |
|
111 sb.append(s); |
|
112 break; |
|
113 case INVALID_GROUP_ID: |
|
114 createInvalidGroupIDMessage(parameters, sb); |
|
115 break; |
|
116 case INVALID_TRACE_ID: |
|
117 createInvalidTraceIDMessage(parameters, sb); |
|
118 break; |
|
119 case INVALID_MODEL_PROPERTIES_FOR_EXPORT: |
|
120 s = Messages |
|
121 .getString("TraceCompilerErrorMessages.InvalidModelPropertiesForExport"); //$NON-NLS-1$ |
|
122 sb.append(s); |
|
123 break; |
|
124 case INVALID_MODEL_NAME: |
|
125 sb.append(Messages |
|
126 .getString("TraceCompilerErrorMessages.InvalidProjectName")); //$NON-NLS-1$ |
|
127 break; |
|
128 case INVALID_GROUP_NAME: |
|
129 sb.append(Messages |
|
130 .getString("TraceCompilerErrorMessages.InvalidGroupName")); //$NON-NLS-1$ |
|
131 break; |
|
132 case INVALID_TRACE_NAME: |
|
133 sb.append(Messages |
|
134 .getString("TraceCompilerErrorMessages.InvalidTraceName")); //$NON-NLS-1$ |
|
135 break; |
|
136 case INVALID_PARAMETER_NAME: |
|
137 s = Messages |
|
138 .getString("TraceCompilerErrorMessages.InvalidParameterName"); //$NON-NLS-1$ |
|
139 sb.append(s); |
|
140 break; |
|
141 case EMPTY_PARAMETER_NAME: |
|
142 sb.append(Messages |
|
143 .getString("TraceCompilerErrorMessages.EmptyParameterName")); //$NON-NLS-1$ |
|
144 break; |
|
145 case INVALID_CONSTANT_TABLE_NAME: |
|
146 s = Messages |
|
147 .getString("TraceCompilerErrorMessages.InvalidConstantTableName"); //$NON-NLS-1$ |
|
148 sb.append(s); |
|
149 break; |
|
150 case CONSTANT_TABLE_NOT_PART_OF_PROJECT: |
|
151 s = Messages |
|
152 .getString("TraceCompilerErrorMessages.ConstantTableNotPartOfProject"); //$NON-NLS-1$ |
|
153 sb.append(s); |
|
154 break; |
|
155 case INVALID_TRACE_DATA: |
|
156 sb.append(Messages |
|
157 .getString("TraceCompilerErrorMessages.InvalidTraceData")); //$NON-NLS-1$ |
|
158 break; |
|
159 case INVALID_PARAMETER_TYPE: |
|
160 createInvalidParameterTypeMessage(parameters, sb); |
|
161 break; |
|
162 case INVALID_CONSTANT_VALUE: |
|
163 s = Messages |
|
164 .getString("TraceCompilerErrorMessages.InvalidConstantValue"); //$NON-NLS-1$ |
|
165 sb.append(s); |
|
166 break; |
|
167 case SOURCE_NOT_EDITABLE: |
|
168 s = Messages |
|
169 .getString("TraceCompilerErrorMessages.SourceNotEditable"); //$NON-NLS-1$ |
|
170 sb.append(s); |
|
171 break; |
|
172 case INVALID_SOURCE_LOCATION: |
|
173 s = Messages |
|
174 .getString("TraceCompilerErrorMessages.InvalidSourceLocation"); //$NON-NLS-1$ |
|
175 sb.append(s); |
|
176 break; |
|
177 case UNREACHABLE_TRACE_LOCATION: |
|
178 s = Messages |
|
179 .getString("TraceCompilerErrorMessages.UnreachableTraceLocation"); //$NON-NLS-1$ |
|
180 sb.append(s); |
|
181 break; |
|
182 case INVALID_PROJECT_FILE: |
|
183 sb.append(Messages |
|
184 .getString("TraceCompilerErrorMessages.InvalidTraceFile")); //$NON-NLS-1$ |
|
185 break; |
|
186 case FILE_NOT_FOUND: |
|
187 createFileNotFoundMessage((FileErrorParameters) parameters, sb); |
|
188 break; |
|
189 case INVALID_PATH: |
|
190 createInvalidPathMessage((FileErrorParameters) parameters, sb); |
|
191 break; |
|
192 case SOURCE_NOT_OPEN: |
|
193 sb.append(Messages |
|
194 .getString("TraceCompilerErrorMessages.SourceNotOpen")); //$NON-NLS-1$ |
|
195 break; |
|
196 case CANNOT_OPEN_PROJECT_FILE: |
|
197 s = Messages |
|
198 .getString("TraceCompilerErrorMessages.CannotOpenProjectFile"); //$NON-NLS-1$ |
|
199 sb.append(s); |
|
200 break; |
|
201 case CANNOT_WRITE_PROJECT_FILE: |
|
202 s = Messages |
|
203 .getString("TraceCompilerErrorMessages.CannotWriteProjectFile"); //$NON-NLS-1$ |
|
204 sb.append(s); |
|
205 break; |
|
206 case PARAMETER_FORMAT_MISMATCH: |
|
207 s = Messages |
|
208 .getString("TraceCompilerErrorMessages.ParameterFormatMismatch"); //$NON-NLS-1$ |
|
209 sb.append(s); |
|
210 break; |
|
211 case GROUP_NOT_SELECTED: |
|
212 sb.append(Messages |
|
213 .getString("TraceCompilerErrorMessages.GroupNotSelected")); //$NON-NLS-1$ |
|
214 break; |
|
215 case TRACE_NOT_SELECTED: |
|
216 sb.append(Messages |
|
217 .getString("TraceCompilerErrorMessages.TraceNotSelected")); //$NON-NLS-1$ |
|
218 break; |
|
219 case CONSTANT_TABLE_NOT_SELECTED: |
|
220 s = Messages |
|
221 .getString("TraceCompilerErrorMessages.ConstantTableNotSelected"); //$NON-NLS-1$ |
|
222 sb.append(s); |
|
223 break; |
|
224 case LOCATION_NOT_SELECTED: |
|
225 s = Messages |
|
226 .getString("TraceCompilerErrorMessages.TraceLocationNotSelected"); //$NON-NLS-1$ |
|
227 sb.append(s); |
|
228 break; |
|
229 case CANNOT_DELETE_SELECTED_OBJECT: |
|
230 s = Messages |
|
231 .getString("TraceCompilerErrorMessages.CannotDeleteSelectedObject"); //$NON-NLS-1$ |
|
232 sb.append(s); |
|
233 break; |
|
234 case MODEL_NOT_READY: |
|
235 s = Messages |
|
236 .getString("TraceCompilerErrorMessages.TraceProjectNotOpen"); //$NON-NLS-1$ |
|
237 sb.append(s); |
|
238 break; |
|
239 case NO_TRACE_GROUPS: |
|
240 sb.append(Messages |
|
241 .getString("TraceCompilerErrorMessages.NoTraceGroups")); //$NON-NLS-1$ |
|
242 break; |
|
243 case NOT_ENOUGH_PARAMETERS: |
|
244 s = Messages |
|
245 .getString("TraceCompilerErrorMessages.NotEnoughParameters"); //$NON-NLS-1$ |
|
246 sb.append(s); |
|
247 break; |
|
248 case PARAMETER_ADD_NOT_ALLOWED: |
|
249 s = Messages |
|
250 .getString("TraceCompilerErrorMessages.ParameterAddNotAllowed"); //$NON-NLS-1$ |
|
251 sb.append(s); |
|
252 break; |
|
253 case PARAMETER_REMOVE_NOT_ALLOWED: |
|
254 s = Messages |
|
255 .getString("TraceCompilerErrorMessages.ParameterRemoveNotAllowed"); //$NON-NLS-1$ |
|
256 sb.append(s); |
|
257 break; |
|
258 case PARAMETER_TEMPLATE_ALREADY_IN_USE: |
|
259 s = Messages |
|
260 .getString("TraceCompilerErrorMessages.ParameterTemplateInUse"); //$NON-NLS-1$ |
|
261 sb.append(s); |
|
262 break; |
|
263 case CONSTANT_TABLE_PARSE_FAILED: |
|
264 s = Messages |
|
265 .getString("TraceCompilerErrorMessages.ConstantTableParseFailed"); //$NON-NLS-1$ |
|
266 sb.append(s); |
|
267 break; |
|
268 case UNEXPECTED_EXCEPTION: |
|
269 s = Messages |
|
270 .getString("TraceCompilerErrorMessages.UnexpectedException"); //$NON-NLS-1$ |
|
271 sb.append(s); |
|
272 break; |
|
273 case TRACE_NAME_FORMAT_MISSING_FUNCTION: |
|
274 s = Messages |
|
275 .getString("TraceCompilerErrorMessages.NameFormatMissingFunction"); //$NON-NLS-1$ |
|
276 sb.append(s); |
|
277 break; |
|
278 case INVALID_TRACE_TEXT_FORMAT: |
|
279 s = Messages |
|
280 .getString("TraceCompilerErrorMessages.InvalidTraceTextFormat"); //$NON-NLS-1$ |
|
281 sb.append(s); |
|
282 break; |
|
283 case INVALID_TRACE_NAME_FORMAT: |
|
284 s = Messages |
|
285 .getString("TraceCompilerErrorMessages.InvalidTraceNameFormat"); //$NON-NLS-1$ |
|
286 sb.append(s); |
|
287 break; |
|
288 case NO_FUNCTIONS_TO_INSTRUMENT_WITH_TEMPLATE: |
|
289 s = Messages |
|
290 .getString("TraceCompilerErrorMessages.NoFunctionsToInstrumentPrefix"); //$NON-NLS-1$ |
|
291 sb.append(s); |
|
292 sb.append(((StringErrorParameters) parameters).string); |
|
293 s = Messages |
|
294 .getString("TraceCompilerErrorMessages.NoFunctionsToInstrumentPostfix"); //$NON-NLS-1$ |
|
295 sb.append(s); |
|
296 break; |
|
297 case NO_FUNCTIONS_TO_INSTRUMENT: |
|
298 s = Messages |
|
299 .getString("TraceCompilerErrorMessages.NoFunctionsToInstrument"); //$NON-NLS-1$ |
|
300 sb.append(s); |
|
301 break; |
|
302 case MULTIPLE_ERRORS_IN_OPERATION: |
|
303 s = Messages |
|
304 .getString("TraceCompilerErrorMessages.MultipleErrorsInOperation"); //$NON-NLS-1$ |
|
305 sb.append(s); |
|
306 break; |
|
307 case NO_TRACES_TO_DELETE: |
|
308 sb.append(Messages |
|
309 .getString("TraceCompilerErrorMessages.NoTracesToDelete")); //$NON-NLS-1$ |
|
310 break; |
|
311 case TRACE_DOES_NOT_EXIST: |
|
312 s = Messages |
|
313 .getString("TraceCompilerErrorMessages.TraceDoesNotExist"); //$NON-NLS-1$ |
|
314 sb.append(s); |
|
315 break; |
|
316 case TRACE_NEEDS_CONVERSION: |
|
317 s = Messages |
|
318 .getString("TraceCompilerErrorMessages.TraceNeedsConversionPrefix"); //$NON-NLS-1$ |
|
319 sb.append(s); |
|
320 break; |
|
321 case PARAMETER_COUNT_MISMATCH: |
|
322 s = Messages |
|
323 .getString("TraceCompilerErrorMessages.ParameterCountMismatch"); //$NON-NLS-1$ |
|
324 sb.append(s); |
|
325 break; |
|
326 case PARAMETER_COUNT_DOES_NOT_MATCH_API: |
|
327 s = Messages |
|
328 .getString("TraceCompilerErrorMessages.ParameterCountDoesNotMatchApi"); //$NON-NLS-1$ |
|
329 sb.append(s); |
|
330 break; |
|
331 case TRACE_HAS_NO_LOCATIONS: |
|
332 s = Messages |
|
333 .getString("TraceCompilerErrorMessages.TraceHasNoLocations"); //$NON-NLS-1$ |
|
334 sb.append(s); |
|
335 break; |
|
336 case TRACE_HAS_MULTIPLE_LOCATIONS: |
|
337 s = Messages |
|
338 .getString("TraceCompilerErrorMessages.TraceHasMultipleLocations"); //$NON-NLS-1$ |
|
339 sb.append(s); |
|
340 break; |
|
341 case LOCATION_PARSER_FAILED: |
|
342 s = Messages |
|
343 .getString("TraceCompilerErrorMessages.LocationCouldNotBeParsed"); //$NON-NLS-1$ |
|
344 sb.append(s); |
|
345 break; |
|
346 case NO_TRACES_TO_EXPORT: |
|
347 s = Messages |
|
348 .getString("TraceCompilerErrorMessages.NoTracesToExport"); //$NON-NLS-1$ |
|
349 sb.append(s); |
|
350 break; |
|
351 case CANNOT_OPEN_SOURCE_FILE: |
|
352 s = Messages |
|
353 .getString("TraceCompilerErrorMessages.CannotOpenSourceFile"); //$NON-NLS-1$ |
|
354 sb.append(s); |
|
355 break; |
|
356 case CANNOT_UPDATE_TRACE_INTO_SOURCE: |
|
357 s = Messages |
|
358 .getString("TraceCompilerErrorMessages.CannotUpdateTraceIntoSource"); //$NON-NLS-1$ |
|
359 sb.append(s); |
|
360 break; |
|
361 case PARAMETER_FORMAT_NOT_SUPPORTED: |
|
362 createParameterFormatNotSupportedMessage(parameters, sb); |
|
363 break; |
|
364 case PARAMETER_FORMAT_NEEDS_EXT_MACRO: |
|
365 createParameterFormatNotSupportedInMacroMessage(parameters, sb); |
|
366 break; |
|
367 case PARAMETER_FORMAT_NOT_SUPPORTED_IN_ARRAY: |
|
368 createParameterFormatNotSupportedInArrayMessage(parameters, sb); |
|
369 break; |
|
370 case PARAMETER_FORMAT_UNNECESSARY_EXT_MACRO: |
|
371 s = Messages |
|
372 .getString("TraceCompilerErrorMessages.ParameterFormatUnnecessaryExtMacro"); //$NON-NLS-1$ |
|
373 sb.append(s); |
|
374 break; |
|
375 case PROPERTY_FILE_ELEMENT_NOT_SUPPORTED: |
|
376 s = Messages |
|
377 .getString("TraceCompilerErrorMessages.PropertyFileElementNotSupportedPrefix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
378 sb.append(s); |
|
379 sb.append(((StringErrorParameters) parameters).string); |
|
380 s = Messages |
|
381 .getString("TraceCompilerErrorMessages.PropertyFileElementNotSupportedPostfix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
382 sb.append(s); |
|
383 break; |
|
384 case PROPERTY_FILE_ELEMENT_MISPLACED: |
|
385 s = Messages |
|
386 .getString("TraceCompilerErrorMessages.PropertyFileElementMisplacedPrefix"); //$NON-NLS-1$ |
|
387 sb.append(s); |
|
388 sb.append(((StringErrorParameters) parameters).string); |
|
389 s = Messages |
|
390 .getString("TraceCompilerErrorMessages.PropertyFileElementMisplacedPostfix"); //$NON-NLS-1$ |
|
391 sb.append(s); |
|
392 break; |
|
393 case PROPERTY_FILE_ATTRIBUTE_INVALID: |
|
394 s = Messages |
|
395 .getString("TraceCompilerErrorMessages.PropertyFileAttributeInvalidPrefix"); //$NON-NLS-1$ |
|
396 sb.append(s); |
|
397 sb.append(((StringErrorParameters) parameters).string); |
|
398 s = Messages |
|
399 .getString("TraceCompilerErrorMessages.PropertyFileAttributeInvalidPostfix"); //$NON-NLS-1$ |
|
400 sb.append(s); |
|
401 break; |
|
402 case INSERT_TRACE_DOES_NOT_WORK: |
|
403 s = Messages |
|
404 .getString("TraceCompilerErrorMessages.InsertTraceDoesNotWork"); //$NON-NLS-1$ |
|
405 sb.append(s); |
|
406 break; |
|
407 case NO_CONTEXT_FOR_LOCATION: |
|
408 s = Messages |
|
409 .getString("TraceCompilerErrorMessages.NoContextForLocation"); //$NON-NLS-1$ |
|
410 sb.append(s); |
|
411 break; |
|
412 case CANNOT_PARSE_FUNCTION_PARAMETERS: |
|
413 s = Messages |
|
414 .getString("TraceCompilerErrorMessages.CannotParseFunctionParameters"); //$NON-NLS-1$ |
|
415 sb.append(s); |
|
416 break; |
|
417 case INVALID_PARAMETER_NAME_IN_RETURN_VALUE: |
|
418 s = Messages |
|
419 .getString("TraceCompilerErrorMessages.InvalidParameterNameInReturnValue"); //$NON-NLS-1$ |
|
420 sb.append(s); |
|
421 break; |
|
422 case RUN_OUT_OF_GROUP_IDS: |
|
423 sb.append(Messages |
|
424 .getString("TraceCompilerErrorMessages.RunOutOfGroupIDs")); //$NON-NLS-1$ |
|
425 break; |
|
426 case RUN_OUT_OF_TRACE_IDS: |
|
427 sb.append(Messages |
|
428 .getString("TraceCompilerErrorMessages.RunOutOfTraceIDs")); //$NON-NLS-1$ |
|
429 break; |
|
430 case VAR_ARG_LIST_PARAMETER_FOUND: |
|
431 sb.append(Messages |
|
432 .getString("TraceCompilerErrorMessages.VarArgListParameterFound")); //$NON-NLS-1$ |
|
433 break; |
|
434 case INVALID_USAGE_OF_TRACE_STATE_GROUP_NAME: |
|
435 sb.append(Messages |
|
436 .getString("TraceCompilerErrorMessages.InvalidUsageOfTraceStateGroupName")); //$NON-NLS-1$ |
|
437 break; |
|
438 case INVALID_USAGE_OF_TRACE_PERFORMACE_GROUP_NAME: |
|
439 sb.append(Messages |
|
440 .getString("TraceCompilerErrorMessages.InvalidUsageOfTracePerformanceGroupName")); //$NON-NLS-1$ |
|
441 break; |
|
442 default: |
|
443 break; |
|
444 } |
|
445 return sb.toString(); |
|
446 } |
|
447 |
|
448 /** |
|
449 * Creates invalid parameter type message |
|
450 * |
|
451 * @param parameters |
|
452 * the parameters |
|
453 * @param sb |
|
454 * the message buffer |
|
455 */ |
|
456 private static void createInvalidParameterTypeMessage( |
|
457 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
458 String s; |
|
459 if (parameters instanceof StringErrorParameters) { |
|
460 s = Messages |
|
461 .getString("TraceCompilerErrorMessages.InvalidParameterTypePrefix"); //$NON-NLS-1$ |
|
462 sb.append(s); |
|
463 sb.append(((StringErrorParameters) parameters).string); |
|
464 String format = SourceUtils |
|
465 .mapNormalTypeToFormat(((StringErrorParameters) parameters).string); |
|
466 if (format != null) { |
|
467 sb.append(" "); //$NON-NLS-1$ |
|
468 sb.append(format); |
|
469 } |
|
470 s = Messages |
|
471 .getString("TraceCompilerErrorMessages.InvalidParameterTypePostfix"); //$NON-NLS-1$ |
|
472 sb.append(s); |
|
473 } else { |
|
474 s = Messages |
|
475 .getString("TraceCompilerErrorMessages.InvalidParameterType"); //$NON-NLS-1$ |
|
476 sb.append(s); |
|
477 } |
|
478 } |
|
479 |
|
480 /** |
|
481 * Creates parameter format not supported message |
|
482 * |
|
483 * @param parameters |
|
484 * the parameters |
|
485 * @param sb |
|
486 * the message buffer |
|
487 */ |
|
488 private static void createParameterFormatNotSupportedMessage( |
|
489 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
490 String s; |
|
491 if (parameters instanceof StringErrorParameters) { |
|
492 s = Messages |
|
493 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedPrefix"); //$NON-NLS-1$ |
|
494 sb.append(s); |
|
495 sb.append(((StringErrorParameters) parameters).string); |
|
496 s = Messages |
|
497 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedPostfix"); //$NON-NLS-1$ |
|
498 sb.append(s); |
|
499 } else { |
|
500 s = Messages |
|
501 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupported"); //$NON-NLS-1$ |
|
502 sb.append(s); |
|
503 } |
|
504 } |
|
505 |
|
506 /** |
|
507 * Creates parameter not supported in macro message |
|
508 * |
|
509 * @param parameters |
|
510 * the parameters |
|
511 * @param sb |
|
512 * the message buffer |
|
513 */ |
|
514 private static void createParameterFormatNotSupportedInMacroMessage( |
|
515 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
516 String s; |
|
517 if (parameters instanceof StringErrorParameters) { |
|
518 s = Messages |
|
519 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInMacroPrefix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
520 sb.append(s); |
|
521 sb.append(((StringErrorParameters) parameters).string); |
|
522 s = Messages |
|
523 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInMacroPostfix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
524 sb.append(s); |
|
525 } else { |
|
526 s = Messages |
|
527 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInMacro"); //$NON-NLS-1$ |
|
528 sb.append(s); |
|
529 } |
|
530 } |
|
531 |
|
532 /** |
|
533 * Creates parameter not supported in array message |
|
534 * |
|
535 * @param parameters |
|
536 * the parameters |
|
537 * @param sb |
|
538 * the message buffer |
|
539 */ |
|
540 private static void createParameterFormatNotSupportedInArrayMessage( |
|
541 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
542 String s; |
|
543 if (parameters instanceof StringErrorParameters) { |
|
544 s = Messages |
|
545 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInArrayPrefix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
546 sb.append(s); |
|
547 sb.append(((StringErrorParameters) parameters).string); |
|
548 s = Messages |
|
549 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInArrayPostfix"); //$NON-NLS-1$ CodForChk_Dis_LengthyLine |
|
550 sb.append(s); |
|
551 } else { |
|
552 s = Messages |
|
553 .getString("TraceCompilerErrorMessages.ParameterFormatNotSupportedInArray"); //$NON-NLS-1$ |
|
554 sb.append(s); |
|
555 } |
|
556 } |
|
557 |
|
558 /** |
|
559 * Creates invalid trace ID message |
|
560 * |
|
561 * @param parameters |
|
562 * the parameters |
|
563 * @param sb |
|
564 * the message buffer |
|
565 */ |
|
566 private static void createInvalidTraceIDMessage( |
|
567 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
568 String s; |
|
569 if (parameters instanceof RangeErrorParameters) { |
|
570 s = Messages |
|
571 .getString("TraceCompilerErrorMessages.InvalidTraceIDStart"); //$NON-NLS-1$ |
|
572 sb.append(s); |
|
573 s = Messages |
|
574 .getString("TraceCompilerErrorMessages.InvalidTraceIDMiddle"); //$NON-NLS-1$ |
|
575 addRangeParameter((RangeErrorParameters) parameters, sb, s); |
|
576 sb.append(Messages |
|
577 .getString("TraceCompilerErrorMessages.InvalidTraceIDEnd")); //$NON-NLS-1$ |
|
578 } else { |
|
579 sb.append(Messages |
|
580 .getString("TraceCompilerErrorMessages.InvalidTraceID")); //$NON-NLS-1$ |
|
581 } |
|
582 } |
|
583 |
|
584 /** |
|
585 * Creates invalid group ID message |
|
586 * |
|
587 * @param parameters |
|
588 * the parameters |
|
589 * @param sb |
|
590 * the message buffer |
|
591 */ |
|
592 private static void createInvalidGroupIDMessage( |
|
593 TraceCompilerErrorParameters parameters, StringBuffer sb) { |
|
594 String s; |
|
595 if (parameters instanceof RangeErrorParameters) { |
|
596 s = Messages |
|
597 .getString("TraceCompilerErrorMessages.InvalidGroupIDStart"); //$NON-NLS-1$ |
|
598 sb.append(s); |
|
599 s = Messages |
|
600 .getString("TraceCompilerErrorMessages.InvalidGroupIDMiddle"); //$NON-NLS-1$ |
|
601 addRangeParameter((RangeErrorParameters) parameters, sb, s); |
|
602 sb.append(Messages |
|
603 .getString("TraceCompilerErrorMessages.InvalidGroupIDEnd")); //$NON-NLS-1$ |
|
604 } else { |
|
605 sb.append(Messages |
|
606 .getString("TraceCompilerErrorMessages.InvalidGroupID")); //$NON-NLS-1$ |
|
607 } |
|
608 } |
|
609 |
|
610 /** |
|
611 * Adds a range parameter to error buffer |
|
612 * |
|
613 * @param parameters |
|
614 * the range |
|
615 * @param sb |
|
616 * the buffer |
|
617 * @param middleText |
|
618 * the text between the range |
|
619 */ |
|
620 private static void addRangeParameter(RangeErrorParameters parameters, |
|
621 StringBuffer sb, String middleText) { |
|
622 if (parameters.isHex) { |
|
623 sb.append(SourceConstants.HEX_PREFIX); |
|
624 sb.append(Integer.toHexString(parameters.start)); |
|
625 } else { |
|
626 sb.append(parameters.start); |
|
627 } |
|
628 sb.append(middleText); |
|
629 if (parameters.isHex) { |
|
630 sb.append(SourceConstants.HEX_PREFIX); |
|
631 sb.append(Integer.toHexString(parameters.end)); |
|
632 } else { |
|
633 sb.append(parameters.end); |
|
634 } |
|
635 } |
|
636 |
|
637 /** |
|
638 * Creates "Invalid directory" message |
|
639 * |
|
640 * @param parameters |
|
641 * the message parameters |
|
642 * @param sb |
|
643 * the string buffer where the message is stored |
|
644 */ |
|
645 private static void createInvalidPathMessage( |
|
646 FileErrorParameters parameters, StringBuffer sb) { |
|
647 String s; |
|
648 if (parameters != null) { |
|
649 s = Messages |
|
650 .getString("TraceCompilerErrorMessages.InvalidDirectoryPrefix"); //$NON-NLS-1$ |
|
651 sb.append(s); |
|
652 sb.append(convertPath(parameters.file)); |
|
653 s = Messages |
|
654 .getString("TraceCompilerErrorMessages.InvalidDirectoryPostfix"); //$NON-NLS-1$ |
|
655 sb.append(s); |
|
656 } else { |
|
657 sb.append(Messages |
|
658 .getString("TraceCompilerErrorMessages.InvalidDirectory")); //$NON-NLS-1$ |
|
659 } |
|
660 } |
|
661 |
|
662 /** |
|
663 * Creates "File not found" message |
|
664 * |
|
665 * @param parameters |
|
666 * the message parameters |
|
667 * @param sb |
|
668 * the string buffer where the message is stored |
|
669 */ |
|
670 private static void createFileNotFoundMessage( |
|
671 FileErrorParameters parameters, StringBuffer sb) { |
|
672 String s; |
|
673 if (parameters != null) { |
|
674 s = Messages |
|
675 .getString("TraceCompilerErrorMessages.FileDoesNotExistPrefix"); //$NON-NLS-1$ |
|
676 sb.append(s); |
|
677 sb.append(convertPath(parameters.file)); |
|
678 s = Messages |
|
679 .getString("TraceCompilerErrorMessages.FileDoesNotExistPostfix"); //$NON-NLS-1$ |
|
680 sb.append(s); |
|
681 } else { |
|
682 sb.append(Messages |
|
683 .getString("TraceCompilerErrorMessages.FileDoesNotExist")); //$NON-NLS-1$ |
|
684 } |
|
685 } |
|
686 |
|
687 /** |
|
688 * Adds some spaces to path string to allow folding |
|
689 * |
|
690 * @param path |
|
691 * the path |
|
692 * @return the converted path |
|
693 */ |
|
694 public static String convertPath(String path) { |
|
695 StringBuffer sb = new StringBuffer(); |
|
696 int strIndex = -1; |
|
697 do { |
|
698 strIndex++; |
|
699 int lastIndex = strIndex; |
|
700 strIndex = path.indexOf(File.separatorChar, strIndex); |
|
701 if (strIndex != -1) { |
|
702 String sub = path.substring(lastIndex, strIndex); |
|
703 if (sub.length() > 0) { |
|
704 sb.append(sub); |
|
705 sb.append(' '); |
|
706 sb.append(File.separatorChar); |
|
707 sb.append(' '); |
|
708 } |
|
709 } else { |
|
710 // If the data ends with file separator, lastIndex points to |
|
711 // end-of-data. If not, the rest of the data is appended without |
|
712 // further white spaces |
|
713 if (lastIndex < path.length()) { |
|
714 String sub = path.substring(lastIndex); |
|
715 sb.append(sub); |
|
716 } |
|
717 } |
|
718 } while (strIndex != -1); |
|
719 return sb.toString(); |
|
720 } |
|
721 |
|
722 } |