diff options
author | kaguilar | 2013-12-10 23:00:44 +0000 |
---|---|---|
committer | David Phillips | 2013-12-16 17:27:48 +0000 |
commit | 888d7b90a5feff72b188294520175d34780b5a1b (patch) | |
tree | ff7d42f6860509d87e03729ae33142036fc8d2d4 | |
parent | e36575bcd25d4fcd57925c1a190b3857e6641b22 (diff) | |
download | org.eclipse.ote-OSEE_0.16_release.tar.gz org.eclipse.ote-OSEE_0.16_release.tar.xz org.eclipse.ote-OSEE_0.16_release.zip |
feature[ats_K4H1K]: add ability to save amd restore data typeOSEE_0.16_release
7 files changed, 56 insertions, 10 deletions
diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchList.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchList.java index c88ee7954..4392b960b 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchList.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/tree/WatchList.java @@ -100,15 +100,19 @@ public class WatchList implements ITreeContentProvider { } } - public WatchedMessageNode createElements(String message, Collection<ElementPath> elements, MessageMode mode) throws ClassNotFoundException, InstantiationException, IllegalAccessException, Exception { - return createElements(message, elements, mode, null); + public WatchedMessageNode createElements(String message, MessageMode mode, Collection<ElementPath> elements) throws ClassNotFoundException, InstantiationException, IllegalAccessException, Exception { + return createElements(message, null, mode, elements, null); } - public WatchedMessageNode createElements(String message, Collection<ElementPath> elements, MessageMode mode, Map<ElementPath, String> valueMap) throws ClassNotFoundException, InstantiationException, IllegalAccessException, Exception { + public WatchedMessageNode createElements(String message, String dataType, MessageMode mode, Collection<ElementPath> elements, Map<ElementPath, String> valueMap) throws ClassNotFoundException, InstantiationException, IllegalAccessException, Exception { boolean needToRegisterListener = false; WatchedMessageNode messageNode = (WatchedMessageNode) rootNode.getMessageByName(message); if (messageNode == null) { - messageNode = createMessageNode(message, mode); + if (dataType == null) { + messageNode = createMessageNode(message, mode); + } else { + messageNode = createMessageNode(message, mode, dataType); + } messageNode.setRequestedValueMap(valueMap); needToRegisterListener = true; } @@ -217,7 +221,15 @@ public class WatchList implements ITreeContentProvider { } private WatchedMessageNode createMessageNode(String message, MessageMode mode) throws Exception { - IMessageSubscription subscription = service.subscribe(message, mode); + IMessageSubscription subscription = service.subscribe(message, mode); + WatchedMessageNode node = new WatchedMessageNode(subscription); + rootNode.addChild(node); + return node; + } + + + private WatchedMessageNode createMessageNode(String message, MessageMode mode, String dataType) throws Exception { + IMessageSubscription subscription = service.subscribe(message, dataType, mode); WatchedMessageNode node = new WatchedMessageNode(subscription); rootNode.addChild(node); return node; diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/AddWatchParameter.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/AddWatchParameter.java index 33db6e0d8..996fe0d13 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/AddWatchParameter.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/AddWatchParameter.java @@ -98,6 +98,15 @@ public class AddWatchParameter { parameter.setIsWriter(isWriter); } + public void setDataType(String messageName, String type) { + MessageParameter parameter = watchMap.get(messageName); + if (parameter == null) { + parameter = new MessageParameter(messageName); + watchMap.put(messageName, parameter); + } + parameter.setDataType(type); + } + public void setValue(ElementPath path, String value) { String messageName = path.getMessageName(); MessageParameter parameter = watchMap.get(messageName); diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/LoadWatchListJob.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/LoadWatchListJob.java index 9488c7372..7a23d42e0 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/LoadWatchListJob.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/LoadWatchListJob.java @@ -140,6 +140,13 @@ final class LoadWatchListJob extends Job { } catch (NumberFormatException e) { e.printStackTrace(); } + } else if (line.startsWith("data type=")) { + try { + String type = line.substring(10); + watchListConfiguration.setDataType(message, type); + } catch (NumberFormatException e) { + e.printStackTrace(); + } } else { break; } diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageInfoSelectionHandler.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageInfoSelectionHandler.java index 3b60a57dc..9977590ba 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageInfoSelectionHandler.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageInfoSelectionHandler.java @@ -27,7 +27,7 @@ public class MessageInfoSelectionHandler implements MessageInfoSelectionListener try { WatchedMessageNode node = view.getWatchList().getMessageNode(className); if (node == null) { - node = (WatchedMessageNode) view.getWatchList().createElements(className, new ArrayList<ElementPath>(), MessageMode.READER); + node = (WatchedMessageNode) view.getWatchList().createElements(className, MessageMode.READER, new ArrayList<ElementPath>()); } new WatchElementAction(view, node).run(); } catch (Throwable th) { diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageParameter.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageParameter.java index 41db3e1d4..22bee6570 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageParameter.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/MessageParameter.java @@ -10,10 +10,12 @@ final class MessageParameter { private final HashMap<ElementPath, String> valueMap = new HashMap<ElementPath, String>(); private final String messageName; private boolean isWriter; + private String dataType; MessageParameter(String messageName) { this.messageName = messageName; this.isWriter = false; + dataType = null; } public void addAll(Collection<ElementPath> paths) { @@ -49,6 +51,14 @@ final class MessageParameter { public HashMap<ElementPath, String> getValueMap() { return valueMap; } + + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } } diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchListConfiguration.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchListConfiguration.java index 861af34c6..f21c9fbe0 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchListConfiguration.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchListConfiguration.java @@ -11,7 +11,7 @@ final class WatchListConfiguration { private final List<ElementPath> recHeaderElementsToAdd; private final Set<String> recHeaderHex; private final Set<String> recBodyHex; - + public WatchListConfiguration() { recBodyElementsToAdd = new ArrayList<ElementPath>(); recHeaderElementsToAdd = new ArrayList<ElementPath>(); @@ -32,6 +32,10 @@ final class WatchListConfiguration { addWatchParameter.setIsWriter(message, isWriter); } + public void setDataType(String message, String type) { + addWatchParameter.setDataType(message, type); + } + public List<ElementPath> getRecBodyElementsToAdd() { return recBodyElementsToAdd; } diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java index bd64686fb..56b6b50b3 100644 --- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java +++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java @@ -637,7 +637,7 @@ public final class WatchView extends ViewPart implements ITestConnectionListener elements = new ArrayList<ElementPath>(); } MessageMode mode = message.isWriter() ? MessageMode.WRITER : MessageMode.READER; - watchList.createElements(message.getMessageName(), elements, mode, message.getValueMap()); + watchList.createElements(message.getMessageName(),message.getDataType(), mode, elements, message.getValueMap()); } catch (ClassNotFoundException ex1) { if (openProceedWithProcessing("Could not find a class definition for " + message + "\n Do you wish to continue")) { continue; @@ -737,11 +737,15 @@ public final class WatchView extends ViewPart implements ITestConnectionListener fw.write(msg.getMessageClassName()); fw.write('\n'); fw.write("isWriter="); - descendants.clear(); - boolean isWriter = msg.getSubscription().getMessageMode() == MessageMode.WRITER; fw.write(Boolean.toString(isWriter)); fw.write('\n'); + + fw.write("data type="); + fw.write(msg.getSubscription().getMemType().name()); + fw.write('\n'); + + descendants.clear(); msg.collectDescendants(descendants); Map<ElementPath, String> map = msg.getRequestedValueMap(); |