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