+/*
+ * Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Jooyoul Lee <jy.exe.lee@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
package org.tizen.dynamicanalyzer.error;
-public enum CErrorCode {
+public enum DAErrorCode {
/** /usr/include/asm-generic/errno-base.h **/
EPERM(1,"Operation not permitted"),
ENOENT(2, "No such file or directory"),
private static final int E_SEVERITY_POS = 31;
private static final int E_TYPE_POS = 29;
- private CErrorCode(long errno, String message) {
+ private DAErrorCode(long errno, String message) {
this.errno = errno;
this.message = message;
}
+/*\r
+ * Dynamic Analyzer\r
+ *\r
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
+ *\r
+ * Contact: \r
+ * Jooyoul Lee <jy.exe.lee@samsung.com>\r
+ * Juyoung Kim <j0.kim@samsung.com>\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * \r
+ * Contributors:\r
+ * - S-Core Co., Ltd\r
+ * \r
+ */\r
+\r
package org.tizen.dynamicanalyzer.error;\r
\r
import java.util.Hashtable;\r
\r
public class ErrorCodeManager {\r
private static ErrorCodeManager instance = null;\r
- private Hashtable<Long, String> hash = new Hashtable<Long, String>();\r
+ private Hashtable<Long, DAErrorCode> hash = new Hashtable<Long, DAErrorCode>();\r
\r
public static ErrorCodeManager getInatance() {\r
if (instance == null) {\r
initErrorCode();\r
}\r
\r
- public String getErrorCode(long errno) {\r
+ public DAErrorCode getErrorCode(long errno) {\r
return hash.get(errno);\r
}\r
\r
e.printStackTrace();\r
// errno = -1 and returns null\r
}\r
- return hash.get(errno);\r
+ return hash.get(errno).name();\r
+ }\r
+\r
+ public String getErrorDescription(String strErr) {\r
+ long errno = -1;\r
+ try {\r
+ errno = Long.parseLong(strErr);\r
+ } catch (NumberFormatException e) {\r
+ e.printStackTrace();\r
+ // errno = -1 and returns null\r
+ }\r
+ return hash.get(errno).getMessage();\r
}\r
\r
public void initErrorCode() {\r
- CErrorCode[] cErrorCodes = CErrorCode.values();\r
+ DAErrorCode[] cErrorCodes = DAErrorCode.values();\r
int size = cErrorCodes.length;\r
for (int i = 0; i < size; i++) {\r
- hash.put((long) cErrorCodes[i].getErrno(),\r
- cErrorCodes[i].getMessage());\r
+ hash.put((long) cErrorCodes[i].getErrno(), cErrorCodes[i]);\r
}\r
}\r
\r
E_ALREADY_CONNECTED=E_ALREADY_CONNECTED\r
E_ALREADY_OPENED=E_ALREADY_OPENED\r
E_AUTHENTICATION=E_AUTHENTICATION\r
+\r
E_CHUNKED_TRANSACTION=E_CHUNKED_TRANSACTION\r
E_CONNECTION_BUSY=E_CONNECTION_BUSY\r
E_CONNECTION_FAILED=E_CONNECTION_FAILED\r
E_CONNECTION_RESET=E_CONNECTION_RESET\r
+\r
E_DATA_NOT_FOUND=E_DATA_NOT_FOUND\r
E_DATABASE=E_DATABASE\r
E_DECODING_FAILED=E_DECODING_FAILED\r
E_DHCP=E_DHCP\r
E_DNS=E_DNS\r
E_DNS_NOT_FOUND=E_DNS_NOT_FOUND\r
+\r
E_EFFECTS_DISABLED=E_EFFECTS_DISABLED\r
E_EMPTY_BODY=E_EMPTY_BODY\r
E_ENCODING_FAILED=E_ENCODING_FAILED\r
E_END_OF_FILE=E_END_OF_FILE\r
+\r
E_FAILURE=E_FAILURE\r
E_FDN_MODE=E_FDN_MODE\r
E_FILE_ALREADY_EXIST=E_FILE_ALREADY_EXIST\r
E_FILE_NOT_FOUND=E_FILE_NOT_FOUND\r
+\r
E_GROUP_NOT_FOUND=E_GROUP_NOT_FOUND\r
+\r
E_HOST_NOT_FOUND=E_HOST_NOT_FOUND\r
E_HOST_UNREACHABLE=E_HOST_UNREACHABLE\r
E_HTTP_USER=E_HTTP_USER\r
+\r
E_ILLEGAL_ACCESS=E_ILLEGAL_ACCESS\r
E_IN_PROGRESS=E_IN_PROGRESS\r
E_INACCESSIBLE_PATH=E_INACCESSIBLE_PATH\r
E_INVALID_STATE=E_INVALID_STATE\r
E_INVALID_TRANSACTION=E_INVALID_TRANSACTION\r
E_IO=E_IO\r
+\r
E_KEY_ALREADY_EXIST=E_KEY_ALREADY_EXIST\r
E_KEY_NOT_FOUND=E_KEY_NOT_FOUND\r
+\r
E_LANDMARK=E_LANDMARK\r
E_LIBRARY_NOT_FOUND=E_LIBRARY_NOT_FOUND\r
E_LIBRARY_NOT_LOADED=E_LIBRARY_NOT_LOADED\r
E_LOCATION=E_LOCATION\r
E_LOCATION_SERVICE=E_LOCATION_SERVICE\r
E_LOCK_FAILED=E_LOCK_FAILED\r
+\r
E_MAX_EXCEEDED=E_MAX_EXCEEDED\r
E_MISSING_INPUT=E_MISSING_INPUT\r
E_MOBILE_FAILED=E_MOBILE_FAILED\r
E_MODEL_NOT_FOUND=E_MODEL_NOT_FOUND\r
+\r
E_NETWORK_FAILED=E_NETWORK_FAILED\r
E_NETWORK_UNAVAILABLE=E_NETWORK_UNAVAILABLE\r
E_NOT_A_MEMBER=E_NOT_A_MEMBER\r
E_NOT_PAIRED=E_NOT_PAIRED\r
E_NOT_RESPONDING=E_NOT_RESPONDING\r
E_NUM_FORMAT=E_NUM_FORMAT\r
+\r
E_OBJ_ALREADY_EXIST=E_OBJ_ALREADY_EXIST\r
E_OBJ_NOT_FOUND=E_OBJ_NOT_FOUND\r
E_ON_INITIALIZING=E_ON_INITIALIZING\r
E_OUT_OF_MEMORY=E_OUT_OF_MEMORY\r
E_OUT_OF_RANGE=E_OUT_OF_RANGE\r
E_OVERFLOW=E_OVERFLOW\r
+\r
E_PAIRING_FAILED=E_PAIRING_FAILED\r
E_PARSING_FAILED=E_PARSING_FAILED\r
E_PRIVILEGE_DENIED=E_PRIVILEGE_DENIED\r
+\r
E_READ_ONLY=E_READ_ONLY\r
E_REJECTED=E_REJECTED\r
E_REMOTE_DEVICE_NOT_FOUND=E_REMOTE_DEVICE_NOT_FOUND\r
E_REMOVE_SERVICE_NOT_FOUND=E_REMOVE_SERVICE_NOT_FOUND\r
E_RESOURCE_UNAVAILABLE=E_RESOURCE_UNAVAILABLE\r
E_RIGHT_EXPIRED=E_RIGHT_EXPIRED\r
+\r
E_SECTION_ALREADY_EXIST=E_SECTION_ALREADY_EXIST\r
E_SECTION_NOT_FOUND=E_SECTION_NOT_FOUND\r
E_SERVER=E_SERVER\r
E_SYMBOL_NOT_FOUND=E_SYMBOL_NOT_FOUND\r
E_SYNTAX=E_SYNTAX\r
E_SYSTEM=E_SYSTEM\r
+\r
E_TABLE_NOT_FOUND=E_TABLE_NOT_FOUND\r
E_TIMEOUT=E_TIMEOUT\r
E_TYPE_MISMATCH=E_TYPE_MISMATCH\r
+\r
E_UNDERFLOW=E_UNDERFLOW\r
E_UNKNOWN=E_UNKNOWN\r
E_UNSUPPORTED_ALGORITHM=E_UNSUPPORTED_ALGORITHM\r
E_USER_ALREADY_REGISTERED=E_USER_ALREADY_REGISTERED\r
E_USER_NOT_FOUND=E_USER_NOT_FOUND\r
E_USER_NOT_REGISTERED=E_USER_NOT_REGISTERED\r
+\r
E_WOULD_BLOCK=E_WOULD_BLOCK\r
ERR_SRC_FRAMEWORK=ERR_SRC_FRAMEWORK\r
ERR_SRC_USER=ERR_SRC_USER\r
-FILE_API_LIST_VIEW_ERRNO=Error Description
FILE_API_LIST_VIEW_INDEX=\#
FILE_API_LIST_VIEW_NAME=File API
FILE_API_LIST_VIEW_PARAMETER=Parameter
FILE_API_LIST_VIEW_THREAD_ID=Thread ID
FILE_API_LIST_VIEW_TIME=Time
FILE_API_LIST_VIEW_TITLE=File API List
+FILE_API_LIST_VIEW_ERRNO=Error code
FILE_CHART_CHART=Chart
FILE_CHART_FILE=File
public class SummaryLabels extends NLS {
private static final String BUNDLE_NAME = "org.tizen.dynamicanalyzer.nl.SummaryLabels"; //$NON-NLS-1$
- public static String FAILED_API_LIST_VIEW_ERRNO;
public static String FAILED_API_LIST_VIEW_FAILED_API_LIST;
public static String FAILED_API_LIST_VIEW_INDEX;
public static String FAILED_API_LIST_VIEW_NAME;
public static String FAILED_API_LIST_VIEW_PARAMETER;
public static String FAILED_API_LIST_VIEW_RETURN;
public static String FAILED_API_LIST_VIEW_TIME;
+ public static String FAILED_API_LIST_VIEW_ERROR_CODE;
+ public static String FAILED_API_LIST_VIEW_ERROR_DESCRIPTION;
public static String FUNCTION_USAGE_PROFILER_APPLICATION;
public static String FUNCTION_USAGE_PROFILER_DEPENDENT_LIB;
-FAILED_API_LIST_VIEW_ERRNO=Error Description
FAILED_API_LIST_VIEW_FAILED_API_LIST=Failed APIs
FAILED_API_LIST_VIEW_INDEX=\#
FAILED_API_LIST_VIEW_NAME=Name
FAILED_API_LIST_VIEW_PARAMETER=Parameter
FAILED_API_LIST_VIEW_RETURN=Return
FAILED_API_LIST_VIEW_TIME=Time
+FAILED_API_LIST_VIEW_ERROR_CODE=Error code
+FAILED_API_LIST_VIEW_ERROR_DESCRIPTION=Error description
FUNCTION_USAGE_PROFILER_APPLICATION=Application
FUNCTION_USAGE_PROFILER_DEPENDENT_LIB=Dependent library
package org.tizen.dynamicanalyzer.ui.summary.failed;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
+import org.tizen.dynamicanalyzer.error.ErrorCodeManager;
import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
import org.tizen.dynamicanalyzer.ui.widgets.table.DefaultTableComparator;
str1 = data1.getData().get(LogCenterConstants.RETURN_INDEX);
str2 = data2.getData().get(LogCenterConstants.RETURN_INDEX);
} else if (column == 5) {
- str1 = data1.getData().get(LogCenterConstants.ERROR_INDEX);
- str2 = data2.getData().get(LogCenterConstants.ERROR_INDEX);
+ String err1 = data1.getData().get(LogCenterConstants.ERROR_INDEX);
+ String err2 = data2.getData().get(LogCenterConstants.ERROR_INDEX);
+ str1 = ErrorCodeManager.getInatance().getErrorCode(err1);
+ str2 = ErrorCodeManager.getInatance().getErrorCode(err2);
+ }else if (column == 6) {
+ String err1 = data1.getData().get(LogCenterConstants.ERROR_INDEX);
+ String err2 = data2.getData().get(LogCenterConstants.ERROR_INDEX);
+ str1 = ErrorCodeManager.getInatance().getErrorDescription(err1);
+ str2 = ErrorCodeManager.getInatance().getErrorDescription(err2);
}
switch (type) {
case AnalyzerConstants.SORT_TYPE_NUM:
public static final String ID = FailedApiListView.class.getName();
private DATableComposite tableComp = null;
private String[] columnNames = { SummaryLabels.FAILED_API_LIST_VIEW_INDEX, SummaryLabels.FAILED_API_LIST_VIEW_TIME, SummaryLabels.FAILED_API_LIST_VIEW_NAME, SummaryLabels.FAILED_API_LIST_VIEW_PARAMETER,
- SummaryLabels.FAILED_API_LIST_VIEW_RETURN, SummaryLabels.FAILED_API_LIST_VIEW_ERRNO };
- private int[] columnSizes = { 25, 60, 45, 125, 0, 400 };
- private boolean[] columnVisibility = { false, true, true, true, true, true };
+ SummaryLabels.FAILED_API_LIST_VIEW_RETURN, SummaryLabels.FAILED_API_LIST_VIEW_ERROR_CODE, SummaryLabels.FAILED_API_LIST_VIEW_ERROR_DESCRIPTION };
+ private int[] columnSizes = { 25, 60, 45, 125, 0, 70, 400 };
+ private boolean[] columnVisibility = { false, true, true, true, true, true, true };
public FailedApiListView(Composite parent, int style) {
super(parent, style);
AnalyzerConstants.SORT_TYPE_STRING,
AnalyzerConstants.SORT_TYPE_STRING,
AnalyzerConstants.SORT_TYPE_STRING,
- AnalyzerConstants.SORT_TYPE_NUM };
+ AnalyzerConstants.SORT_TYPE_STRING,
+ AnalyzerConstants.SORT_TYPE_STRING };
+
setSortTypes(sortTypes);
table.addSelectionListener(new SelectionListener() {
gi.setText(2, failData.get(LogCenterConstants.APINAME_INDEX));
gi.setText(3, failData.get(LogCenterConstants.INPUTPARM_INDEX));
gi.setText(4, failData.get(LogCenterConstants.RETURN_INDEX));
- String errMsg = ErrorCodeManager.getInatance().getErrorCode(
+ String errCode = ErrorCodeManager.getInatance().getErrorCode(
+ failData.get(LogCenterConstants.ERROR_INDEX));
+ if (null == errCode) {
+ // FIXME : for debug
+ errCode = "undefined error number";
+ }
+ gi.setText(5, errCode);
+
+ String errMsg = ErrorCodeManager.getInatance().getErrorDescription(
failData.get(LogCenterConstants.ERROR_INDEX));
if (null == errMsg) {
// FIXME : for debug
errMsg = "undefined error number";
}
- gi.setText(5, errMsg);
+ gi.setText(6, errMsg);
for (int ii = 0; ii < selSeqs.size(); ii++) {
String seqNum = tableData.getSelectionKey();