private static List<String> uploadDataResult = new ArrayList<String>();
private static List<String> checkVersionResult = new ArrayList<String>();
- private static boolean isRunning = false;
private static String binaryDetailInfo = null;
public static void init(List<DeviceInfo> devices) {
public static void reload() {
setNewBridge();
- isRunning = false;
devices = null;
cmdResultMultiLines.clear();
filterMultiLines.clear();
}
}
- public static boolean isRunning() {
- return isRunning;
- }
-
- public static void setRunning(boolean run) {
- isRunning = run;
- }
-
public static void loadDevices() {
List<DeviceInfo> devs = new ArrayList<DeviceInfo>();
if (null != sdbBridge) {
private void onDisconnectedInternal(IDevice device) {
Logger.debug("device disconnected : " + device.getSerialNumber());
DeviceInfo deviceInfo = getDeviceByName(device.getSerialNumber());
- DeviceInfo selectedDevice = Global.getCurrentDeviceInfo();
if (deviceInfo != null) {
if (null != devices && !devices.isEmpty()) {
devices.remove(deviceInfo);
if (DAState.isStartable()) {
updateToolbarDevice();
}
- if (selectedDevice != null && isRunning()) {
- if (selectedDevice.getIDevice().getSerialNumber()
- .equals(deviceInfo.getIDevice().getSerialNumber())) {
- Logger.debug("Disconnected while DA is running."); //$NON-NLS-1$
- DACommunicator.setRunning(false);
- }
- }
}
}
}
if (!stopFromTarget) {
DACommunicator.stopTrace();
}
- DACommunicator.setRunning(false);
setStageComplete(STAGE.SEND_STOPMSG);
// stop clock
return DAResult.ERR_NO_DEVICE;
}
- DACommunicator.setRunning(true);
UserSpaceInst userSpaceInst = getUserSpaceInst();
Logger.performance("TEST", "Start Trace", "Set application inst");
return DAResult.SUCCESS;
} else {
- DACommunicator.setRunning(false);
return DAResult.ERR_MSG_START_FAIL;
}
}
@Override
public DAResult stopTrace() {
- if (DACommunicator.isRunning()) {
- byte[] stop = ByteUtil.toBytes(AnalyzerConstants.MSG_STOP_SWAP);
- int length = 0;
- byte[] stopMsg = ByteUtil.getByte(stop, length);
- AckMessage result = handleControlMessage(stopMsg);
+ byte[] stop = ByteUtil.toBytes(AnalyzerConstants.MSG_STOP_SWAP);
+ int length = 0;
+ byte[] stopMsg = ByteUtil.getByte(stop, length);
+ AckMessage result = handleControlMessage(stopMsg);
- if (result != null && result.isCorrectID(MSG_STOP_ACK) && result.isSuccess()) {
- return DAResult.SUCCESS;
- }
+ if (result != null && result.isCorrectID(MSG_STOP_ACK) && result.isSuccess()) {
+ return DAResult.SUCCESS;
+ } else {
+ return DAResult.ERR_MSG_STOP_FAIL;
}
-
- return DAResult.ERR_MSG_STOP_FAIL;
}
@Override
package org.tizen.dynamicanalyzer.ui.thread.data;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.tizen.dynamicanalyzer.common.DALimit;
+import org.tizen.dynamicanalyzer.database.DBInserter;
+import org.tizen.dynamicanalyzer.nl.ThreadPageLabels;
import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
import org.tizen.dynamicanalyzer.swap.logparser.Logs;
import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
import org.tizen.dynamicanalyzer.swap.model.data.LogData;
+import org.tizen.dynamicanalyzer.swap.model.data.SyncData;
+import org.tizen.dynamicanalyzer.swap.model.data.ThreadData;
import org.tizen.dynamicanalyzer.ui.thread.db.SyncAPIDBTable;
import org.tizen.dynamicanalyzer.ui.thread.db.SyncDataDBTable;
import org.tizen.dynamicanalyzer.ui.thread.db.SyncEventDBTable;
import org.tizen.dynamicanalyzer.ui.thread.db.ThreadDataDBTable;
import org.tizen.dynamicanalyzer.ui.thread.db.ThreadEventDBTable;
import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageSyncData;
+import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageSyncDataEvent;
import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadData;
+import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadDataEvent;
+import org.tizen.dynamicanalyzer.util.Logger;
public class ThreadDataManager extends PageDataManager {
private static ThreadDataManager instance = null;
private SyncEventDBTable syncEventTable = null;
private SyncAPIDBTable syncAPITable = null;
+ private DBInserter threadEventDBInserter = null;
+ private DBInserter threadAPIDBInserter = null;
+ private DBInserter syncDataDBInserter = null;
+ private DBInserter syncEventDBInserter = null;
+ private DBInserter syncAPIDBInserter = null;
+
private ThreadLoadDataMaker loadManager;
private ThreadThreadDataMaker tManager;
private ThreadSyncDataMaker sManager;
syncEventTable = new SyncEventDBTable();
syncAPITable = new SyncAPIDBTable();
- makeInserter(threadEventTable);
- makeInserter(threadAPITable);
- makeInserter(syncDataTable);
- makeInserter(syncEventTable);
- makeInserter(syncAPITable);
+ threadEventDBInserter = makeInserter(threadEventTable);
+ threadAPIDBInserter = makeInserter(threadAPITable);
+ syncDataDBInserter = makeInserter(syncDataTable);
+ syncEventDBInserter = makeInserter(syncEventTable);
+ syncAPIDBInserter = makeInserter(syncAPITable);
loadManager = new ThreadLoadDataMaker();
tManager = new ThreadThreadDataMaker();
return instance;
}
- public ThreadLoadDataMaker getThreadLoadDataMamker() {
- return loadManager;
- }
-
public ThreadThreadDataMaker getThreadDataMaker() {
return tManager;
}
return sManager;
}
- public ThreadEventDBTable getThreadEventDBTable() {
- return threadEventTable;
- }
-
- public ThreadAPIDBTable getThreadAPIDBTable() {
- return threadAPITable;
- }
-
- public SyncDataDBTable getSyncDataDBTable() {
- return syncDataTable;
- }
-
- public SyncEventDBTable getSyncEventDBTable() {
- return syncEventTable;
- }
-
- public SyncAPIDBTable getSyncAPIDBTable() {
- return syncAPITable;
- }
-
public void clear() {
tManager.clear();
sManager.clear();
}
public void saveData(Map<String, String> dataMap) {
- threadDataTable.inserthreadPageThreadData(tManager.getChartRowData());
+ inserthreadPageThreadData(tManager.getChartRowData(), false);
sManager.insertNoBlockEndTimeSyncEvent();
sManager.getNotInsertSyncEventList().clear();
}
List<LogData> ret = logs.getLogs();
return ret;
}
+
+ public void insertSyncData(List<ThreadPageSyncData> insertSyncDataQueue, boolean byInserter) {
+ ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
+ for (ThreadPageSyncData syncData : insertSyncDataQueue) {
+ List<Object> insertRowData = new ArrayList<Object>();
+ try {
+ insertRowData.add(new Integer(syncData.getSyncDataID()));
+ insertRowData.add(new Integer(syncData.getPid()));
+ insertRowData.add(new Integer(syncData.getTid()));
+ Integer type = new Integer(syncData.getType());
+ byte syncType = type.byteValue();
+ insertRowData.add(new Byte(syncType));
+ insertRowData.add(new Long(syncData.getKey()));
+ String attrTypeStr = syncData.getAttrType();
+ byte attrType = -1;
+ if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_NORMAL)) {
+ attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_NORMAL;
+ } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_RECURSIVE)) {
+ attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_RECURSIVE;
+ } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_ERRORCHECK)) {
+ attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_ERRORCHECK;
+ } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_DEFAULT)) {
+ attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_DEFAULT;
+ } else {
+ attrType = -1;
+ }
+ insertRowData.add(new Byte(attrType));
+ insertRowData.add(new Byte(syncData.getSyncDataType()));
+ insertRowData.add(new Integer(syncData.getParentID()));
+ insertData.add(insertRowData);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ }
+
+ if (!insertData.isEmpty()) {
+ if (byInserter) {
+ syncDataDBInserter.pushData(insertData);
+ } else {
+ syncDataTable.insertData(insertData);
+ }
+ }
+ }
+
+ public void insertSyncEventData(List<ThreadPageSyncDataEvent> syncEventQueue, boolean byInserter) {
+ List<List<Object>> insertData = new ArrayList<List<Object>>();
+ for (ThreadPageSyncDataEvent syncEvent : syncEventQueue) {
+ List<Object> insertRowData = new ArrayList<Object>();
+ try {
+ insertRowData.add(new Long(syncEvent.getContents().getSeq()));
+ insertRowData.add(new Integer(syncEvent.getSyncDataID()));
+ insertRowData.add(new Long(syncEvent.getTime()));
+ Integer apiType = new Integer(syncEvent.getApiType());
+ insertRowData.add(new Byte(apiType.byteValue()));
+ insertRowData.add(new String(syncEvent.getTooltipContent()));
+ insertRowData.add(new Long(syncEvent.getErrorNum()));
+ insertRowData.add(new Long(syncEvent.getSyncVal()));
+ insertRowData.add(new Long(syncEvent.getBlockEndTime()));
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ insertData.add(insertRowData);
+ }
+
+ if (!insertData.isEmpty()) {
+ if (byInserter) {
+ syncEventDBInserter.pushData(insertData);
+ } else {
+ syncEventTable.insertData(insertData);
+ }
+ }
+ }
+
+ public void insertSyncAPIData(List<SyncData> insertSyncAPIList, boolean byInserter) {
+ ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
+ for (SyncData syncAPI : insertSyncAPIList) {
+ List<Object> insertRowData = new ArrayList<Object>();
+ try {
+ insertRowData.add(new Long(syncAPI.getSeq()));
+ insertRowData.add(new Long(syncAPI.getTime()));
+ insertRowData.add(new Integer(syncAPI.getApiId()));
+ insertRowData.add(new Integer(syncAPI.getPid()));
+ insertRowData.add(new Integer(syncAPI.getTid()));
+ insertRowData.add(new String(syncAPI.getArgs()));
+ insertRowData.add(new String(syncAPI.getReturn()));
+ insertRowData.add(new Long(syncAPI.getErrno()));
+ insertRowData.add(new Long(syncAPI.getSyncValue()));
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ insertData.add(insertRowData);
+ }
+
+ if (!insertData.isEmpty()) {
+ if (byInserter) {
+ syncAPIDBInserter.pushData(insertData);
+ } else {
+ syncAPITable.insertData(insertData);
+ }
+ }
+ }
+
+ public void inserthreadPageThreadData(List<ThreadPageThreadData> remainedThreadData,
+ boolean byInserter) {
+ List<List<Object>> insertData = new ArrayList<List<Object>>();
+ for (ThreadPageThreadData threadPageData : remainedThreadData) {
+ if (threadPageData instanceof ThreadPageThreadData) {
+ List<Object> insertRowData = new ArrayList<Object>();
+ ThreadPageThreadData threadData = (ThreadPageThreadData) threadPageData;
+ try {
+ insertRowData.add(new Integer(threadData.getThreadDataID()));
+ insertRowData.add(new Integer(threadData.getPid()));
+ insertRowData.add(new Integer(threadData.getTid()));
+ Integer type = new Integer(threadData.getType());
+ byte threadType = type.byteValue();
+ insertRowData.add(new Byte(threadType));
+ String attrTypeStr = threadData.getAttrType();
+ byte attrType = -1;
+ if (attrTypeStr.equals(ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE)) {
+ attrType = ThreadThreadDataMaker.PTHREAD_CREATE_JOINABLE;
+ } else if (attrTypeStr.equals(ThreadPageLabels.THREAD_ATTR_TYPE_DETACHED)) {
+ attrType = ThreadThreadDataMaker.PTHREAD_CREATE_DETACHED;
+ } else { // main thread has no attribute
+ attrType = -1;
+ }
+ insertRowData.add(new Byte(attrType));
+ insertRowData.add(new Long(threadData.getStartTime()));
+ insertRowData.add(new Long(threadData.getEndTime()));
+ insertRowData.add(new Integer(threadData.getThreadFuncID()));
+ insertRowData.add(new String(threadData.getThreadClassName()));
+ insertRowData.add(new Integer(threadData.getCreateTID()));
+ insertRowData.add(new Integer(threadData.getJoinTID()));
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ insertData.add(insertRowData);
+ }
+ }
+
+ if (!insertData.isEmpty()) {
+ if (byInserter) {
+ // there is no db inserter for threadDataTable
+ // so, just insert data in current thread
+ threadDataTable.insertData(insertData);
+ } else {
+ threadDataTable.insertData(insertData);
+ }
+ }
+ }
+
+ public void insertThreadEventData(List<ThreadPageThreadDataEvent> ThreadEventList,
+ boolean byInserter) {
+ ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
+ for (ThreadPageThreadDataEvent threadEvent : ThreadEventList) {
+ List<Object> insertRowData = new ArrayList<Object>();
+ try {
+ insertRowData.add(new Integer(threadEvent.getThreadDataID()));
+ insertRowData.add(new Long(threadEvent.getTime()));
+ insertRowData.add(new Integer(threadEvent.getTid()));
+ Integer apiType = new Integer(threadEvent.getApiType());
+ insertRowData.add(new Byte(apiType.byteValue()));
+ insertRowData.add(new String(threadEvent.getTooltipContent()));
+ insertRowData.add(new Long(threadEvent.getErrorNum()));
+ Integer eventType = new Integer(threadEvent.getEventType());
+ insertRowData.add(new Byte(eventType.byteValue()));
+ insertRowData.add(new Integer(threadEvent.getThreadType()));
+ insertRowData.add(new Integer(threadEvent.getCallerTid()));
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ insertData.add(insertRowData);
+ }
+
+ if (!insertData.isEmpty()) {
+ if (byInserter) {
+ threadEventDBInserter.pushData(insertData);
+ } else {
+ threadEventTable.insertData(insertData);
+ }
+ }
+ }
+
+ public void insertThreadAPIData(List<ThreadPageThreadDataEvent> insertThreadEventList,
+ boolean byInserter) {
+ ArrayList<List<Object>> apiData = new ArrayList<List<Object>>();
+ for (ThreadPageThreadDataEvent threadEvent : insertThreadEventList) {
+ if (threadEvent.getEventType() != ThreadPageThreadDataEvent.TYPE_API) {
+ continue;
+ }
+ List<Object> apiRowData = new ArrayList<Object>();
+ ThreadData tData = (ThreadData) threadEvent.getContents();
+ try {
+ apiRowData.add(new Long(tData.getSeq()));
+ apiRowData.add(new Integer(threadEvent.getThreadDataID()));
+ apiRowData.add(new Long(tData.getTime()));
+ apiRowData.add(new Integer(tData.getApiId()));
+ apiRowData.add(new Integer(tData.getPid()));
+ apiRowData.add(new Integer(tData.getTid()));
+ apiRowData.add(new String(tData.getArgs()));
+ apiRowData.add(new String(tData.getReturn()));
+ apiRowData.add(new Long(tData.getErrno()));
+ } catch (ArrayIndexOutOfBoundsException e) {
+ Logger.exception(e);
+ }
+ apiData.add(apiRowData);
+ }
+
+ if (!apiData.isEmpty()) {
+ if (byInserter) {
+ threadAPIDBInserter.pushData(apiData);
+ } else {
+ threadAPITable.insertData(apiData);
+ }
+ }
+ }
}
\ No newline at end of file
insertThreadEventList.add(event);
}
}
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEventList);
+ ThreadDataManager.getInstance().insertThreadEventData(insertThreadEventList, true);
}
}
if (null == input || !(input instanceof SyncData)) {
return;
}
-
+
SyncData syncData = (SyncData) input;
long time = syncData.getTime();
int tID = syncData.getTid();
}
}
insertSyncEvent(insertSyncEventQueue);
- ThreadDataManager.getInstance().getSyncDataDBTable().insertSyncData(insertSyncDataQueue);
+ ThreadDataManager.getInstance().insertSyncData(insertSyncDataQueue, true);
}
public void makeSyncDataOfThread() {
syncEventQueueOfThread.remove(0);
}
insertSyncEvent(insertSyncEventQueue);
- ThreadDataManager.getInstance().getSyncDataDBTable().insertSyncData(insertSyncDataQueue);
- ThreadDataManager.getInstance().getSyncAPIDBTable().insertSyncAPIData(insertSyncAPIQueue);
+ ThreadDataManager.getInstance().insertSyncData(insertSyncDataQueue, true);
+ ThreadDataManager.getInstance().insertSyncAPIData(insertSyncAPIQueue, true);
}
private ThreadPageSyncData findParentData(String name) {
}
public void insertNoBlockEndTimeSyncEvent() {
- ThreadDataManager.getInstance().getSyncEventDBTable()
- .insertSyncEventData(noBlockEndTimeSyncEventQueue);
+ ThreadDataManager.getInstance().insertSyncEventData(noBlockEndTimeSyncEventQueue, false);
}
private void insertSyncEvent(List<ThreadPageSyncDataEvent> insertSyncEventQueue) {
makeBlockEndTime(insertSyncEventQueue);
- ThreadDataManager.getInstance().getSyncEventDBTable()
- .insertSyncEventData(insertSyncEventQueue);
+ ThreadDataManager.getInstance().insertSyncEventData(insertSyncEventQueue, true);
}
private void makeBlockEndTime(List<ThreadPageSyncDataEvent> insertSyncEventQueue) {
setBlockEndTime(noBlockEndTimeSyncEventQueue, list);
}
- private void setBlockEndTimeOfNoBlockEndTimeList(List<ThreadPageSyncDataEvent> insertSyncEventQueue) {
+ private void setBlockEndTimeOfNoBlockEndTimeList(
+ List<ThreadPageSyncDataEvent> insertSyncEventQueue) {
for (ThreadPageSyncDataEvent event : insertSyncEventQueue) {
updateBlockEndTimeOfNotReleaseSyncEventQueue(event);
}
public List<ThreadPageSyncData> getChartRowData() {
List<ThreadPageSyncData> returnList = new ArrayList<ThreadPageSyncData>();
- for(ThreadPageSyncData data : chartRowData){
+ for (ThreadPageSyncData data : chartRowData) {
returnList.add(data);
}
return returnList;
}
eventQueue.removeAll(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadAPIDBTable()
- .insertThreadAPIData(insertThreadEvent);
+ ThreadDataManager.getInstance().insertThreadEventData(insertThreadEvent, true);
+ ThreadDataManager.getInstance().insertThreadAPIData(insertThreadEvent, true);
}
public void parseAPI(LogData input) {
}
}
callEventQueue.removeAll(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadAPIDBTable()
- .insertThreadAPIData(insertThreadEvent);
+ ThreadDataManager.getInstance().insertThreadEventData(insertThreadEvent, true);
+ ThreadDataManager.getInstance().insertThreadAPIData(insertThreadEvent, true);
break;
default:
callEvent.setThreadDataID(getThreadDataID(callEvent.getTid()));
insertThreadEvent.add(callEvent);
}
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadAPIDBTable()
- .insertThreadAPIData(insertThreadEvent);
+ ThreadDataManager.getInstance().insertThreadEventData(insertThreadEvent, false);
+ ThreadDataManager.getInstance().insertThreadAPIData(insertThreadEvent, false);
callEventQueue.clear();
}
callEvent.setThreadDataID(getThreadDataID(callEvent.getTid()));
List<ThreadPageThreadDataEvent> insertThreadEvent = new ArrayList<ThreadPageThreadDataEvent>();
insertThreadEvent.add(callEvent);
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadAPIDBTable()
- .insertThreadAPIData(insertThreadEvent);
+ ThreadDataManager.getInstance().insertThreadEventData(
+ insertThreadEvent, true);
+ ThreadDataManager.getInstance().insertThreadAPIData(insertThreadEvent,
+ true);
setCreateTIDToThreadData(event);
return true;
List<ThreadPageThreadDataEvent> insertThreadEvent = new ArrayList<ThreadPageThreadDataEvent>();
insertThreadEvent.add(callEvent);
- ThreadDataManager.getInstance().getThreadEventDBTable()
- .insertThreadEventData(insertThreadEvent);
- ThreadDataManager.getInstance().getThreadAPIDBTable()
- .insertThreadAPIData(insertThreadEvent);
+ ThreadDataManager.getInstance().insertThreadEventData(
+ insertThreadEvent, true);
+ ThreadDataManager.getInstance().insertThreadAPIData(insertThreadEvent,
+ true);
setJoinTIDToThreadData(callEvent);
return true;
}
}
}
}
-
+
public void setJoinTIDToThreadData(ThreadPageThreadDataEvent event) {
for (ThreadPageThreadData threadData : chartRowData) {
if (threadData.getTid() == event.getTid() && threadData.getJoinTID() == -1) {
}
/*
- * private void parseOSP(ThreadData input) { long time = input.getTime();
- * String pid = Integer.toString(input.getPid()); int tID = input.getTid();
- * String tid = Integer.toString(input.getTid()); int apiType =
- * input.getApiType(); String apiName = input.getApiName(); String callID =
- * Long.toString(input.getOspThreadId()); String className = null;
- * ThreadPageThreadData data; ThreadPageThreadDataEvent event; long errorNum
- * = input.getErrno();
+ * private void parseOSP(ThreadData input) { long time = input.getTime(); String pid =
+ * Integer.toString(input.getPid()); int tID = input.getTid(); String tid =
+ * Integer.toString(input.getTid()); int apiType = input.getApiType(); String apiName =
+ * input.getApiName(); String callID = Long.toString(input.getOspThreadId()); String className =
+ * null; ThreadPageThreadData data; ThreadPageThreadDataEvent event; long errorNum =
+ * input.getErrno();
*
* if (errorNum != 0) {
- * SummaryDataManager.getInstance().getFailedApiDataMaker().makeData(input);
- * }
+ * SummaryDataManager.getInstance().getFailedApiDataMaker().makeData(input); }
*
* switch (apiType) { case LogCenterConstants.THREAD_API_TYPE_NEW: case
- * LogCenterConstants.THREAD_API_TYPE_STOP: case
- * LogCenterConstants.THREAD_API_TYPE_EXIT: case
- * LogCenterConstants.THREAD_API_TYPE_WAIT_START: case
- * LogCenterConstants.THREAD_API_TYPE_OTHER: event = new
- * ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
- * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName,
- * errorNum, input); pushEvent(event); break; case
- * LogCenterConstants.THREAD_API_TYPE_START: event = new
+ * LogCenterConstants.THREAD_API_TYPE_STOP: case LogCenterConstants.THREAD_API_TYPE_EXIT: case
+ * LogCenterConstants.THREAD_API_TYPE_WAIT_START: case LogCenterConstants.THREAD_API_TYPE_OTHER:
+ * event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
+ * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName, errorNum, input);
+ * pushEvent(event); break; case LogCenterConstants.THREAD_API_TYPE_START: event = new
* ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
- * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName,
- * errorNum, input);
+ * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName, errorNum, input);
*
- * event.setCallID(callID); data = findCallQueue(callID); if (null != data)
- * { data.setThreadClassName(input.getClassName()); chartRowData.add(data);
- * } pushEvent(event); pushCallEvent(event); break; case
- * LogCenterConstants.THREAD_API_TYPE_WAIT_END: if
- * (input.getApiName().equals(ThreadPageLabels.THREAD_API_TIZEN_JOIN)) {
- * event = new
+ * event.setCallID(callID); data = findCallQueue(callID); if (null != data) {
+ * data.setThreadClassName(input.getClassName()); chartRowData.add(data); } pushEvent(event);
+ * pushCallEvent(event); break; case LogCenterConstants.THREAD_API_TYPE_WAIT_END: if
+ * (input.getApiName().equals(ThreadPageLabels.THREAD_API_TIZEN_JOIN)) { event = new
* ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
- * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName,
- * errorNum, input); pushEvent(event); // join, delete warning //
- * AnalyzerManager.getWarningChecker().removeData( //
- * ThreadPageLabels.THREAD_CHART_NAME_TID // +
- * findCallerTid(Long.toString(input // .getOspThreadId())), //
- * WarningCase.JOINABLE_LEAK.getType()); SummaryDataManager .getInstance()
- * .getWarningDataMaker() .removeData(event.getContents(),
+ * LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID, apiName, errorNum, input);
+ * pushEvent(event); // join, delete warning // AnalyzerManager.getWarningChecker().removeData(
+ * // ThreadPageLabels.THREAD_CHART_NAME_TID // + findCallerTid(Long.toString(input //
+ * .getOspThreadId())), // WarningCase.JOINABLE_LEAK.getType()); SummaryDataManager
+ * .getInstance() .getWarningDataMaker() .removeData(event.getContents(),
* ThreadPageLabels.THREAD_CHART_NAME_TID + findCallerTid(callID),
- * WarningCase.JOINABLE_LEAK.getType()); } // FIXME : do not shows sleep's
- * wait end
+ * WarningCase.JOINABLE_LEAK.getType()); } // FIXME : do not shows sleep's wait end
*
* break; case LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP: event = new
* ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
* LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID,
* ThreadPageLabels.THREAD_CHART_ITEM_EXITED, errorNum, input);
* event.setCallID(Long.toString(input.getOspThreadId())); pushEvent(event);
- * pushCallEvent(event); String joinableThread = joinableThreadMap.get(tID);
- * if (null != joinableThread &&
- * joinableThread.equals(ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE)) { //
- * warningData // WarningData wData = new WarningData( //
- * WarningCase.JOINABLE_LEAK.getType(), // event.getContents(), //
- * ThreadPageLabels.THREAD_CHART_NAME_TID + tid); //
- * AnalyzerManager.getWarningChecker().getWarningData().add(wData);
- * SummaryDataManager .getInstance() .getWarningDataMaker()
- * .add(event.getContents(), ThreadPageLabels.THREAD_CHART_NAME_TID + tid,
- * WarningCase.JOINABLE_LEAK.getType()); } break; case
- * LogCenterConstants.THREAD_API_TYPE_INTERNAL_START: Integer
- * threadAttrTypeInt = threadAttrMap.get(tID); String threadAttrType; if
- * (null != threadAttrTypeInt) { threadAttrType =
- * getAttrTypeByTypeInt(threadAttrTypeInt); } else { threadAttrType =
- * ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE; } joinableThreadMap.put(tID,
- * threadAttrType);
+ * pushCallEvent(event); String joinableThread = joinableThreadMap.get(tID); if (null !=
+ * joinableThread && joinableThread.equals(ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE)) { //
+ * warningData // WarningData wData = new WarningData( // WarningCase.JOINABLE_LEAK.getType(),
+ * // event.getContents(), // ThreadPageLabels.THREAD_CHART_NAME_TID + tid); //
+ * AnalyzerManager.getWarningChecker().getWarningData().add(wData); SummaryDataManager
+ * .getInstance() .getWarningDataMaker() .add(event.getContents(),
+ * ThreadPageLabels.THREAD_CHART_NAME_TID + tid, WarningCase.JOINABLE_LEAK.getType()); } break;
+ * case LogCenterConstants.THREAD_API_TYPE_INTERNAL_START: Integer threadAttrTypeInt =
+ * threadAttrMap.get(tID); String threadAttrType; if (null != threadAttrTypeInt) {
+ * threadAttrType = getAttrTypeByTypeInt(threadAttrTypeInt); } else { threadAttrType =
+ * ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE; } joinableThreadMap.put(tID, threadAttrType);
*
- * data = new ThreadPageThreadData(ThreadPageThreadData.TYPE_TIZEN, pid,
- * tID, ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE, -1); // TIZEN thread
- * includes the internal thread if ((className = checkCalledThread(callID))
- * != null) { data.setThreadClassName(className); } chartRowData.add(data);
- * event = new
+ * data = new ThreadPageThreadData(ThreadPageThreadData.TYPE_TIZEN, pid, tID,
+ * ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE, -1); // TIZEN thread includes the internal thread
+ * if ((className = checkCalledThread(callID)) != null) { data.setThreadClassName(className); }
+ * chartRowData.add(data); event = new
* ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
* LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tID,
- * ThreadPageLabels.THREAD_CHART_ITEM_CREATED, errorNum, input);
- * pushEvent(event); break; default:
- * Logger.error("thread page err: unknown thread api type"); } }
+ * ThreadPageLabels.THREAD_CHART_ITEM_CREATED, errorNum, input); pushEvent(event); break;
+ * default: Logger.error("thread page err: unknown thread api type"); } }
*
- * private ThreadPageThreadData findCallQueue(String callID) { int tid =
- * findCallerTid(callID); int size; size = chartRowData.size();
- * ThreadPageThreadData ret; for (int i = 0; i < size; i++) { ret =
- * chartRowData.get(i); if (ret.getTid() == tid) { chartRowData.remove(i);
- * return ret; } } return null; }
+ * private ThreadPageThreadData findCallQueue(String callID) { int tid = findCallerTid(callID);
+ * int size; size = chartRowData.size(); ThreadPageThreadData ret; for (int i = 0; i < size;
+ * i++) { ret = chartRowData.get(i); if (ret.getTid() == tid) { chartRowData.remove(i); return
+ * ret; } } return null; }
*
- * private String checkCalledThread(String callId) { if (null == callId) {
- * return null; } int callEventQueueSize = callEventQueue.size();
- * ThreadPageThreadDataEvent callEvent; for (int i = 0; i <
- * callEventQueueSize; i++) { callEvent = callEventQueue.get(i); if
- * (callEvent.getApiType() != LogCenterConstants.THREAD_API_TYPE_START) {
- * continue; } if (callId.equals(callEvent.getCallID())) { ThreadData
- * threadData = (ThreadData) callEvent.getContents(); return
- * threadData.getClassName(); } } return null; }
+ * private String checkCalledThread(String callId) { if (null == callId) { return null; } int
+ * callEventQueueSize = callEventQueue.size(); ThreadPageThreadDataEvent callEvent; for (int i =
+ * 0; i < callEventQueueSize; i++) { callEvent = callEventQueue.get(i); if
+ * (callEvent.getApiType() != LogCenterConstants.THREAD_API_TYPE_START) { continue; } if
+ * (callId.equals(callEvent.getCallID())) { ThreadData threadData = (ThreadData)
+ * callEvent.getContents(); return threadData.getClassName(); } } return null; }
*/
}
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
-import org.tizen.dynamicanalyzer.swap.model.data.SyncData;
import org.tizen.dynamicanalyzer.util.Logger;
public class SyncAPIDBTable extends DBTable {
addColumn(new DBColumn(COLUMN.SYNCVALUE.name, DBConstants.EMPTY, DBConstants.DBTYPE_LONG));
}
- public void insertSyncAPIData(List<SyncData> insertSyncAPIList) {
- if (insertSyncAPIList.size() == 0) {
- return;
- }
- ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
- for (SyncData syncAPI : insertSyncAPIList) {
- List<Object> insertRowData = new ArrayList<Object>();
- try {
- insertRowData.add(new Long(syncAPI.getSeq()));
- insertRowData.add(new Long(syncAPI.getTime()));
- insertRowData.add(new Integer(syncAPI.getApiId()));
- insertRowData.add(new Integer(syncAPI.getPid()));
- insertRowData.add(new Integer(syncAPI.getTid()));
- insertRowData.add(new String(syncAPI.getArgs()));
- insertRowData.add(new String(syncAPI.getReturn()));
- insertRowData.add(new Long(syncAPI.getErrno()));
- insertRowData.add(new Long(syncAPI.getSyncValue()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- insertData.add(insertRowData);
- }
- if (insertData.size() > 0 && dbInserter != null) {
- dbInserter.pushData(insertData);
- }
- }
-
public List<List<Object>> getSyncAPIFromDB() {
return selectAllColumnData(null);
}
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
-import org.tizen.dynamicanalyzer.nl.ThreadPageLabels;
-import org.tizen.dynamicanalyzer.ui.thread.data.ThreadSyncDataMaker;
-import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageSyncData;
import org.tizen.dynamicanalyzer.util.Logger;
public class SyncDataDBTable extends DBTable {
return selectAllColumnData(QUERY_OPTION);
}
- public void insertSyncData(List<ThreadPageSyncData> insertSyncDataQueue) {
- if (insertSyncDataQueue.size() == 0) {
- return;
- }
- ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
- for (ThreadPageSyncData syncData : insertSyncDataQueue) {
- List<Object> insertRowData = new ArrayList<Object>();
- try {
- insertRowData.add(new Integer(syncData.getSyncDataID()));
- insertRowData.add(new Integer(syncData.getPid()));
- insertRowData.add(new Integer(syncData.getTid()));
- Integer type = new Integer(syncData.getType());
- byte syncType = type.byteValue();
- insertRowData.add(new Byte(syncType));
- insertRowData.add(new Long(syncData.getKey()));
- String attrTypeStr = syncData.getAttrType();
- byte attrType = -1;
- if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_NORMAL)) {
- attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_NORMAL;
- } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_RECURSIVE)) {
- attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_RECURSIVE;
- } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_ERRORCHECK)) {
- attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_ERRORCHECK;
- } else if (attrTypeStr.equals(ThreadPageLabels.SYNC_ATTR_TYPE_DEFAULT)) {
- attrType = ThreadSyncDataMaker.PTHREAD_MUTEX_DEFAULT;
- } else {
- attrType = -1;
- }
- insertRowData.add(new Byte(attrType));
- insertRowData.add(new Byte(syncData.getSyncDataType()));
- insertRowData.add(new Integer(syncData.getParentID()));
- insertData.add(insertRowData);
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- }
- if (insertData.size() > 0 && dbInserter != null) {
- dbInserter.pushData(insertData);
- }
- }
-
@Override
public boolean prepare(PreparedStatement prep, List<Object> rowData) {
boolean isPrepared = true;
import java.util.List;
import org.tizen.dynamicanalyzer.common.DALimit;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
-import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageSyncDataEvent;
import org.tizen.dynamicanalyzer.util.Logger;
public class SyncEventDBTable extends DBTable {
return selectAllColumnData(null);
}
- public List<List<Object>> getInsertDBData(ThreadPageSyncDataEvent syncEvent) {
- List<List<Object>> insertData = new ArrayList<List<Object>>();
- List<Object> insertRowData = new ArrayList<Object>();
- try {
- insertRowData.add(new Long(syncEvent.getContents().getSeq()));
- insertRowData.add(new Integer(syncEvent.getSyncDataID()));
- insertRowData.add(new Long(syncEvent.getTime()));
- Integer apiType = new Integer(syncEvent.getApiType());
- insertRowData.add(new Byte(apiType.byteValue()));
- insertRowData.add(new String(syncEvent.getTooltipContent()));
- insertRowData.add(new Long(syncEvent.getErrorNum()));
- insertRowData.add(new Long(syncEvent.getSyncVal()));
- insertRowData.add(new Long(syncEvent.getBlockEndTime()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- return insertData;
- }
-
- public void insertSyncEventData(List<ThreadPageSyncDataEvent> syncEventQueue) {
- if (syncEventQueue.size() == 0) {
- return;
- }
- List<List<Object>> insertData = new ArrayList<List<Object>>();
- for (ThreadPageSyncDataEvent syncEvent : syncEventQueue) {
- List<Object> insertRowData = new ArrayList<Object>();
- try {
- insertRowData.add(new Long(syncEvent.getContents().getSeq()));
- insertRowData.add(new Integer(syncEvent.getSyncDataID()));
- insertRowData.add(new Long(syncEvent.getTime()));
- Integer apiType = new Integer(syncEvent.getApiType());
- insertRowData.add(new Byte(apiType.byteValue()));
- insertRowData.add(new String(syncEvent.getTooltipContent()));
- insertRowData.add(new Long(syncEvent.getErrorNum()));
- insertRowData.add(new Long(syncEvent.getSyncVal()));
- insertRowData.add(new Long(syncEvent.getBlockEndTime()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- insertData.add(insertRowData);
- }
- if (DACommunicator.isRunning() && dbInserter != null) {
- dbInserter.pushData(insertData);
- } else {
- insertData(insertData);
- }
- }
-
@Override
public boolean prepare(PreparedStatement prep, List<Object> rowData) {
boolean isPrepared = true;
import java.util.List;
import org.tizen.dynamicanalyzer.common.DALimit;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
-import org.tizen.dynamicanalyzer.swap.model.data.ThreadData;
-import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadDataEvent;
import org.tizen.dynamicanalyzer.util.Logger;
public class ThreadAPIDBTable extends DBTable {
return selectAllColumnData(null);
}
- public void insertThreadAPIData(List<ThreadPageThreadDataEvent> insertThreadEventList) {
- ArrayList<List<Object>> apiData = new ArrayList<List<Object>>();
- for (ThreadPageThreadDataEvent threadEvent : insertThreadEventList) {
- if (threadEvent.getEventType() != ThreadPageThreadDataEvent.TYPE_API) {
- continue;
- }
- List<Object> apiRowData = new ArrayList<Object>();
- ThreadData tData = (ThreadData) threadEvent.getContents();
- try {
- apiRowData.add(new Long(tData.getSeq()));
- apiRowData.add(new Integer(threadEvent.getThreadDataID()));
- apiRowData.add(new Long(tData.getTime()));
- apiRowData.add(new Integer(tData.getApiId()));
- apiRowData.add(new Integer(tData.getPid()));
- apiRowData.add(new Integer(tData.getTid()));
- apiRowData.add(new String(tData.getArgs()));
- apiRowData.add(new String(tData.getReturn()));
- apiRowData.add(new Long(tData.getErrno()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- apiData.add(apiRowData);
- }
- if (apiData.size() == 0) {
- return;
- }
- if (DACommunicator.isRunning() && dbInserter != null) {
- dbInserter.pushData(apiData);
- } else {
- insertData(apiData);
- }
- }
-
@Override
public boolean prepare(PreparedStatement prep, List<Object> rowData) {
boolean isPrepared = true;
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
-import org.tizen.dynamicanalyzer.nl.ThreadPageLabels;
-import org.tizen.dynamicanalyzer.ui.thread.data.ThreadThreadDataMaker;
-import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadData;
import org.tizen.dynamicanalyzer.util.Logger;
public class ThreadDataDBTable extends DBTable {
public static final String TABLENAME = "THREADDATA";
public enum COLUMN {
- THREADDATAID(0, "ThreadDataID"), PID(1, "PID"), TID(2, "TID"), THREADTYPE(3, "ThreadType"), ATTRIBUTETYPE(
- 4, "AttributeType"), STARTTIME(5, "StartTime"), ENDTIME(6, "EndTime"), FUNCTIONID(
- 7, "FunctionId"), CLASSNAME(8, "ClassName"), CREATETID(9, "CreateTID"),JOINTID(10, "JoinTID");
+ THREADDATAID(0, "ThreadDataID"),
+ PID(1, "PID"),
+ TID(2, "TID"),
+ THREADTYPE(3, "ThreadType"),
+ ATTRIBUTETYPE(4, "AttributeType"),
+ STARTTIME(5, "StartTime"),
+ ENDTIME(6, "EndTime"),
+ FUNCTIONID(7, "FunctionId"),
+ CLASSNAME(8, "ClassName"),
+ CREATETID(9, "CreateTID"),
+ JOINTID(10, "JoinTID");
public final int index;
public final String name;
return selectAllColumnData(null);
}
- public void inserthreadPageThreadData(List<ThreadPageThreadData> remainedThreadData) {
- List<List<Object>> insertData = new ArrayList<List<Object>>();
- for (ThreadPageThreadData threadPageData : remainedThreadData) {
- if (threadPageData instanceof ThreadPageThreadData == false) {
- continue;
- }
- List<Object> insertRowData = new ArrayList<Object>();
- ThreadPageThreadData threadData = (ThreadPageThreadData) threadPageData;
- try {
- insertRowData.add(new Integer(threadData.getThreadDataID()));
- insertRowData.add(new Integer(threadData.getPid()));
- insertRowData.add(new Integer(threadData.getTid()));
- Integer type = new Integer(threadData.getType());
- byte threadType = type.byteValue();
- insertRowData.add(new Byte(threadType));
- String attrTypeStr = threadData.getAttrType();
- byte attrType = -1;
- if (attrTypeStr.equals(ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE)) {
- attrType = ThreadThreadDataMaker.PTHREAD_CREATE_JOINABLE;
- } else if (attrTypeStr.equals(ThreadPageLabels.THREAD_ATTR_TYPE_DETACHED)) {
- attrType = ThreadThreadDataMaker.PTHREAD_CREATE_DETACHED;
- } else { // main thread has no attribute
- attrType = -1;
- }
- insertRowData.add(new Byte(attrType));
- insertRowData.add(new Long(threadData.getStartTime()));
- insertRowData.add(new Long(threadData.getEndTime()));
- insertRowData.add(new Integer(threadData.getThreadFuncID()));
- insertRowData.add(new String(threadData.getThreadClassName()));
- insertRowData.add(new Integer(threadData.getCreateTID()));
- insertRowData.add(new Integer(threadData.getJoinTID()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- insertData.add(insertRowData);
- }
- if (insertData.size() > 0) {
- insertData(insertData);
- }
- }
-
@Override
public boolean prepare(PreparedStatement prep, List<Object> rowData) {
boolean isPrepared = true;
DALimit.CLASS_NAME_LENGTH, rowData.get(COLUMN.THREADDATAID.index)
.toString());
prep.setString(COLUMN.CLASSNAME.index + 1, classNameStr);
- prep.setInt(COLUMN.CREATETID.index + 1, (Integer) (rowData.get(COLUMN.CREATETID.index)));
+ prep.setInt(COLUMN.CREATETID.index + 1,
+ (Integer) (rowData.get(COLUMN.CREATETID.index)));
prep.setInt(COLUMN.JOINTID.index + 1, (Integer) (rowData.get(COLUMN.JOINTID.index)));
} catch (SQLException e) {
Logger.exception(e);
import java.util.List;
import org.tizen.dynamicanalyzer.common.DALimit;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.database.DBColumn;
import org.tizen.dynamicanalyzer.database.DBConstants;
import org.tizen.dynamicanalyzer.database.DBTable;
-import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadDataEvent;
import org.tizen.dynamicanalyzer.util.Logger;
public class ThreadEventDBTable extends DBTable {
return selectAllColumnData(null);
}
- public void insertThreadEventData(List<ThreadPageThreadDataEvent> insertThreadEventList) {
- ArrayList<List<Object>> insertData = new ArrayList<List<Object>>();
- for (ThreadPageThreadDataEvent threadEvent : insertThreadEventList) {
- List<Object> insertRowData = new ArrayList<Object>();
- try {
- insertRowData.add(new Integer(threadEvent.getThreadDataID()));
- insertRowData.add(new Long(threadEvent.getTime()));
- insertRowData.add(new Integer(threadEvent.getTid()));
- Integer apiType = new Integer(threadEvent.getApiType());
- insertRowData.add(new Byte(apiType.byteValue()));
- insertRowData.add(new String(threadEvent.getTooltipContent()));
- insertRowData.add(new Long(threadEvent.getErrorNum()));
- Integer eventType = new Integer(threadEvent.getEventType());
- insertRowData.add(new Byte(eventType.byteValue()));
- insertRowData.add(new Integer(threadEvent.getThreadType()));
- insertRowData.add(new Integer(threadEvent.getCallerTid()));
- } catch (ArrayIndexOutOfBoundsException e) {
- Logger.exception(e);
- }
- insertData.add(insertRowData);
- }
- if (insertData.size() == 0) {
- return;
- }
- if (DACommunicator.isRunning() && dbInserter != null) {
- dbInserter.pushData(insertData);
- } else {
- insertData(insertData);
- }
- }
-
@Override
public boolean prepare(PreparedStatement prep, List<Object> rowData) {
boolean isPrepared = true;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.common.DAState;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.model.TreeInput;
import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
table.addListener(SWT.MouseUp, tableMouseListener);
table.addListener(SWT.MouseDown, tableMouseListener);
table.addListener(SWT.MouseDoubleClick, tableMouseListener);
- setTableToolTipListener(); // set table tooltip listener
+ setTableToolTipListener(); // set table tooltip listener
}
private void setTableToolTipListener() {
table.addListener(SWT.MouseExit, tableTooltipListener);
table.addListener(SWT.MouseMove, tableTooltipListener);
}
-
+
// tooltip
private DACustomTooltip tooltip = new DACustomTooltip() {
-
+
@Override
public void setTooltipMessage() {
tooltipMessage.clear();
- FeatureData feature = SettingDataManager.getInstance().getFeatureData(getSelectedItem());
+ FeatureData feature = SettingDataManager.getInstance()
+ .getFeatureData(getSelectedItem());
String message = feature.getOverheadRankingMessage();
if ((null != message) && (!message.isEmpty())) {
tooltipMessage.add(message);
}
}
};
-
+
private Listener tableTooltipListener = new Listener() {
-
+
@Override
public void handleEvent(Event event) {
// tooltip open and move
}
// check checkbox
- if (!DACommunicator.isRunning()) {
+ if (DAState.isStartable()) {
if (isClickCheckBox(item, event)) {
tooltip.setSeletedItem(item.getText());
tooltip.openAndMove(table.getShell());
}
}
}
-
+
// tooltip close
if (event.type == SWT.MouseExit) {
tooltip.close();
}
}
};
-
+
@Override
public void setColumns(String[] columnNames) {
int size = columnNames.length;
/**
* Creates an TreeInput Object for the feature.
*
- * @param feature feature information
+ * @param feature
+ * feature information
*
* @return The resulting TreeInput object
*/
private TreeInput makeInput(FeatureData feature) {
DATableDataFormat tableData = new DATableDataFormat(0);
List<String> text = new ArrayList<String>();
- String featureName = SettingDataManager.getInstance().getFeatureName(feature.getFeatureIndex());
- String parentFeatureName = SettingDataManager.getInstance().getFeatureName(feature.getParentIndex());
+ String featureName = SettingDataManager.getInstance().getFeatureName(
+ feature.getFeatureIndex());
+ String parentFeatureName = SettingDataManager.getInstance().getFeatureName(
+ feature.getParentIndex());
text.add(featureName);
TargetData target = SettingDataManager.getInstance().getTarget(null);
- StringBuffer optionColumn = new StringBuffer();
-
- // check selected feature : , item_all_checked
+ StringBuffer optionColumn = new StringBuffer();
+
+ // check selected feature : , item_all_checked
if (target.isSelectedFeature(feature.getFeatureIndex()) == true) {
optionColumn.append(FeatureDialog.ITEM_ALL_CHECKED);
} else {
// check parent feature : , parent_feature_name_xxx
if (feature.getParentIndex() > 0) {
- optionColumn.append(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM + parentFeatureName);
+ optionColumn.append(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM + parentFeatureName);
}
// check option feature : , feature_option_value "xxx"
optionColumn.append(FeatureDialog.FEATURE_OPTION_VALUE + optionText);
}
}
-
+
text.add(optionColumn.toString());
TreeInput outPut = new TreeInput();
outPut.setText(text);
List<TreeInput> output = new ArrayList<TreeInput>();
SettingDataManager setting = SettingDataManager.getInstance();
TargetData target = setting.getTarget(null);
-
+
List<Integer> featureList = target.getAvailableFeatureList();
for (int i = 0; i < featureList.size(); i++) {
FeatureData feature = setting.getFeatureData(featureList.get(i));
-
+
// check exist current feature node
if (existTreeInput(output, feature.getFeatureName()) == false) {
// create current feature node
TreeInput currentNode = makeInput(feature);
-
+
// check exist parent feature
if (feature.getParentIndex() <= 0) {
output.add(currentNode);
} else {
- String parentFeatureName = setting.getFeatureName(feature.getParentIndex());
+ String parentFeatureName = setting.getFeatureName(feature.getParentIndex());
// check exist parent feature node
if (existTreeInput(output, parentFeatureName) == false) {
- // create parent feature node
- TreeInput parentNode = makeInput(setting.getFeatureData(feature.getParentIndex()));
+ // create parent feature node
+ TreeInput parentNode = makeInput(setting.getFeatureData(feature
+ .getParentIndex()));
output.add(parentNode);
parentNode.getChildren().add(currentNode);
-
+
} else {
TreeInput parentTreeInput = getTreeInput(output, parentFeatureName);
if (parentTreeInput != null) {
}
}
}
- }
+ }
}
updateParentFeatureCheckStatus(output);
return output;
}
-
+
private boolean existTreeInput(List<TreeInput> list, String featureName) {
for (int j = 0; j < list.size(); j++) {
String name = (String) list.get(j).getText().get(0);
}
return null;
}
-
- private String getDetailFeatureOptionText(String featureName) {
+
+ private String getDetailFeatureOptionText(String featureName) {
if (featureName.equals(ConfigureLabels.FEATURE_DETAIL_VALUE_SYSTEM_SAMPLING_RATE)
- || featureName.equals(ConfigureLabels.FEATURE_DETAIL_VALUE_FUNCTION_PROFILING_SAMPLING_RATE)) {
+ || featureName
+ .equals(ConfigureLabels.FEATURE_DETAIL_VALUE_FUNCTION_PROFILING_SAMPLING_RATE)) {
return getSystemOptionText(featureName);
} else {
Logger.debug("the feature is not an option. " + featureName);
private String getSystemOptionText(String featureName) {
StringBuffer optionValue = new StringBuffer();
TargetData target = SettingDataManager.getInstance().getTarget(null);
-
+
FeatureData feature = SettingDataManager.getInstance().getFeatureData(featureName);
int selectedValue = target.getSelectedFeatureValue(feature.getFeatureIndex());
int defaultValue = feature.getDefaultValue();
-
+
if (selectedValue > 0) {
optionValue.append(ConfigureLabels.SAMPLING + Integer.toString(selectedValue));
} else {
}
return optionValue.toString();
}
-
+
private Listener tableMouseListener = new Listener() {
@Override
public void handleEvent(Event event) {
case SWT.MouseDown:
switch (event.button) {
case MOUSE_LEFT: {
- if (!DACommunicator.isRunning()) {
+ if (DAState.isStartable()) {
if (isClickCheckBox(item, event)) {
updateCheckBox(item, event);
updateChildCheckBoxByParent(item, event);
updateParentCheckBoxByChild(item, event);
-
+
if (item.hasChildren() && isCheckStatus(item)) {
item.setExpanded(true);
}
int childCheckedCount = 0;
int childUnCheckedCount = 0;
for (int j = 0; j < treeData.getChildren().size(); j++) {
- if (treeData
- .getChildren()
- .get(j)
- .getText()
- .get(1)
- .contains(
- FeatureDialog.ITEM_ALL_CHECKED)) {
+ if (treeData.getChildren().get(j).getText().get(1)
+ .contains(FeatureDialog.ITEM_ALL_CHECKED)) {
childCheckedCount++;
} else {
childUnCheckedCount++;
}
if (childCheckedCount > 0 && childUnCheckedCount == 0) {
- setCheckStatus(treeData,
- FeatureDialog.ITEM_ALL_CHECKED);
+ setCheckStatus(treeData, FeatureDialog.ITEM_ALL_CHECKED);
} else if (childCheckedCount > 0 && childUnCheckedCount > 0) {
- setCheckStatus(treeData,
- FeatureDialog.ITEM_PART_CHECKED);
+ setCheckStatus(treeData, FeatureDialog.ITEM_PART_CHECKED);
} else if (childCheckedCount == 0 && childUnCheckedCount > 0) {
setCheckStatus(treeData, CommonConstants.EMPTY);
}
}
}
+
// TODO:refactoring about the legacy code.
private boolean isClickCheckBox(GridItem item, Event event) {
String optionText = item.getText(tableTextOptionColumnIndex);
int checkImgX = 0;
- if (!optionText
- .contains(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM)) {
+ if (!optionText.contains(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM)) {
checkImgX = 20;
} else {
checkImgX = 40;
}
int checkImgWidth = ImageResources.CHECKBOX_SELECTED.getBounds().width;
- if ((checkImgX <= event.x)
- && (event.x <= checkImgX + checkImgWidth + 10)) {
+ if ((checkImgX <= event.x) && (event.x <= checkImgX + checkImgWidth + 10)) {
return true;
}
return false;
}
+
// TODO:refactoring about the legacy code.
private void updateCheckBox(GridItem item, Event event) {
String optionText = item.getText(tableTextOptionColumnIndex);
- if (optionText
- .contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ if (optionText.contains(FeatureDialog.ITEM_PART_CHECKED)) {
optionText = item.getText(tableTextOptionColumnIndex).replace(
- FeatureDialog.ITEM_PART_CHECKED,
- CommonConstants.EMPTY);
+ FeatureDialog.ITEM_PART_CHECKED, CommonConstants.EMPTY);
}
- if (optionText
- .contains(FeatureDialog.ITEM_ALL_CHECKED)) {
+ if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
optionText = item.getText(tableTextOptionColumnIndex).replace(
- FeatureDialog.ITEM_ALL_CHECKED,
- CommonConstants.EMPTY);
+ FeatureDialog.ITEM_ALL_CHECKED, CommonConstants.EMPTY);
} else {
optionText += FeatureDialog.ITEM_ALL_CHECKED;
}
}
public void setConfigurationDialogDataManager() {
- SettingDialogManager.getInstance()
- .setFeaturesValueFromTableItemsList(table);
+ SettingDialogManager.getInstance().setFeaturesValueFromTableItemsList(table);
}
+
// TODO:refactoring about the legacy code.
private void updateChildCheckBoxByParent(GridItem item, Event event) {
String featureName = item.getText(0);
String optionText = item.getText(tableTextOptionColumnIndex);
- if (!optionText
- .contains(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM)) {
+ if (!optionText.contains(FeatureDialog.ITEM_PARENT_FEATURE_NAME_ITEM)) {
for (int i = 0; i < table.getItemCount(); i++) {
SettingDataManager setting = SettingDataManager.getInstance();
- FeatureData feature = setting.getFeatureData(table.getItem(i).getText(0));
+ FeatureData feature = setting.getFeatureData(table.getItem(i).getText(0));
String parentFeatureName = setting.getFeatureName(feature.getParentIndex());
-
+
if (featureName.equals(parentFeatureName)) {
if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
- setCheckStatus(
- table.getItem(i),
- FeatureDialog.ITEM_ALL_CHECKED);
+ setCheckStatus(table.getItem(i), FeatureDialog.ITEM_ALL_CHECKED);
} else {
setCheckStatus(table.getItem(i), CommonConstants.EMPTY);
}
}
}
}
+
// TODO:refactoring about the legacy code.
private void updateParentCheckBoxByChild(GridItem item, Event event) {
String featureName = item.getText(0);
if (parentIndex > -1) {
FeatureData tableFeature = setting.getFeatureData(table.getItem(i).getText(0));
if (tableFeature.getParentIndex() == feature.getParentIndex()) {
- if (table
- .getItem(i)
- .getText(1)
- .contains(
- FeatureDialog.ITEM_ALL_CHECKED)) {
+ if (table.getItem(i).getText(1).contains(FeatureDialog.ITEM_ALL_CHECKED)) {
childCheckedCount++;
} else {
childUnCheckedCount++;
}
}
if (childCheckedCount > 0 && childUnCheckedCount == 0) {
- setCheckStatus(table.getItem(parentIndex),
- FeatureDialog.ITEM_ALL_CHECKED);
+ setCheckStatus(table.getItem(parentIndex), FeatureDialog.ITEM_ALL_CHECKED);
} else if (childCheckedCount > 0 && childUnCheckedCount > 0) {
- setCheckStatus(table.getItem(parentIndex),
- FeatureDialog.ITEM_PART_CHECKED);
+ setCheckStatus(table.getItem(parentIndex), FeatureDialog.ITEM_PART_CHECKED);
} else if (childCheckedCount == 0 && childUnCheckedCount > 0) {
setCheckStatus(table.getItem(parentIndex), CommonConstants.EMPTY);
}
}
+
// TODO:refactoring about the legacy code.
private void setCheckStatus(TreeInput item, String status) {
String optionText = item.getText().get(tableTextOptionColumnIndex);
- if (optionText
- .contains(FeatureDialog.ITEM_ALL_CHECKED)) {
- optionText = item
- .getText()
- .get(tableTextOptionColumnIndex)
- .replace(FeatureDialog.ITEM_ALL_CHECKED,
- CommonConstants.EMPTY);
- } else if (optionText
- .contains(FeatureDialog.ITEM_PART_CHECKED)) {
- optionText = item
- .getText()
- .get(tableTextOptionColumnIndex)
- .replace(FeatureDialog.ITEM_PART_CHECKED,
- CommonConstants.EMPTY);
+ if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
+ optionText = item.getText().get(tableTextOptionColumnIndex)
+ .replace(FeatureDialog.ITEM_ALL_CHECKED, CommonConstants.EMPTY);
+ } else if (optionText.contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ optionText = item.getText().get(tableTextOptionColumnIndex)
+ .replace(FeatureDialog.ITEM_PART_CHECKED, CommonConstants.EMPTY);
}
if (status.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
optionText += FeatureDialog.ITEM_ALL_CHECKED;
- } else if (status
- .contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ } else if (status.contains(FeatureDialog.ITEM_PART_CHECKED)) {
optionText += FeatureDialog.ITEM_PART_CHECKED;
}
item.getText().set(tableTextOptionColumnIndex, optionText);
}
+
// TODO:refactoring about the legacy code.
private void setCheckStatus(GridItem item, String status) {
String optionText = item.getText(tableTextOptionColumnIndex);
- if (optionText
- .contains(FeatureDialog.ITEM_ALL_CHECKED)) {
+ if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
optionText = item.getText(tableTextOptionColumnIndex).replace(
- FeatureDialog.ITEM_ALL_CHECKED,
- CommonConstants.EMPTY);
- } else if (optionText
- .contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ FeatureDialog.ITEM_ALL_CHECKED, CommonConstants.EMPTY);
+ } else if (optionText.contains(FeatureDialog.ITEM_PART_CHECKED)) {
optionText = item.getText(tableTextOptionColumnIndex).replace(
- FeatureDialog.ITEM_PART_CHECKED,
- CommonConstants.EMPTY);
+ FeatureDialog.ITEM_PART_CHECKED, CommonConstants.EMPTY);
}
if (status.contains(FeatureDialog.ITEM_ALL_CHECKED)) {
optionText += FeatureDialog.ITEM_ALL_CHECKED;
- } else if (status
- .contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ } else if (status.contains(FeatureDialog.ITEM_PART_CHECKED)) {
optionText += FeatureDialog.ITEM_PART_CHECKED;
}
item.setText(tableTextOptionColumnIndex, optionText);
}
-
+
private boolean isCheckStatus(GridItem item) {
String optionText = item.getText(tableTextOptionColumnIndex);
- if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)
- || optionText.contains(FeatureDialog.ITEM_PART_CHECKED)) {
+ if (optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)
+ || optionText.contains(FeatureDialog.ITEM_PART_CHECKED)) {
return true;
}
return false;
- }
+ }
}
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.tizen.dynamicanalyzer.common.DAState;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
import org.tizen.dynamicanalyzer.resources.ColorResources;
}
private void checkRunningState() {
- if (DACommunicator.isRunning()) {
+ if (!DAState.isStartable()) {
if (null != systemTextBox) {
systemTextBox.getControl().setEnabled(false);
}
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.tizen.dynamicanalyzer.common.AnalyzerManager;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.common.DAState;
import org.tizen.dynamicanalyzer.communicator.IDECommunicator;
import org.tizen.dynamicanalyzer.handlers.CommonAction;
import org.tizen.dynamicanalyzer.handlers.UIAction;
private void doApply() {
Composite selectedComposite = tabView.getTopComposite();
if (!(selectedComposite instanceof SettingDialogBinarySettingsPage)) {
- if (DACommunicator.isRunning() == false) {
+ if (DAState.isStartable()) {
// add & remove tab view page
SettingDialogManager.getInstance().updateTabViewPage();
private void doRun() {
Composite selectedComposite = tabView.getTopComposite();
if (!(selectedComposite instanceof SettingDialogBinarySettingsPage)) {
- if (DACommunicator.isRunning() == false) {
+ if (DAState.isStartable()) {
CommonAction.configure();
}
}
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.common.DAState;
import org.tizen.dynamicanalyzer.constant.CommonConstants;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
import org.tizen.dynamicanalyzer.widgets.da.view.DAPageComposite;
public class SettingDialogOptionPage extends DAPageComposite {
- public static final String ID = SettingDialogOptionPage.class
- .getName();
+ public static final String ID = SettingDialogOptionPage.class.getName();
private DACheckBox autoStopCheckBox = null;
private DACheckBox recordingCheckBox = null;
private DAText periodicallyTextBox = null;
private Label periodicallyTextBoxLabel = null;
private Label periodicallyInfo = null;
-
+
private boolean isValidInputValue = true;
public SettingDialogOptionPage(Composite parent, int style) {
// Configuration Setting
Label settingLabel = new Label(this, SWT.TRANSPARENT);
settingLabel.setText(ConfigureLabels.SETTING_OPTION_TAB_DESCRIPTION);
- settingLabel
- .setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
+ settingLabel.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
settingLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
settingLabel.setFont(FontResources.SETTING_TITLE_FONT);
FormData data = new FormData();
data.left = new FormAttachment(0, 8);
data.height = 18;
settingLabel.setLayoutData(data);
-
+
this.addPaintListener(new PaintListener() {
-
+
@Override
public void paintControl(PaintEvent e) {
Composite comp = (Composite) e.widget;
Rectangle rect = comp.getClientArea();
-
- Rectangle r = new Rectangle(8, 41, rect.width-16, 23);
+
+ Rectangle r = new Rectangle(8, 41, rect.width - 16, 23);
e.gc.setForeground(ColorResources.SETTING_STROKE);
e.gc.drawRectangle(r);
e.gc.setBackground(ColorResources.SETTING_TITLE_BACKGROUND);
- e.gc.fillRectangle(9, 42, rect.width-18, 21);
-
- r = new Rectangle(8, 124, rect.width-16, 23);
+ e.gc.fillRectangle(9, 42, rect.width - 18, 21);
+
+ r = new Rectangle(8, 124, rect.width - 16, 23);
e.gc.drawRectangle(r);
- e.gc.fillRectangle(9, 125, rect.width-18, 21);
+ e.gc.fillRectangle(9, 125, rect.width - 18, 21);
}
});
-
+
createRcording();
createScreenShot();
-
+
// check running state
- if (DACommunicator.isRunning()) {
+ if (!DAState.isStartable()) {
this.setEnabled(false);
}
}
recordingTitleLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
recordingTitleLabel.setFont(FontResources.SETTING_TITLE_FONT);
recordingTitleLabel.setAlignment(SWT.LEFT);
-
+
// recording autoStop
autoStopCheckBox = new DACheckBox(this, SWT.NONE);
data = new FormData();
autoStopCheckBox.setForeground(ColorResources.BLACK);
autoStopCheckBox.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
autoStopCheckBox.setText(ConfigureLabels.SETTING_OPTION_AUTO_STOP);
- autoStopCheckBox.addSelectionListener(autoStopCheckBoxListener);
- autoStopCheckBox.setChecked(SettingDataManager.getInstance().
- isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_AUTO_STOP));
-
+ autoStopCheckBox.addSelectionListener(autoStopCheckBoxListener);
+ autoStopCheckBox.setChecked(SettingDataManager.getInstance().isOptionsSelectedFeature(
+ SettingConstants.FEATURE_NAME_INDEX_AUTO_STOP));
+
Label autoStopLabel = new Label(this, SWT.TRANSPARENT);
autoStopLabel.setText(ConfigureLabels.SETTING_OPTION_AUTO_STOP);
autoStopLabel.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
data.top = new FormAttachment(recordingTitleLabel, 7);
data.left = new FormAttachment(0, 42);
autoStopLabel.setLayoutData(data);
-
+
// feature : recording
recordingCheckBox = new DACheckBox(this, SWT.NONE);
data = new FormData();
recordingCheckBox.setForeground(ColorResources.BLACK);
recordingCheckBox.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
recordingCheckBox.setText(ConfigureLabels.FEATURE_NAME_RECORDING);
- recordingCheckBox.addSelectionListener(recordingCheckBoxListener);
- recordingCheckBox.setChecked(SettingDataManager.getInstance().
- isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_RECORDING));
+ recordingCheckBox.addSelectionListener(recordingCheckBoxListener);
+ recordingCheckBox.setChecked(SettingDataManager.getInstance().isOptionsSelectedFeature(
+ SettingConstants.FEATURE_NAME_INDEX_RECORDING));
Label recordingLabel = new Label(this, SWT.TRANSPARENT);
recordingLabel.setText(ConfigureLabels.FEATURE_NAME_RECORDING);
data.left = new FormAttachment(0, 42);
recordingLabel.setLayoutData(data);
}
-
+
public void createScreenShot() {
// screenshot title label
Label screenshotTitleLabel = new Label(this, SWT.TRANSPARENT);
screenshotTitleLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
screenshotTitleLabel.setFont(FontResources.SETTING_TITLE_FONT);
screenshotTitleLabel.setAlignment(SWT.LEFT);
-
+
// on scene transition
onSceneTransitionCheckBox = new DACheckBox(this, SWT.NONE);
data = new FormData();
data.width = 16;
onSceneTransitionCheckBox.setLayoutData(data);
onSceneTransitionCheckBox.setForeground(ColorResources.BLACK);
- onSceneTransitionCheckBox.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
- onSceneTransitionCheckBox.setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_ON_SCENE_TRANSITION);
- onSceneTransitionCheckBox.addSelectionListener(onSceneTransitionCheckBoxListener);
- onSceneTransitionCheckBox.setChecked(SettingDataManager.getInstance().
- isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION));
-
+ onSceneTransitionCheckBox
+ .setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
+ onSceneTransitionCheckBox
+ .setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_ON_SCENE_TRANSITION);
+ onSceneTransitionCheckBox.addSelectionListener(onSceneTransitionCheckBoxListener);
+ onSceneTransitionCheckBox.setChecked(SettingDataManager.getInstance()
+ .isOptionsSelectedFeature(
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION));
+
Label onSceneTransitionLabel = new Label(this, SWT.TRANSPARENT);
- onSceneTransitionLabel.setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_ON_SCENE_TRANSITION);
- onSceneTransitionLabel.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
+ onSceneTransitionLabel
+ .setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_ON_SCENE_TRANSITION);
+ onSceneTransitionLabel
+ .setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
onSceneTransitionLabel.setForeground(ColorResources.BLACK);
onSceneTransitionLabel.setFont(FontResources.CONFIGURATION_TABLE_TITLE_FONT);
data = new FormData();
data.top = new FormAttachment(screenshotTitleLabel, 7);
data.left = new FormAttachment(0, 42);
onSceneTransitionLabel.setLayoutData(data);
-
+
// periodically
periodicallyCheckBox = new DACheckBox(this, SWT.NONE);
data = new FormData();
data.width = 16;
periodicallyCheckBox.setLayoutData(data);
periodicallyCheckBox.setForeground(ColorResources.BLACK);
- periodicallyCheckBox.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
+ periodicallyCheckBox
+ .setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
periodicallyCheckBox.setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_PERIODICALLY);
- periodicallyCheckBox.addSelectionListener(periodicallyCheckBoxListener);
+ periodicallyCheckBox.addSelectionListener(periodicallyCheckBoxListener);
boolean isSelectedFeature = SettingDataManager.getInstance().isOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
periodicallyCheckBox.setChecked(isSelectedFeature);
-
+
Label periodicallyLabel = new Label(this, SWT.TRANSPARENT);
periodicallyLabel.setText(ConfigureLabels.FEATURE_DETAIL_VALUE_SCREENSHOT_PERIODICALLY);
periodicallyLabel.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
data.left = new FormAttachment(0, 42);
data.width = 75;
periodicallyLabel.setLayoutData(data);
-
+
// text box
periodicallyTextBox = new DAText(this, SWT.SINGLE);
data = new FormData();
periodicallyTextBox.setLayoutData(data);
periodicallyTextBox.setForeground(ColorResources.SETTING_COLOR);
periodicallyTextBox.setFont(FontResources.CONFIGURATION_TABLE_TITLE_FONT);
- periodicallyTextBox.setText(String.valueOf(SettingDataManager.getInstance().getOptionsFeatureValue(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY)));
- periodicallyTextBox.getControl().addKeyListener(periodicallyTextBoxKeyListener);
+ periodicallyTextBox.setText(String
+ .valueOf(SettingDataManager.getInstance().getOptionsFeatureValue(
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY)));
+ periodicallyTextBox.getControl().addKeyListener(periodicallyTextBoxKeyListener);
periodicallyTextBox.setTextTooltip(true);
- periodicallyTextBox.setTextTooltipMessage(ConfigureLabels.FEATURE_OVERHEAD_RANKING_INPUT_VALUE);
-
+ periodicallyTextBox
+ .setTextTooltipMessage(ConfigureLabels.FEATURE_OVERHEAD_RANKING_INPUT_VALUE);
+
// label
periodicallyTextBoxLabel = new Label(this, SWT.TRANSPARENT);
periodicallyTextBoxLabel.setText(ConfigureLabels.SECOND);
periodicallyTextBoxLabel.setLayoutData(data);
periodicallyTextBoxLabel.setForeground(ColorResources.SETTING_COLOR);
periodicallyTextBoxLabel.setFont(FontResources.CONFIGURATION_TABLE_TITLE_FONT);
- periodicallyTextBoxLabel.setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
-
+ periodicallyTextBoxLabel
+ .setBackground(ColorResources.CONFIGURATION_TABLE_COVER_BACKGROUND_COLOR);
+
// waring label
periodicallyInfo = new Label(this, SWT.TRANSPARENT);
data = new FormData();
// check status : periodicallyCheckBox
if (isSelectedFeature) {
periodicallyTextBox.getControl().setEnabled(true);
- isValidInputValue = checkValidInputText(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
+ isValidInputValue = checkValidInputText(
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
periodicallyTextBox, periodicallyInfo);
} else {
periodicallyTextBox.getControl().setEnabled(false);
periodicallyInfo.setText(CommonConstants.EMPTY);
}
}
-
+
private DACheckboxSelectionListener autoStopCheckBoxListener = new DACheckboxSelectionListener() {
@Override
public void handleSelectionEvent(DACheckBox checkbox) {
SettingDataManager setting = SettingDataManager.getInstance();
if (setting.isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_AUTO_STOP)) {
setting.deleteOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_AUTO_STOP);
- autoStopCheckBox.setChecked(false);
+ autoStopCheckBox.setChecked(false);
} else {
setting.addOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_AUTO_STOP, 0);
- autoStopCheckBox.setChecked(true);
+ autoStopCheckBox.setChecked(true);
}
}
};
-
+
private DACheckboxSelectionListener recordingCheckBoxListener = new DACheckboxSelectionListener() {
@Override
public void handleSelectionEvent(DACheckBox checkbox) {
SettingDataManager setting = SettingDataManager.getInstance();
if (setting.isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_RECORDING)) {
setting.deleteOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_RECORDING);
- recordingCheckBox.setChecked(false);
+ recordingCheckBox.setChecked(false);
} else {
setting.addOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_RECORDING, 0);
- recordingCheckBox.setChecked(true);
+ recordingCheckBox.setChecked(true);
}
}
};
-
+
private DACheckboxSelectionListener onSceneTransitionCheckBoxListener = new DACheckboxSelectionListener() {
@Override
public void handleSelectionEvent(DACheckBox checkbox) {
SettingDataManager setting = SettingDataManager.getInstance();
- if (setting.isOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION)) {
- setting.deleteOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION);
- onSceneTransitionCheckBox.setChecked(false);
+ if (setting
+ .isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION)) {
+ setting.deleteOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION);
+ onSceneTransitionCheckBox.setChecked(false);
} else {
setting.addOptionsSelectedFeature(
SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_ON_SCENE_TRANSITION, 0);
- onSceneTransitionCheckBox.setChecked(true);
+ onSceneTransitionCheckBox.setChecked(true);
}
}
};
-
+
private DACheckboxSelectionListener periodicallyCheckBoxListener = new DACheckboxSelectionListener() {
@Override
public void handleSelectionEvent(DACheckBox checkbox) {
SettingDataManager setting = SettingDataManager.getInstance();
- if (setting.isOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY)) {
- setting.deleteOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
+ if (setting
+ .isOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY)) {
+ setting.deleteOptionsSelectedFeature(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
periodicallyCheckBox.setChecked(false);
periodicallyTextBox.getControl().setEnabled(false);
periodicallyInfo.setText(CommonConstants.EMPTY);
isValidInputValue = true;
} else {
// set init Feature Value
- int value = setting.getOptionsFeaturInitValue(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
+ int value = setting
+ .getOptionsFeaturInitValue(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
setting.addOptionsSelectedFeature(
SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY, value);
- periodicallyCheckBox.setChecked(true);
+ periodicallyCheckBox.setChecked(true);
periodicallyTextBox.getControl().setEnabled(true);
- isValidInputValue = checkValidInputText(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
+ isValidInputValue = checkValidInputText(
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
periodicallyTextBox, periodicallyInfo);
}
}
@Override
public void keyReleased(KeyEvent e) {
// check validation input text
- isValidInputValue = checkValidInputText(SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
+ isValidInputValue = checkValidInputText(
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
periodicallyTextBox, periodicallyInfo);
if (isValidInputValue) {
periodicallyInfo.setText(CommonConstants.EMPTY);
SettingDataManager.getInstance().addOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
Integer.parseInt(periodicallyTextBox.getText()));
}
}
if (errorCode != SettingConstants.FEATURE_VAILD_VALUE) {
info.setText(feature.getValueWarningMessage(errorCode));
return false;
- } else {
+ } else {
info.setText(CommonConstants.EMPTY);
return true;
}
}
-
+
public boolean isValidInputValue() {
return isValidInputValue;
}
-
+
public void revertInputValue() {
int value = SettingDataManager.getInstance().getOptionsFeaturInitValue(
SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY);
-
+
periodicallyTextBox.setText(String.valueOf(value));
periodicallyInfo.setText(CommonConstants.EMPTY);
isValidInputValue = true;
-
+
SettingDataManager.getInstance().addOptionsSelectedFeature(
- SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
+ SettingConstants.FEATURE_NAME_INDEX_SCREENSHOT_PERIODICALLY,
Integer.parseInt(periodicallyTextBox.getText()));
}
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.common.DAState;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
import org.tizen.dynamicanalyzer.nl.ConfigureLabels;
import org.tizen.dynamicanalyzer.nl.WidgetLabels;
private Map<String, Image> targetHashMap = null;
private Map<String, Image> templateHashMap = null;
-
+
// target widget
private Composite targetComp = null;
private Label targetLabel = null;
private Label totalOverheadRange = null;
private Label overheadDescriptionLabel = null;
private DACustomButton detailButton = null;
-
+
private SettingDialogTemplatePage me = null;
-
+
private DACustomButtonClickEventListener detailButtonListener = new DACustomButtonClickEventListener() {
@Override
dialog.open();
}
};
-
+
public SettingDialogTemplatePage(Composite parent, int style) {
super(parent, style);
me = this;
data.left = new FormAttachment(0, 8);
data.height = 18;
title.setLayoutData(data);
-
+
initDataList();
createTargetComposite();
- createTemplateDescriptionComposite();
+ createTemplateDescriptionComposite();
createTemplateTitleComposite();
}
private void initDataList() {
targetHashMap = new HashMap<String, Image>();
- targetHashMap.put(ConfigureLabels.TARGET_NAME_MOBILE_2_3, ImageResources.TARGET_NAME_MOBILE_2_3);
- targetHashMap.put(ConfigureLabels.TARGET_NAME_TV_1_0, ImageResources.TARGET_NAME_TV_1_0);
- targetHashMap.put(ConfigureLabels.TARGET_NAME_WEARABLE_2_3, ImageResources.TARGET_NAME_WEARABLE_2_3);
-
+ targetHashMap.put(ConfigureLabels.TARGET_NAME_MOBILE_2_3,
+ ImageResources.TARGET_NAME_MOBILE_2_3);
+ targetHashMap.put(ConfigureLabels.TARGET_NAME_TV_1_0, ImageResources.TARGET_NAME_TV_1_0);
+ targetHashMap.put(ConfigureLabels.TARGET_NAME_WEARABLE_2_3,
+ ImageResources.TARGET_NAME_WEARABLE_2_3);
+
templateHashMap = new HashMap<String, Image>();
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_BOTTLENECK, ImageResources.TEMPLATE_BOTTLENECK_ANALYSIS);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_MEMORY_LEAKS, ImageResources.TEMPLATE_MEMORY_LEAK);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_PROCESS_ACTIVITY, ImageResources.TEMPLATE_PROCESS_ACTIVITY);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_FILE, ImageResources.TEMPLATE_FILE_ANALYSIS);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_THREAD_ACTIVITY, ImageResources.TEMPLATE_THREAD_ACTIVITY_ANALYSIS);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_WAIT_STATUS, ImageResources.TEMPLATE_WAIT_STATUS_ANALYSIS);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_NETWORK, ImageResources.TEMPLATE_NETWORK_ANALYSIS);
- templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_OPEN_GL, ImageResources.TEMPLATE_OPEN_GL_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_BOTTLENECK,
+ ImageResources.TEMPLATE_BOTTLENECK_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_MEMORY_LEAKS,
+ ImageResources.TEMPLATE_MEMORY_LEAK);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_PROCESS_ACTIVITY,
+ ImageResources.TEMPLATE_PROCESS_ACTIVITY);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_FILE,
+ ImageResources.TEMPLATE_FILE_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_THREAD_ACTIVITY,
+ ImageResources.TEMPLATE_THREAD_ACTIVITY_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_WAIT_STATUS,
+ ImageResources.TEMPLATE_WAIT_STATUS_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_NETWORK,
+ ImageResources.TEMPLATE_NETWORK_ANALYSIS);
+ templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_OPEN_GL,
+ ImageResources.TEMPLATE_OPEN_GL_ANALYSIS);
templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_ENERGY, ImageResources.TEMPLATE_ENERGY);
templateHashMap.put(ConfigureLabels.TEMPLATE_NAME_CUSTOM, ImageResources.TEMPLATE_CUSTOM);
}
targetInputComposite = null;
}
}
-
+
private void initTemplateTitleWidget() {
if (null != templateLabel) {
templateLabel.dispose();
inputComposite = null;
}
}
-
+
private void initTemplateDescriptionWidget() {
if (null != icon) {
icon.dispose();
overheadLabel.dispose();
overheadLabel = null;
}
-
+
if (null != totalOverheadRange) {
totalOverheadRange.dispose();
- totalOverheadRange = null;
+ totalOverheadRange = null;
}
if (null != overheadDescriptionLabel) {
overheadDescriptionLabel.dispose();
- overheadDescriptionLabel = null;
+ overheadDescriptionLabel = null;
}
if (null != detailButton) {
detailButton = null;
}
}
-
- private DACustomToggleButton createToggleButton(Composite composit, Image image, Point imagePoint,
- String title, Point fontPoint, int width, int height, int topPosition, int leftPosition) {
+
+ private DACustomToggleButton createToggleButton(Composite composit, Image image,
+ Point imagePoint, String title, Point fontPoint, int width, int height,
+ int topPosition, int leftPosition) {
DACustomToggleButton toggle = new DACustomToggleButton(composit, SWT.NONE);
// color and image
- toggle.setColors(ColorResources.SETTING_BUTTON_NORMAL_COLOR,
- ColorResources.SETTING_BUTTON_PUSH_COLOR,
- ColorResources.SETTING_BUTTON_HOVER_COLOR,
+ toggle.setColors(ColorResources.SETTING_BUTTON_NORMAL_COLOR,
+ ColorResources.SETTING_BUTTON_PUSH_COLOR,
+ ColorResources.SETTING_BUTTON_HOVER_COLOR,
ColorResources.SETTING_BUTTON_DISABLE_COLOR,
- ColorResources.SETTING_BUTTON_TOGGLE_NORMAL_COLOR,
+ ColorResources.SETTING_BUTTON_TOGGLE_NORMAL_COLOR,
ColorResources.SETTING_BUTTON_TOGGLE_HOVER_COLOR,
ColorResources.SETTING_BUTTON_TOGGLE_PUSH_COLOR);
- toggle.setButtonImages(image, image, image,
- image, image, image, image);
+ toggle.setButtonImages(image, image, image, image, image, image, image);
toggle.setButtonImagePoint(imagePoint);
// font
toggle.setTitle(title);
- toggle.setFontPoint(fontPoint);
- toggle.setFontColors(ColorResources.SETTING_COLOR,
- ColorResources.SETTING_COLOR,
- ColorResources.SETTING_COLOR,
- ColorResources.SETTING_COLOR);
+ toggle.setFontPoint(fontPoint);
+ toggle.setFontColors(ColorResources.SETTING_COLOR, ColorResources.SETTING_COLOR,
+ ColorResources.SETTING_COLOR, ColorResources.SETTING_COLOR);
toggle.setButtonFont(FontResources.SETTING_BUTTON_FONT);
-
+
// layout
FormData data = new FormData();
data.top = new FormAttachment(0, topPosition);
return toggle;
}
-
+
public void createTargetComposite() {
initTargetCompositeWidget();
-
+
// Composite
if (null == targetComp) {
targetComp = new Composite(this, SWT.NONE);
compData.height = 373;
targetComp.setLayoutData(compData);
targetComp.setBackground(ColorResources.WHITE);
-
+
targetComp.addPaintListener(new PaintListener() {
-
+
@Override
public void paintControl(PaintEvent e) {
Composite comp = (Composite) e.widget;
Rectangle r = new Rectangle(0, 0, rect.width - 1, rect.height - 1);
e.gc.setForeground(ColorResources.SETTING_STROKE);
e.gc.drawRectangle(r);
- e.gc.drawLine(0, 22, rect.width-1, 22);
+ e.gc.drawLine(0, 22, rect.width - 1, 22);
e.gc.setBackground(ColorResources.SETTING_TITLE_BACKGROUND);
e.gc.fillRectangle(1, 1, 84, 21);
}
});
}
-
+
// label
targetLabel = new Label(targetComp, SWT.TRANSPARENT);
FormData data = new FormData();
targetLabel.setAlignment(SWT.CENTER);
// scrolledComposite
- targetScrolledComposite = new ScrolledComposite(targetComp, SWT.BORDER
- | SWT.V_SCROLL | SWT.H_SCROLL);
+ targetScrolledComposite = new ScrolledComposite(targetComp, SWT.BORDER | SWT.V_SCROLL
+ | SWT.H_SCROLL);
targetScrolledComposite.setLayout(new FormLayout());
data = new FormData();
data.top = new FormAttachment(targetLabel, 1);
data.bottom = new FormAttachment(100, -1);
targetInputComposite.setLayoutData(data);
targetInputComposite.setBackground(ColorResources.WHITE);
-
+
// ToogleButtonGroup
Map<String, TargetData> targetList = SettingDataManager.getInstance().getTargetListMap();
- String selectedTarget = SettingDataManager.getInstance().getConnectedTarget().getTargetName();
+ String selectedTarget = SettingDataManager.getInstance().getConnectedTarget()
+ .getTargetName();
SettingDataManager.getInstance().setSelectedTarget(selectedTarget);
DACustomToggleButtonGroup targetGroup = new DACustomToggleButtonGroup();
Point imagePoint = new Point(18, 8);
Point fontPoint = new Point(-1, 60);
int topPosition = 4;
int leftPosition = 3;
-
+
for (Map.Entry<String, TargetData> entry : targetList.entrySet()) {
TargetData target = entry.getValue();
-
- DACustomToggleButton toggle = createToggleButton(targetInputComposite,
- targetHashMap.get(target.getTargetName()),
- imagePoint, target.getTargetName(), fontPoint, 76, 76, topPosition, leftPosition);
- targetGroup.addToggleButton(toggle);
-
+
+ DACustomToggleButton toggle = createToggleButton(targetInputComposite,
+ targetHashMap.get(target.getTargetName()), imagePoint, target.getTargetName(),
+ fontPoint, 76, 76, topPosition, leftPosition);
+ targetGroup.addToggleButton(toggle);
+
// listener
toggle.addListener(SWT.MouseUp, new Listener() {
-
+
@Override
public void handleEvent(Event event) {
- DACustomToggleButton toggleButton = (DACustomToggleButton) event.widget;
- if(toggleButton.isToggled()) {
-
+ DACustomToggleButton toggleButton = (DACustomToggleButton) event.widget;
+ if (toggleButton.isToggled()) {
+
// set selected target
SettingDataManager.getInstance().setSelectedTarget(toggleButton.getText());
-
+
// update template view
createTemplateTitleComposite();
createTemplateDescriptionComposite();
}
}
- });
+ });
// set next position
topPosition += 80;
-
- // set selection target
+
+ // set selection target
if (selectedTarget.equals(entry.getKey()) == true) {
targetGroup.setSelection(toggle);
}
- }
+ }
targetComp.layout(true);
-
- if (DACommunicator.isRunning()) {
+
+ if (!DAState.isStartable()) {
targetComp.setEnabled(false);
}
}
-
+
public void createTemplateDescriptionComposite() {
initTemplateDescriptionWidget();
-
+
if (null == descriptionComp) {
// Composite
descriptionComp = new Composite(this, SWT.NONE);
compData.top = new FormAttachment(0, 235);
compData.left = new FormAttachment(0, 98);
compData.width = 504;
- compData.height = 179;
+ compData.height = 179;
descriptionComp.setLayoutData(compData);
descriptionComp.setBackground(ColorResources.WHITE);
-
+
descriptionComp.addPaintListener(new PaintListener() {
-
+
@Override
public void paintControl(PaintEvent e) {
Composite comp = (Composite) e.widget;
Rectangle r = new Rectangle(0, 0, rect.width - 1, rect.height - 1);
e.gc.setForeground(ColorResources.SETTING_STROKE);
e.gc.drawRectangle(r);
- e.gc.drawLine(0, 117, rect.width-1, 117);
-
+ e.gc.drawLine(0, 117, rect.width - 1, 117);
+
// overhead
e.gc.drawImage(ImageResources.OVERHEAD_BAR_BG, 90, 130);
e.gc.drawImage(ImageResources.OVERHEAD_BAR, 91, 133);
}
});
}
-
+
SettingDataManager setting = SettingDataManager.getInstance();
TargetData target = setting.getTarget(null);
TemplateData template = setting.getTemplateData(target.getSelectedTemplate());
-
+
// image
icon = new Label(descriptionComp, SWT.TRANSPARENT);
icon.setImage(templateHashMap.get(template.getTemplateName()));
data.top = new FormAttachment(0, 16);
data.left = new FormAttachment(0, 81);
data.width = 401;
- data.height = 15;
+ data.height = 15;
templateNameLabel.setLayoutData(data);
templateNameLabel.setText(template.getTemplateName());
templateNameLabel.setBackground(ColorResources.WHITE);
templateNameLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
templateNameLabel.setFont(FontResources.SETTING_TITLE_FONT);
-
+
// text : description
templateDescriptionLabel = new Label(descriptionComp, SWT.WRAP | SWT.READ_ONLY);
data = new FormData();
data.top = new FormAttachment(0, 40);
data.left = new FormAttachment(0, 81);
data.width = 401;
- data.height = 70;
+ data.height = 70;
templateDescriptionLabel.setLayoutData(data);
templateDescriptionLabel.setText(template.getDescription());
templateDescriptionLabel.setBackground(ColorResources.WHITE);
templateDescriptionLabel.setForeground(ColorResources.SETTING_COLOR);
templateDescriptionLabel.setFont(FontResources.SETTING_DESCRIPTION_FONT);
-
+
// label : overhead
overheadLabel = new Label(descriptionComp, SWT.TRANSPARENT);
data = new FormData();
data.top = new FormAttachment(0, 130);
data.left = new FormAttachment(0, 9);
data.width = 80;
- data.height = 20;
+ data.height = 20;
overheadLabel.setLayoutData(data);
overheadLabel.setText(ConfigureLabels.SETTING_DIALOG_OVERHEAD);
overheadLabel.setBackground(ColorResources.WHITE);
overheadLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
overheadLabel.setFont(FontResources.SETTING_TITLE_FONT);
-
+
// update total overhead range
updateTotalOverheadRange();
-
+
// label : overhead description
overheadDescriptionLabel = new Label(descriptionComp, SWT.WRAP | SWT.READ_ONLY);
data = new FormData();
data.top = new FormAttachment(0, 153);
data.left = new FormAttachment(0, 90);
data.width = 300;
- data.height = 20;
+ data.height = 20;
overheadDescriptionLabel.setLayoutData(data);
overheadDescriptionLabel.setText(ConfigureLabels.SETTING_DIALOG_OVERHEAD_DESCRIPTION);
overheadDescriptionLabel.setBackground(ColorResources.WHITE);
data.width = 100;
data.height = 22;
detailButton.setLayoutData(data);
-
+
descriptionComp.layout(true);
}
-
+
public void updateTotalOverheadRange() {
SettingDataManager setting = SettingDataManager.getInstance();
TargetData target = setting.getTarget(null);
-
+
if (null != totalOverheadRange) {
totalOverheadRange.dispose();
- totalOverheadRange = null;
+ totalOverheadRange = null;
}
-
+
int totalOverheadRangeCount = setting.getTotalOverhaedRangeCount();
int width = 200 / totalOverheadRangeCount;
int totalOverheadRangeValue = setting.getSelectedOverheadLevel(target.getTargetName());
int startPosition = 91 + (width * totalOverheadRangeValue);
-
+
totalOverheadRange = new Label(descriptionComp, SWT.TRANSPARENT);
FormData data = new FormData();
data.top = new FormAttachment(0, 133);
data.left = new FormAttachment(0, startPosition);
data.width = width * (totalOverheadRangeCount - totalOverheadRangeValue);
- data.height = 10;
+ data.height = 10;
totalOverheadRange.setLayoutData(data);
totalOverheadRange.setBackground(ColorResources.SETTING_OVERHEAD_BACKGROUND);
-
+
descriptionComp.layout(true);
}
-
+
public void createTemplateTitleComposite() {
initTemplateTitleWidget();
-
+
// Composite
if (null == templateComp) {
templateComp = new Composite(this, SWT.NONE);
compData.height = 188;
templateComp.setLayoutData(compData);
templateComp.setBackground(ColorResources.WHITE);
-
+
templateComp.addPaintListener(new PaintListener() {
-
+
@Override
public void paintControl(PaintEvent e) {
Composite comp = (Composite) e.widget;
Rectangle r = new Rectangle(0, 0, rect.width - 1, rect.height - 1);
e.gc.setForeground(ColorResources.SETTING_STROKE);
e.gc.drawRectangle(r);
- e.gc.drawLine(0, 22, rect.width-1, 22);
-
+ e.gc.drawLine(0, 22, rect.width - 1, 22);
+
e.gc.setBackground(ColorResources.SETTING_TITLE_BACKGROUND);
e.gc.fillRectangle(1, 1, 502, 21);
data.top = new FormAttachment(0, 4);
data.left = new FormAttachment(0, 1);
data.height = 18;
- data.width = 502;
+ data.width = 502;
templateLabel.setLayoutData(data);
templateLabel.setText(ConfigureLabels.SETTING_DIALOG_TEMPLATE_TITLE);
templateLabel.setBackground(ColorResources.SETTING_TITLE_BACKGROUND);
templateLabel.setForeground(ColorResources.DEFAULT_FONT_COLOR);
templateLabel.setFont(FontResources.SETTING_TITLE_FONT);
templateLabel.setAlignment(SWT.CENTER);
-
+
// scrolledComposite
- scrolledComposite = new ScrolledComposite(templateComp, SWT.BORDER
- | SWT.V_SCROLL | SWT.H_SCROLL);
+ scrolledComposite = new ScrolledComposite(templateComp, SWT.BORDER | SWT.V_SCROLL
+ | SWT.H_SCROLL);
scrolledComposite.setLayout(new FormLayout());
data = new FormData();
data.top = new FormAttachment(templateLabel, 1);
// composite : input
inputComposite = new Composite(scrolledComposite, SWT.NONE);
scrolledComposite.setContent(inputComposite);
- scrolledComposite.setMinSize(inputComposite.computeSize(SWT.DEFAULT,
- SWT.DEFAULT));
+ scrolledComposite.setMinSize(inputComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
scrolledComposite.setShowFocusedControl(true);
inputComposite.setLayout(new FormLayout());
data = new FormData();
data.bottom = new FormAttachment(100, -1);
inputComposite.setLayoutData(data);
inputComposite.setBackground(ColorResources.WHITE);
-
+
// ToogleButtonGroup
String selectedTarget = SettingDataManager.getInstance().getSelectedTarget();
DACustomToggleButtonGroup targetGroup = new DACustomToggleButtonGroup();
Point fontPoint = new Point(-1, 60);
int topPosition = 4;
int leftPosition = 13;
-
+
TargetData target = SettingDataManager.getInstance().getTarget(selectedTarget);
int selectedTemplate = target.getSelectedTemplate();
List<Integer> templateList = target.getAvailableTemplateList();
for (int i = 0; i < templateList.size(); i++) {
- TemplateData template = SettingDataManager.getInstance().getTemplateData(templateList.get(i));
- DACustomToggleButton toggle = createToggleButton(inputComposite,
- templateHashMap.get(template.getTemplateName()), imagePoint, template.getTemplateName(), fontPoint,
- 92, 76, topPosition, leftPosition);
- targetGroup.addToggleButton(toggle);
+ TemplateData template = SettingDataManager.getInstance().getTemplateData(
+ templateList.get(i));
+ DACustomToggleButton toggle = createToggleButton(inputComposite,
+ templateHashMap.get(template.getTemplateName()), imagePoint,
+ template.getTemplateName(), fontPoint, 92, 76, topPosition, leftPosition);
+ targetGroup.addToggleButton(toggle);
// listener
toggle.addListener(SWT.MouseUp, new Listener() {
-
+
@Override
public void handleEvent(Event event) {
- DACustomToggleButton toggleButton = (DACustomToggleButton) event.widget;
- if(toggleButton.isToggled()) {
+ DACustomToggleButton toggleButton = (DACustomToggleButton) event.widget;
+ if (toggleButton.isToggled()) {
// set select template
SettingDataManager setting = SettingDataManager.getInstance();
TargetData target = setting.getTarget(null);
- String preSelectedTemplate = SettingDataManager.getInstance().getTemplateName(target.getSelectedTemplate());
-
+ String preSelectedTemplate = SettingDataManager.getInstance()
+ .getTemplateName(target.getSelectedTemplate());
+
// TODO : redefine custom template usage
if (preSelectedTemplate.equals(toggleButton.getText()) == false) {
- int templateIndex = SettingDataManager.getInstance().getTemplateIndex(toggleButton.getText());
+ int templateIndex = SettingDataManager.getInstance().getTemplateIndex(
+ toggleButton.getText());
target.setSelectedTemplate(templateIndex);
- target.changeSelectecFeatureList(templateIndex, setting.getTemplateData(templateIndex));
-
+ target.changeSelectecFeatureList(templateIndex,
+ setting.getTemplateData(templateIndex));
+
// change description
createTemplateDescriptionComposite();
}
}
}
- });
-
+ });
+
// set next position
if (leftPosition + 96 < 480) {
leftPosition += 96;
leftPosition = 13;
topPosition += 79;
}
-
- // set selection template
+
+ // set selection template
if (selectedTemplate == templateList.get(i)) {
targetGroup.setSelection(toggle);
}
}
-
+
templateComp.layout(true);
-
- if (DACommunicator.isRunning()) {
+
+ if (!DAState.isStartable()) {
templateComp.setEnabled(false);
}
}
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
-import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.common.DAState;
import org.tizen.dynamicanalyzer.communicator.IDECommunicator;
import org.tizen.dynamicanalyzer.handlers.CommonAction;
import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
};
private void doApply() {
- if (DACommunicator.isRunning() == false) {
+ if (DAState.isStartable()) {
// add & remove tab view page
SettingDialogManager.getInstance().updateTabViewPage();
}
private void doRevert() {
- if (DACommunicator.isRunning() == false) {
+ if (DAState.isStartable()) {
// rollback setting data
SettingDataManager.getInstance().revertSettingData();
}
}
private void doRun() {
- if (DACommunicator.isRunning() == false) {
+ if (DAState.isStartable()) {
CommonAction.configure();
}
}