\r
public class AnalyzerConstants {\r
// if log change occurs then increase save data version!!\r
- public static final String SAVE_DATA_VERSION = "0.86"; //$NON-NLS-1$\r
+ public static final String SAVE_DATA_VERSION = "0.87"; //$NON-NLS-1$\r
public static final boolean CHECK_INTERNAL = true;\r
\r
public static final String DA_VERSION_SWAP = "3.0";\r
ProcessInfo process = new ProcessInfo();\r
process.setPid(Integer.parseInt(info.get(0)));\r
DATime startTime = new DATime();\r
- startTime.setSec(Long.parseLong(info.get(1)));\r
- startTime.setNano(Long.parseLong(info.get(2)));\r
+ startTime.setSec(Integer.parseInt(info.get(1)));\r
+ startTime.setNano(Integer.parseInt(info.get(2)));\r
process.setStartTime(startTime);\r
process.setLowestAddress(Long.parseLong(info.get(3)));\r
process.setHighestAddress(Long.parseLong(info.get(4)));\r
import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo;
import org.tizen.dynamicanalyzer.swap.model.data.ApiNameManager;
-import org.tizen.dynamicanalyzer.swap.model.data.BasicDataMessage;
import org.tizen.dynamicanalyzer.swap.model.data.LibraryObject;
import org.tizen.dynamicanalyzer.swap.model.data.ProcessInfo;
import org.tizen.dynamicanalyzer.swap.model.probe.LogFormat;
+import org.tizen.dynamicanalyzer.swap.model.probe.ReplayLogFormat;
import org.tizen.dynamicanalyzer.swap.model.probe2.FailedData2;
import org.tizen.dynamicanalyzer.swap.model.probe2.LeakData2;
import org.tizen.dynamicanalyzer.swap.model.probe2.LogData;
return logs;
}
- public List<BasicDataMessage> getReplayLogs() {
+ public ReplayData getReplayLogs() {
String query = null;
Statement stat = null;
ResultSet rs = null;
Connection conn = null;
- List<BasicDataMessage> logs = null;
+ ReplayData output = null;
try {
conn = getConnection();
if (null == conn) {
return null;
}
semaphoreAcquire();
- StringBuilder columns = new StringBuilder();
- columns.append("Rid , ID , SeqNumber , Time , payload ");
- query = String.format("select %s from %s ;",//$NON-NLS-1$
- columns.toString(), "replay");
+ StringBuffer buffer = new StringBuffer();
+ List<String> columnNames = ReplayLogFormat.getInstance()
+ .getDBColumnNames();
+ for (int i = 0; i < columnNames.size(); i++) {
+ buffer.append(columnNames.get(i));
+ if (i + 1 != columnNames.size()) {
+ buffer.append(",");
+ }
+ }
+ query = String.format("select %s from %s ;", buffer.toString(),
+ "replay");
stat = conn.createStatement();
rs = stat.executeQuery(query);
if (null == rs) {
return null;
}
- logs = new ArrayList<BasicDataMessage>();
+ output = new ReplayData();
+ List<RecordEventObject> eventObjs = output.getRecordEvent();
while (rs.next()) {
- BasicDataMessage bdm = new BasicDataMessage();
- bdm.setId(rs.getInt(2));
- bdm.setSeq(rs.getInt(3));
- bdm.setTime(rs.getLong(4));
- bdm.setPayload(rs.getBytes(5));
- logs.add(bdm);
+ RecordEventObject reObj = new RecordEventObject();
+ reObj.loadData(rs);
+ eventObjs.add(reObj);
}
+
+ output.setObjectCount(eventObjs.size());
} catch (SQLException e) {
- System.out.println("SQLException - selecte : " + query);
+ System.out.println("SQLException - select : " + query);
e.printStackTrace();
} finally {
AnalyzerUtil.tryClose(stat, rs);
semaphoreRelease();
}
}
- return logs;
+ return output;
}
public List<List<String>> selectQuery(String dbFilePath,
import org.tizen.dynamicanalyzer.swap.model.control.TargetInfo;
import org.tizen.dynamicanalyzer.swap.model.control.UserSpaceInst;
import org.tizen.dynamicanalyzer.swap.model.data.BasicDataMessage;
+import org.tizen.dynamicanalyzer.swap.model.probe2.ReplayData;
import org.tizen.dynamicanalyzer.ui.file.FileChartManager;
import org.tizen.dynamicanalyzer.ui.summary.profiling.FunctionUsageProfiler;
import org.tizen.dynamicanalyzer.ui.thread.ThreadChartManager;
// on/off , replay start time, count, event objs
int onOff = 1;
DATime startTime = ReplayTraceHandler.startTime;
- List<BasicDataMessage> replayLogs = SqlManager.getInstance()
+ ReplayData replayData = SqlManager.getInstance()
.getReplayLogs();
- int count = replayLogs.size();
+ int count = replayData.getObjectCount();
byte[] eventObjs = null;
for (int i = 0; i < count; i++) {
- eventObjs = ByteUtils.concatByteArray(eventObjs, replayLogs
- .get(i).getPayload());
+ eventObjs = ByteUtils.concatByteArray(eventObjs, replayData.getRecordEvent()
+ .get(i).getByteValues());
}
-
replayEvent = ByteUtils.getByte(onOff, startTime.getSec(),
startTime.getNano(), count, eventObjs);
} else {
}
// TODO: app inst , replay info added!!
- byte[] rear = ByteUtils.getByte(appInfo.getByteValue(),
- rt.getByteValue(), getUserSpaceInst().getByteValue(),
- replayEvent);
-// byte[] rear = ByteUtils.getByte(appInfo.getByteValue(),
-// rt.getByteValue(), 0, 0);
+ byte[] rear = ByteUtils.getByte(appInfo.getByteValue(),
+ rt.getByteValue(), getUserSpaceInst().getByteValue(),
+ replayEvent);
+ // byte[] rear = ByteUtils.getByte(appInfo.getByteValue(),
+ // rt.getByteValue(), 0, 0);
int length = rear.length;
byte[] ret = ByteUtils.getByte(AnalyzerConstants.MSG_START_SWAP,
if (!targetHashCode.equals(localHashCode)) {
String destFilePath = AnalyzerPaths.TEMP_FOLDER_PATH;
-// + File.separator + selectedApp.getExecFileName(appInfo.getAppType());
- try{
- Runtime rt = Runtime.getRuntime();
- command = "/home/casval/tizen-sdk/tools/sdb root on | /home/casval/tizen-sdk/tools/sdb pull "+ targetPath + " " + destFilePath;
- Process process = rt.exec(new String[] {
- "/home/casval/tizen-sdk/tools/sdb", "root", "on"});
- process.waitFor();
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- process.getInputStream()));
- BufferedReader error = new BufferedReader(new InputStreamReader(
- process.getErrorStream()));
- String line = reader.readLine();
- String errorStr = error.readLine();
- if (null == line) {
- System.out.println("host md5sum get failed : " + errorStr);
- return HostResult.ERR_BIN_INFO_GET_FAIL;
- }
+ // + File.separator +
+ // selectedApp.getExecFileName(appInfo.getAppType());
+ try {
+ Runtime rt = Runtime.getRuntime();
+ command = "/home/casval/tizen-sdk/tools/sdb root on | /home/casval/tizen-sdk/tools/sdb pull "
+ + targetPath + " " + destFilePath;
+ Process process = rt.exec(new String[] {
+ "/home/casval/tizen-sdk/tools/sdb", "root", "on" });
+ process.waitFor();
+ BufferedReader reader = new BufferedReader(
+ new InputStreamReader(process.getInputStream()));
+ BufferedReader error = new BufferedReader(
+ new InputStreamReader(process.getErrorStream()));
+ String line = reader.readLine();
+ String errorStr = error.readLine();
+ if (null == line) {
+ System.out.println("host md5sum get failed : " + errorStr);
+ return HostResult.ERR_BIN_INFO_GET_FAIL;
+ }
- }catch(IOException e)
- {
+ } catch (IOException e) {
e.printStackTrace();
- }catch(InterruptedException e)
- {
+ } catch (InterruptedException e) {
e.printStackTrace();
}
-//
-// SyncResult res = CommunicatorUtils.pull(targetPath, destFilePath);
-// if (null != res && res.isOk()) {
-// System.out.println("binary copy success!!");//$NON-NLS-1$
-// } else {
-// System.out.println("Failed to get " + targetPath + " step 2"); //$NON-NLS-1$
-// return HostResult.ERR_BIN_INFO_GET_FAIL;
-// }
-// String[] splitName = binaryPath.split(CommonConstants.SLASH);
-// binaryPath = AnalyzerPaths.TEMP_FOLDER_PATH + File.separator
-// + new String(splitName[splitName.length - 1]);
-// binInfo.setPath(binaryPath);
+ //
+ // SyncResult res = CommunicatorUtils.pull(targetPath,
+ // destFilePath);
+ // if (null != res && res.isOk()) {
+ // System.out.println("binary copy success!!");//$NON-NLS-1$
+ // } else {
+ // System.out.println("Failed to get " + targetPath + " step 2"); //$NON-NLS-1$
+ // return HostResult.ERR_BIN_INFO_GET_FAIL;
+ // }
+ // String[] splitName = binaryPath.split(CommonConstants.SLASH);
+ // binaryPath = AnalyzerPaths.TEMP_FOLDER_PATH + File.separator
+ // + new String(splitName[splitName.length - 1]);
+ // binInfo.setPath(binaryPath);
}
binInfo.setPath(binaryPath);
@Override
public HostResult stopTrace() {
- byte[] stop = ByteUtils.toBytes(AnalyzerConstants.MSG_STOP_SWAP);
- int length = 0;
- byte[] stopMsg = ByteUtils.getByte(stop, length);
- HostResult result = handleControlMessage(
- DACommunicator.getSelectedDevice(), stopMsg);
-
- if (result.isSuccess()) {
- if (isCorrectAck(MSG_STOP_ACK, result)) {
- return result;
+ if (DACommunicator.isRunning()) {
+ byte[] stop = ByteUtils.toBytes(AnalyzerConstants.MSG_STOP_SWAP);
+ int length = 0;
+ byte[] stopMsg = ByteUtils.getByte(stop, length);
+ HostResult result = handleControlMessage(
+ DACommunicator.getSelectedDevice(), stopMsg);
+
+ if (result.isSuccess()) {
+ if (isCorrectAck(MSG_STOP_ACK, result)) {
+ return result;
+ }
}
}
-
return HostResult.ERR_MSG_STOP_FAIL;
}
controlSock.getOutputStream().write(message);
}
- System.out.println("wait for ack... [send message : " + message
+ int msgId = ByteUtils.toInt(message);
+ System.out.println("wait for ack... [send message : " + msgId
+ " ]");
int readsize = -1;
// read buffer size is sufficient??
byte[] cbuf = new byte[DACommunicator.READ_BUFFER_SIZE * 2];
blocked = true;
+ System.out.println("blocked");
readsize = controlSock.getInputStream().read(cbuf);
blocked = false;
+ System.out.println("unblocked");
if (readsize > 0) {
byte[] buf = new byte[readsize];
System.arraycopy(cbuf, 0, buf, 0, readsize);
result = HostResult.SUCCESS;
+ int ackId = ByteUtils.toInt(buf);
+ System.out.println("ack id : " + ackId);
result.setRet(buf);
} else {
result = HostResult.ERR_CONTROL_SOCKET_CONNECTION_CLOSED;
int index = MSG_HEADER_SIZE;
pid = ByteUtils.toInt(data, index);
index += INT_SIZE;
- long sec = ByteUtils.toInt(data, index);
+ int sec = ByteUtils.toInt(data, index);
index += INT_SIZE;
- long nano = ByteUtils.toInt(data, index);
+ int nano = ByteUtils.toInt(data, index);
index += INT_SIZE;
startTime.setSec(sec);
startTime.setNano(nano);
}
//LOG!
- ByteUtils.printByteArray(header);
+// ByteUtils.printByteArray(header);
int id = ByteUtils.toInt(header, 0);
int payloadSize = ByteUtils.toInt(header,
package org.tizen.dynamicanalyzer.swap.model;
public class DATime {
- private long sec = 0;
- private long nano = 0;
+ private int sec = 0;
+ private int nano = 0;
- public long getSec() {
+ public int getSec() {
return sec;
}
- public void setSec(long sec) {
+ public void setSec(int sec) {
this.sec = sec;
}
- public long getNano() {
+ public int getNano() {
return nano;
}
- public void setNano(long nano) {
+ public void setNano(int nano) {
this.nano = nano;
}
+ public byte[] getByteValues() {
+ return ByteUtils.getByte(sec, nano);
+ }
+
}
package org.tizen.dynamicanalyzer.swap.model;
import java.sql.PreparedStatement;
+import java.sql.ResultSet;
import java.sql.SQLException;
-import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
-import org.tizen.dynamicanalyzer.swap.model.probe2.LogDataFactory;
+import org.tizen.dynamicanalyzer.swap.model.probe2.LogData;
-public class RecordEventObject {
+public class RecordEventObject extends LogData {
private DATime eventTime = null;
private int eventId = 0;
private int eventType = 0;
public void makePreparedStatement(PreparedStatement prep)
throws SQLException {
- int logNum = LogDataFactory
- .getLogCountById(AnalyzerConstants.MSG_DATA_RECORD);
+ super.makePreparedStatement(prep);
+ int index = LogData.STATE_COUNT + 1;
- prep.setInt(1, logNum);
- prep.setLong(2, eventTime.getSec());
- prep.setLong(3, eventTime.getNano());
- prep.setInt(4, eventId);
- prep.setInt(5, eventType);
- prep.setInt(6, eventCode);
- prep.setInt(7, eventValue);
+ prep.setLong(index++, eventTime.getSec());
+ prep.setLong(index++, eventTime.getNano());
+ prep.setInt(index++, eventId);
+ prep.setInt(index++, eventType);
+ prep.setInt(index++, eventCode);
+ prep.setInt(index++, eventValue);
+ }
+
+ public void loadData(ResultSet rs) throws SQLException {
+ super.loadData(rs);
+ int index = LogData.STATE_COUNT + 1;
+ eventTime.setSec(rs.getInt(index++));
+ eventTime.setNano(rs.getInt(index++));
+ eventId = rs.getInt(index++);
+ eventType = rs.getInt(index++);
+ eventCode = rs.getInt(index++);
+ eventValue = rs.getInt(index++);
+ }
+
+ public byte[] getByteValues() {
+ return ByteUtils.getByte(eventTime.getByteValues(), eventId, eventType,
+ eventCode, eventValue);
}
}
id = mappingId(id);
seq = Integer.parseInt(input[LogCenterConstants.SEQUENCE_NUMBER_INDEX]);
time = Long.parseLong(input[LogCenterConstants.TIME_INDEX]);
- long sec = time / 10000;
- long nano = time % 10000;
+ int sec = (int)(time / 10000);
+ int nano = (int)(time % 10000);
nano *= 100000;
DATime startTime = AnalyzerManager.getProject().getStartTime();
- long startSec = AnalyzerManager.getProject().getStartTime().getSec();
- long startNano = AnalyzerManager.getProject().getStartTime().getNano();
+ int startSec = AnalyzerManager.getProject().getStartTime().getSec();
+ int startNano = AnalyzerManager.getProject().getStartTime().getNano();
if (0 == startSec && 0 == startNano) {
startTime.setSec(sec);
private ReplayLogFormat() {
setName(NAME);
- String[] dcn = { "Rid", "SeqNumber", "Nano", "EventId", "EventType",
- "EventCode", "EventValue" };
+ String[] dcn = { "Rid", "MessageId", "SeqNumber", "Time", "Sec", "Nano", "EventId",
+ "EventType", "EventCode", "EventValue" };
dbColumnNames = new ArrayList<String>();
dbColumnNames.addAll(Arrays.asList(dcn));
- Integer[] dct = { I, L, L, I, I, I, I };
+ Integer[] dct = { I, I, L, L, I, I, I, I, I, I };
dbColumnTypes = new ArrayList<Integer>();
dbColumnTypes.addAll(Arrays.asList(dct));
- String[] tcn = { "SeqNumber", "Nano", "EventId", "EventType", "EventCode",
- "EventValue" };
+ String[] tcn = { "Rid", "MessageId", "SeqNumber", "Time", "Sec", "Nano", "EventId",
+ "EventType", "EventCode", "EventValue" };
tableColumnNames = new ArrayList<String>();
tableColumnNames.addAll(Arrays.asList(tcn));
- Integer[] types = { I, L, L, I, I, I, I };
+ Integer[] types = { I, I, L, L, I, I, I, I, I, I };
logColumnTypes = new ArrayList<Integer>();
logColumnTypes.addAll(Arrays.asList(types));
}
public static final int CALLER_INDEX = 8;
private static int LogNum = 0;
- // private LogData data;
+ private LogData data;
private int id = -1;
private int seq = -1;
ret = plog.getReturn();
err = plog.getErrno();
callerPc = plog.getCallerPcAddr();
+ data = log;
}
public FailedData2(List<String> input) {
public long getCallerPc() {
return callerPc;
}
+
+ public LogData getData() {
+ return data;
+ }
+
+ public void setData(LogData data) {
+ this.data = data;
+ }
}
// system log
output = new SystemData();
break;
- case MSG_DATA_RECORD:
- // replay log
- output = new ReplayData();
- break;
+// case MSG_DATA_RECORD:
+// // replay log
+// output = new ReplayData();
+// break;
case MSG_CONTEXT_SWITCH_ENTRY:
case MSG_CONTEXT_SWITCH_EXIT:
output = new ContextSwitchData();
seq = ByteUtils.toInt(data, index);
index += INT_SIZE;
- long sec = ByteUtils.toInt(data, index);
+ int sec = ByteUtils.toInt(data, index);
index += INT_SIZE;
- long nano = ByteUtils.toInt(data, index);
+ int nano = ByteUtils.toInt(data, index);
index += INT_SIZE;
DATime eventTime = new DATime();
eventTime.setSec(sec);
for (int i = 0; i < count; i++) {
RecordEventObject recordObj = new RecordEventObject();
+
+ recordObj.setId(id);
+ recordObj.setSeq(seq);
+ recordObj.setTime(time);
+
// event time
recordObj.setEventTime(eventTime);
public List<RecordEventObject> getRecordEvent() {
return recordEvent;
}
+
}
content = contents.get(i);
FileData contentTemp = content.getContents();
List<String> contentText = new ArrayList<String>();
+ List<String> contentData = new ArrayList<String>();
int seq = contentTemp.getSeq();
contentText.add(0, Integer.toString(seq));
+ contentData.add(Integer.toString(seq));
long time = contentTemp.getTime();
contentText.add(Formatter.toTimeFormat(time));
+ contentData.add(Long.toString(time));
contentText.add(contentTemp.getApiName());
+ contentData.add(contentTemp.getApiName());
contentText.add(contentTemp.getArgs());
+ contentData.add(contentTemp.getArgs());
contentText.add(Integer.toString(contentTemp.getTid()));
+ contentData.add(Integer.toString(contentTemp.getTid()));
contentText.add(Long.toString(contentTemp.getReturn()));
+ contentData.add(Long.toString(contentTemp.getReturn()));
String errMsg = ErrorCodeManager.getInatance()
.getErrorCode(contentTemp.getErrno()).name();
if (null == errMsg) {
errMsg = "undefined error code"; //$NON-NLS-1$
}
contentText.add(errMsg);
+ contentData.add(errMsg);
contentText.add(Long.toString(contentTemp.getFileSize()));
+ contentData.add(Long.toString(contentTemp.getFileSize()));
DATableDataFormat tableData = new DATableDataFormat(
contentTemp.getSeq());
// contentTemp.get(LogCenterConstants.SEQUENCE_NUMBER_INDEX));
tableData.setLogData(contentTemp);
+ tableData.getData().addAll(contentData);
TableInput tableInput = new TableInput();
tableInput.setText(contentText);
tableInput.setData(tableData);
@Override
public void updateView() {
-// tableComp.updateTable();
+ tableComp.updateTable();
}
@Override
DATableDataFormat tableData = new DATableDataFormat(
failedData.getSeq());
tableData.setObject(failedData);
+ tableData.setLogData(failedData.getData());
TableInput tableInput = new TableInput();
tableInput.setText(text);
private List<String> data = null;
private String key = null;
private long callerPc = -1;
+ private LogData logData = null;
public WarningData(int wCase, LogData data, String key) {
seq = uNum++;
warningCase = wCase;
this.key = key;
callerPc = ((ProbeCommonData) data).getCallerPcAddr();
+ logData = data;
}
public List<String> getData() {
public long getCallerPc() {
return callerPc;
}
+
+ public LogData getLogData() {
+ return logData;
+ }
+
+ public void setLogData(LogData logData) {
+ this.logData = logData;
+ }
}
}
protected List<TableInput> makeTableInput() {
-// List<WarningData> warningList = null;
-// if (isRange) {
-// warningList = RangeDataManager.getInstance().getWarningChecker()
-// .getWarningData();
-// } else {
-// warningList = AnalyzerManager.getWarningChecker().getWarningData();
-// }
-// List<TableInput> input = new ArrayList<TableInput>();
-// int size = warningList.size();
-// for (int i = 0; i < size; i++) {
-// // create text
-// List<String> text = new ArrayList<String>();
-// WarningData warningData = warningList.get(i);
-// List<String> warningInput = warningData.getData();
-//
-// text.add(warningInput.get(LogCenterConstants.SEQUENCE_NUMBER_INDEX));
-// {
-// if (AnalyzerConstants.MSG_PROBE_FILE == warningData
-// .getCategory()) {
-// String fdType = warningInput
-// .get(LogCenterConstants.RESOURCE_FDTYPE_INDEX);
-// int type = Integer.parseInt(fdType);
-// if (type == LogCenterConstants.FD_TYPE_FILE) {
-// text.add(SummaryLabels.WARNING_TABLE_FILE);
-// } else {
-// text.add(SummaryLabels.WARNING_TABLE_SOCKET);
-// }
-// } else {
-// text.add(LogCenterConstants
-// .getLogCenterNameFromId(warningData.getCategory()));
-// }
-// }
-// String message = WarningChecker.messageMaker(warningData, true);
-// text.add(message);
-// // create images
-//
-// // create DATableDataFormat
-// DATableDataFormat tableData = new DATableDataFormat(
-// warningData.getSeq());
-// tableData.getData().addAll(warningData.getData());
-// TableInput tableInput = new TableInput();
-// tableInput.setText(text);
-// tableInput.setData(tableData);
-// input.add(tableInput);
-// }
-// return input;
- return null;
+ List<WarningData> warningList = null;
+ if (isRange) {
+ warningList = RangeDataManager.getInstance().getWarningChecker()
+ .getWarningData();
+ } else {
+ warningList = AnalyzerManager.getWarningChecker().getWarningData();
+ }
+ List<TableInput> input = new ArrayList<TableInput>();
+ int size = warningList.size();
+ for (int i = 0; i < size; i++) {
+ // create text
+ List<String> text = new ArrayList<String>();
+ WarningData warningData = warningList.get(i);
+ List<String> warningInput = warningData.getData();
+
+ text.add(warningInput.get(LogCenterConstants.SEQUENCE_NUMBER_INDEX));
+ {
+ if (AnalyzerConstants.MSG_PROBE_FILE == warningData
+ .getCategory()) {
+ String fdType = warningInput
+ .get(LogCenterConstants.RESOURCE_FDTYPE_INDEX);
+ int type = Integer.parseInt(fdType);
+ if (type == LogCenterConstants.FD_TYPE_FILE) {
+ text.add(SummaryLabels.WARNING_TABLE_FILE);
+ } else {
+ text.add(SummaryLabels.WARNING_TABLE_SOCKET);
+ }
+ } else {
+ text.add(LogCenterConstants
+ .getLogCenterNameFromId(warningData.getCategory()));
+ }
+ }
+ String message = WarningChecker.messageMaker(warningData, true);
+ text.add(message);
+ // create images
+
+ // create DATableDataFormat
+ DATableDataFormat tableData = new DATableDataFormat(
+ warningData.getSeq());
+ tableData.getData().addAll(warningData.getData());
+ tableData.setLogData(warningData.getLogData());
+ TableInput tableInput = new TableInput();
+ tableInput.setText(text);
+ tableInput.setData(tableData);
+ input.add(tableInput);
+ }
+ return input;
}
}
Project project = AnalyzerManager.getProject();
int percent = 0;
+ int exitCount = 0;
+ while (DACommunicator.isWaitControlMessage() && exitCount < 1000) {
+ System.out.println("wait for STOP ACK message...");
+ try {
+ Thread.sleep(10);
+ exitCount++;
+ if (exitCount % 20 == 0) {
+ StopProcessManager.getInstance().setValue(percent++);
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
if (DACommunicator.isSWAPVersion()) {
SWAPLogParser.stopLogParser();
} else {
percent += 10;
StopProcessManager.getInstance().setValue(percent);
- LogInserter.stopInsertLogThread();
+ UIDataManager.getInstance().stopUpdateLogThread();
percent += 10;
StopProcessManager.getInstance().setValue(percent);
- UIDataManager.getInstance().stopUpdateLogThread();
+ UpdateViewTimer.stop();
percent += 10;
StopProcessManager.getInstance().setValue(percent);
- UpdateViewTimer.stop();
+ LogInserter.stopInsertLogThread();
percent += 10;
StopProcessManager.getInstance().setValue(percent);
- System.out.println("record thread stop");
UIRecorderTool.getInstance().stop();
percent += 10;
StopProcessManager.getInstance().setValue(percent);
- int exitCount = 0;
- while (DACommunicator.isWaitControlMessage() && exitCount < 60) {
- System.out.println("wait for control ack message...");
- try {
- Thread.sleep(100);
- exitCount++;
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
/* save Project */
System.out.println(" save project and others..."); //$NON-NLS-1$
});
ShortCutManager.getInstance().setEnabled(true);
} else {
- // AnalyzerUtil
- // .setRecordState(RecordStateSourceProvider.RECORD_READY);
AnalyzerManager.setRunningState(false);
final String msg = isStarted.toString();
Display.getDefault().syncExec(new Runnable() {
}
});
- // DACommunicator.sendStopMessage();
+// DACommunicator.sendStopMessage();
DACommunicator.stopTrace();
}
}
private boolean setDetailsInfo(String path) {
boolean isSuccess = true;
List<String> pInfo = SqlManager.getInstance().getDetailsInfo(path);
- if (null == pInfo || pInfo.isEmpty() || pInfo.size() < 9) {
+ if (null == pInfo || pInfo.isEmpty() || pInfo.size() < 8) {
return false;
}
createTime = pInfo.get(AnalyzerConstants.PROJECT_CREATE_TIME_INDEX);
package org.tizen.dynamicanalyzer.ui.widgets;
-import javax.swing.plaf.basic.BasicInternalFrameTitlePane.CloseAction;
-
import org.eclipse.jface.window.Window.IExceptionHandler;
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTException;
return;
}
if (null != comparator) {
-// Collections.sort(input, comparator);
+ Collections.sort(input, comparator);
}
int[] sels = new int[selSeqs.size()];
int iii = 0;
List<String> data1 = tableData1.getData();
List<String> data2 = tableData2.getData();
- str1 = data1.get(sourceColumn);
- str2 = data2.get(sourceColumn);
+ str1 = data1.get(column);
+ str2 = data2.get(column);
} else {
List<String> text1 = item1.getText();
List<String> text2 = item2.getText();