Merge "442980 - Fixed ClassCast exceptions in debug mode"
diff --git a/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/CommandToStringConverter.java b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/CommandToStringConverter.java
index ba030d8..c5a8a00 100644
--- a/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/CommandToStringConverter.java
+++ b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/CommandToStringConverter.java
@@ -162,7 +162,8 @@
 				} else {
 					EReference ref = (EReference) feature;
 					EClass eclass = ref.getEReferenceType();
-					if (eclass.getClassifierID() == CorePackage.COMMAND) {
+					if (eclass.getEPackage().getName() == CorePackage.eNAME
+							&& eclass.getClassifierID() == CorePackage.COMMAND) {
 						boolean singleLine = !(val instanceof Sequence);
 						formatter.addAttrName(name, forced);
 						formatter.openGroup(singleLine);
diff --git a/rcpttTests/contexts/ProjectWithTableTests.ctx b/rcpttTests/contexts/ProjectWithTableTests.ctx
new file mode 100644
index 0000000..51f7fb5
--- /dev/null
+++ b/rcpttTests/contexts/ProjectWithTableTests.ctx
@@ -0,0 +1,125 @@
+--- RCPTT testcase ---
+Format-Version: 1.0
+Context-Type: org.eclipse.rcptt.ctx.workspace
+Element-Name: ProjectWithTableTests
+Element-Type: context
+Element-Version: 2.0
+Id: _l1e_wDGmEeSbC7GaRYibkw
+Runtime-Version: 1.5.0.201406020630
+Save-Time: 9/1/14 2:09 PM
+
+------=_contents/q7project/defaultWB.ctx-5870615a-f089-338e-916f-277f01fea96d
+Content-Type: q7/binary
+Entry-Name: contents/q7project/defaultWB.ctx
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnSdU02TojAUvPMruFtoAiJi1RyCoiKI
+fCgily2EoIx8CQHUX7/ozFqze9x3Svq9dLrTwDAMbQo0wRUJ/ArTDMNQ87xMfcI4uKziPJvQsA8oU2Aa
+nIV5OaHbtu3f8hKH/SBPB1eBmuYZwTfCbO8FntAd+N2+Cv067oZe3X6bl5cjzoIzJSc4xRlhdD/t5kMc
++XVC9tIb/8PzOvdG33LYTo4STuhfw4cion1xkvH0oYRwkV3CSkRPqVadkTjFPy1w/XGfBZCDAEDIgzFl
++w1mtvFTAgQDdgA5Gk44QBtrimJe9fHraeGlo7ufC1kMRiJgAjwcM9wIiMyYw91WAMNwKEYQ+9HXU7wt
+XIXBMc788k7JGSnv34Z/kFLUTq5mkmSiKUIK6kox0b/1wrVUb46ZlRwzW784otY+0O4WDjh1p+Gt1yrB
+yCXpQlco05UNM2O3KbnBag/r5GoNWDXgnMST5oY3etS9YLkQYhjOdgUyyvnmKj/IBa58NLevrnbWvF7E
+OUund6nmJG4pZEMlTNp2BZDrpItdPuIw4oRDbhxaPFOAWpTqsRRUs4TsLkRb3MywtXpwUdBrVSvzL+W4
+5+2jy+OG091yxlMjQ/s8FWIoxSsl2cTx6WCprBQSIdIFu7DWI70hqlPXAdTrg2uovHGTHFEhkLcP1bqH
+xup1pi2ls1XHReIuEbWvdtVmcScnHRhWuPYUd5Hly6jQYO5mdq598keiLYdyNKsPm/R+X0eDdADYjXJu
+mqKBjxFbJ8NAM+3e4mr13DF1XkfjqhZXHi+adhsoZ65O8nYoITRrUBdQF5qEziaav8I5PfM5IyUUCn+9
+efaFVkbf+Kuov/Kc8p9Hlgfengcd0Vz6muvIZaQ/17IpfQ1+fPz3h9j9xb8BUEsHCCCsA3mbAgAA2gMA
+AFBLAQIUABQACAgIAAAAIQAgrAN5mwIAANoDAAAIAAAAAAAAAAAAAAAAAAAAAAAuY29udGVudFBLBQYA
+AAAAAQABADYAAADRAgAAAAA=
+------=_contents/q7project/defaultWB.ctx-5870615a-f089-338e-916f-277f01fea96d--
+------=_contents/q7project/.defaultWSctx/content1.test-fad4dd51-e91c-3fc7-80f7-c5de32215b57
+Content-Type: q7/binary
+Entry-Name: contents/q7project/.defaultWSctx/content1.test
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnRtj8sKwjAQRfeC/xBmb6IWqZTGIuJC
+ULoQwZ3UdKyBJukj2vbvTcXqxt1wH2e4YdSqnDyxqqXRHGZ0CgS1MKnUGYeHvU2WEK3Go1AYRVtTYUpL
+n9YCdVJJExw/B2mVDL6UeU9xXF0HTudwt7YIGGuahhqVUVNl7HzYDZG/5G/JueztstJng0tROAmIThRy
+sFhb+G3w+u8y5XDxTnEnkmu8xY1n/Nhb7Jt4nQGxXeFqKHJgbtoLUEsHCDd6xiu1AAAAAwEAAFBLAQIU
+ABQACAgIAAAAIQA3esYrtQAAAAMBAAAIAAAAAAAAAAAAAAAAAAAAAAAuY29udGVudFBLBQYAAAAAAQAB
+ADYAAADrAAAAAAA=
+------=_contents/q7project/.defaultWSctx/content1.test-fad4dd51-e91c-3fc7-80f7-c5de32215b57--
+------=_contents/q7project/TableTest.test-78e92882-c6dd-3dcd-ad74-a7b9d6b0da7a
+Content-Type: q7/binary
+Entry-Name: contents/q7project/TableTest.test
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnSdk01v2zAMhu/6FYLPo79dzwF2KIKs
+y7q1buKuyClQZKZzI8uuJMdpsB8/uU2y3LZVJ4GkXj58CQEAnY3zoqAGteFMIwUA8rlRNTPwA5WuGjmi
+geuTcSMN7owe0WW8n2aXD+3jBMf7aRlcyU2ps8sPy48CFvH16tbG8028uNffZHBxRyYCa5QGbliNI1qw
+lcDCdjvFi5fWxo8Ap/Cpe2S7T3YGlWQCZrhGhZLbF2RaWpguWTT312Fim5ZP+cXD1z7Z+3dk1klT1Xg+
+Q+KG7nPHRLWuUJE52yIU1YCUeYEXxDQc+RnNv5PiQHIAQy4IgdfzaenywQZL57M0jCPmQ5qUEURlsoYs
+zQJIoqxEH5NVyvibZ2cT7ow3qE2kUS8HO46ChDyigVYdx9NgTejoL8pFxTevyb6SZdPT/E+NTQ8JoxDt
+VaNAbqhzhRIVE94Nmr5RG2oppE1YF7RD/qI0LOf8DiUz7KQNquk1Bd6IrpbUmfOfWDOHwpaJDqnzpShy
+xxb3qjIIXG9hXVk5Z6DQLbM78zzvOW1V82TFPG9YeeDaOuedVLjjoivxH7Dm/8sVvnG9b/H2C/0GUEsH
+CH3WxMe3AQAAWgMAAFBLAQIUABQACAgIAAAAIQB91sTHtwEAAFoDAAAIAAAAAAAAAAAAAAAAAAAAAAAu
+Y29udGVudFBLBQYAAAAAAQABADYAAADtAQAAAAA=
+------=_contents/q7project/TableTest.test-78e92882-c6dd-3dcd-ad74-a7b9d6b0da7a--
+------=_contents/q7project/.defaultWSctx/content1.project-815ee12c-3ff3-364a-b7f0-ed0764506944
+Content-Type: q7/binary
+Entry-Name: contents/q7project/.defaultWSctx/content1.project
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnRtkEEOwiAQRdeaeIeGvaCrusA2UeMF
+1ANUmDSYAi1Q0+MLlNrUuJv358/8AVoOssneYKzQ6oj2eIcyUExzoeojetyv2wMqi82atka/gLkLWGZE
+67zbqyuqKglFl6cuJZFDg2kpQbmCkqkKavLZCGRBz140/NYCC5Tw7EcrxaOSsvw2PGgDHHc5Zr7A0QnG
+82ms5iv8UGXqPsTbxGQpUPIblJTpEp/qegPJPcKfI7p8bIXsaImb5tnvY5cf+AFQSwcIz2bKQ70AAAB/
+AQAAUEsBAhQAFAAICAgAAAAhAM9mykO9AAAAfwEAAAgAAAAAAAAAAAAAAAAAAAAAAC5jb250ZW50UEsF
+BgAAAAABAAEANgAAAPMAAAAAAA==
+------=_contents/q7project/.defaultWSctx/content1.project-815ee12c-3ff3-364a-b7f0-ed0764506944--
+------=_contents/q7project/rcptt.properties-fd5d5747-330f-3b05-9be7-47bcf072cf18
+Content-Type: q7/binary
+Entry-Name: contents/q7project/rcptt.properties
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnRNzk1uwjAQQOG9TzEXGMdOQEm9rajo
+gp8U2kU3yHJGKKi2gz0k7e0LqhR1/S3eQ0Roa2DK7GwmQETxEpO3jB+Uch+DAS2VaGscKXQxGZimSX7H
+RJ100RfXWqy+yFNg3FpPBvYpXsgxHIi5D+c88/FnuPPwxxti21m2s8618l577Qycluu4eH/OaUW7zzaN
+28Y9De78OHm7Be49/T+sZCNLpSutlNZL1YiDHQmP/eNIq6IsdAXalA3sN0L8AlBLBwguxza0vAAAAPUA
+AABQSwECFAAUAAgICAAAACEALsc2tLwAAAD1AAAACAAAAAAAAAAAAAAAAAAAAAAALmNvbnRlbnRQSwUG
+AAAAAAEAAQA2AAAA8gAAAAAA
+------=_contents/q7project/rcptt.properties-fd5d5747-330f-3b05-9be7-47bcf072cf18--
+------=_contents/q7project/defaultWS.ctx-f62894c1-f639-3a4d-8b93-315b441db9df
+Content-Type: q7/binary
+Entry-Name: contents/q7project/defaultWS.ctx
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnStlMuSolgQhvc8hXvjyE1uFVELQEAU
+EVS0ZNNxwAMqN7kIwtM3VJU9NdMTE9Mdnas8yR9/JhlfJABgZHOjCpWVD0s0AgBgNgdqlJ6y4mXUNM3k
+kRXoNPGzBM85TM2KBFZgj4rykqUvI3JCYEqMEpRWwIQJehmdUADvcXXY/qj/EFO9eAtrBHaXQUkSOEXg
+JDmiXxh6ZK0w/fQy+sbH4DhdemsFyVY0PTqlkZKsjWHgPV6/+Vla9a5lP82tyK7Ir/Bh+kn1qIAvCPTJ
+E0jA0TQJaH4qAEgFENCEd4LcifchojH5wwDs2ls/RM7h3iWFRYspaVW0nz/xH00wzFHKmSTZoiyGutiH
+bov/jPe6kZi1l25iL7VnoioZUhN+fA2fMsneNoqMqaLo9FVdHmqy8tXjPeSf/D/irwab3sjRPqqKiIm2
+SA3p+lP4x5bX0/G0muTc5NMO0CcKEaxAAB9NeUCzhAB4GvVPjpiepkJAIhj8r71/Mf2dPW/NaKZaTSfa
+5yDg5bLivGOWO9F+sY7tFSZLYnhWslRdPIyVTlcPY7rF6dZ3kiBv5u6Yxk3OHfte0RWtKLiLrLmzroqc
+UIJJXGQVK2new73d24v9trmqNWaYm3Jrxhm3mpPxUSpVFlWEHaLL3m8TYX2/cVu7IImDoC/GenB0mfFq
+uspN6CadQT/wOrvv28dba0g8Y6Uif8PSLpopu83ytDzI1RQm6xROEbtXyPBNOMyRgaNizI+jQ1WO52TA
+mRa6xp1dVgphyBFvLLXcZ9L5ragjLVw3vomx+yQMumaqVbH0kB/b4Kxc19ouc5mu0+ZCzqQWaVpcceTr
+SCUHRi9Q28wgNyx2mUlPRp+IYk9Gk3NkU/dmeOQ9br/M6BNRTA+VvzP6q2B9YfJf8J58JsAnSBb5AQUI
+kuuhRh4NPAEOGcWzBGRZViB/9zY8m/wOs5sqUpR1cxHtzQlBpCOthnJxL0XKQSsVI0XTSWbbo3ghbWK8
+MmKzcO6LmmZ4nBf32bosU3RcdjabXSmk+62jPLoM9dNUbU01q/zCU7CKIB4akXHQXAVjuc7L23u+DGM1
+Zv37wlVnIRXdbC+RozxawtpwZW0jdeSUwM2jLDO7hlP84gHX27JuKEsLZ/O5z7gFJxJ2qmE8lZTMpeYd
+7S23yp330OybY+levNjdlBueo9BaWP4y0Lkb7+lvJdQTj6nS+sj4wVhUeyp8vaO8pc0Rw0nEh+sl9nuU
+xLMt9tz1Z/H9YJ7FlZC00VoYHkEzUBP+tNz3kJmrRzGEe2CI3kfFpA+dNHBnDrm1+lS+vv4xdnoMvwNQ
+SwcIC2F3Z9UDAABNBwAAUEsBAhQAFAAICAgAAAAhAAthd2fVAwAATQcAAAgAAAAAAAAAAAAAAAAAAAAA
+AC5jb250ZW50UEsFBgAAAAABAAEANgAAAAsEAAAAAA==
+------=_contents/q7project/defaultWS.ctx-f62894c1-f639-3a4d-8b93-315b441db9df--
+------=_.q7.content-3d2e0690-ce48-3609-83e0-c704d49f1eaf
+Content-Type: q7/binary
+Entry-Name: .q7.content
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnSVUl1LwzAUfRf8DyHvJtaXSWkdOGX4
+IIgbTJ9Gm95tcWlSk1vbn2+6NRVE6fZSmuR85J6TZNqWinyBddLolEbsmhLQwhRSb1Na4+bqlk7vLi8S
+Y7cMhJKVA2ZFhcgEtqwxdu+qTEC8Cn8zoxFaJG0p40H3ptP1TtrFfj+lO8Qq5rxpGmbKLfPi/O35KUBG
+vAZ6wHT0A457HB9wlOis9OgXaz5A4EribpnlCpbg0FEii5SuVQTr5mFePsIin03m2eu7zPcN9RMTkohu
+FI2HhV9WRx3Xy35O+g3aAzxkIxWEcxaOCbQgauysU4q2Bsr/Zgy3Y+g/p/MK2GS1wtV9l9P5tMV5tGMj
+frgKLEpwI0yjCv8KQiaDZ2c5oH459LlHJyX4H3c8Qt7fLfTLQ8HH9vlP/Qk/9/l70jdQSwcIvjWahjgB
+AABbAwAAUEsBAhQAFAAICAgAAAAhAL41moY4AQAAWwMAAAgAAAAAAAAAAAAAAAAAAAAAAC5jb250ZW50
+UEsFBgAAAAABAAEANgAAAG4BAAAAAA==
+------=_.q7.content-3d2e0690-ce48-3609-83e0-c704d49f1eaf--
+------=_contents/q7project/.project-c016ecf2-017a-3eb3-b9aa-3e2860a66691
+Content-Type: q7/binary
+Entry-Name: contents/q7project/.project
+
+UEsDBBQACAgIAAAAIQAAAAAAAAAAAAAAAAAIAAAALmNvbnRlbnS1kUEOwiAQRdeaeIeme0FXdYE1UeMF
+1ANUOmkwLeBATY8vUGrTmC7dzfvzmT8Z2KFr6uQNaISS+3RLNmkCkqtSyGqf3m+X9S495Ksl06iewO0Z
+DEehrXM7dcFk0UD+ymKX0cC+wVXTgLQ5o0Pl1egzAeiEHq2oy6sG7iniyT0tZBmUmOWmkU4hlOSVEe4K
+EpyAjo99NW7hHhVYtT7eRKZTgdGfoNlohRUBXgttgCDX1v4lPyrDJVy0bRGiu4e5TULZW/wOwRomjjO+
+R59+5AdQSwcIDhq3cM8AAAAHAgAAUEsBAhQAFAAICAgAAAAhAA4at3DPAAAABwIAAAgAAAAAAAAAAAAA
+AAAAAAAAAC5jb250ZW50UEsFBgAAAAABAAEANgAAAAUBAAAAAA==
+------=_contents/q7project/.project-c016ecf2-017a-3eb3-b9aa-3e2860a66691--
diff --git a/rcpttTests/platform_tests/selfAUTTests/442980_ClassCastExceptions.test b/rcpttTests/platform_tests/selfAUTTests/442980_ClassCastExceptions.test
new file mode 100644
index 0000000..539d9e4
--- /dev/null
+++ b/rcpttTests/platform_tests/selfAUTTests/442980_ClassCastExceptions.test
@@ -0,0 +1,50 @@
+--- RCPTT testcase ---
+Format-Version: 1.0
+Contexts: _ymiyse5IEeCU6db9MgIBkA,_ZQYygK2sEeCqBbDEJWufvQ,_l1e_wDGmEeSbC7GaRYibkw
+Element-Name: 442980_ClassCastExceptions
+Element-Type: testcase
+Element-Version: 3.0
+External-Reference: https://bugs.eclipse.org/bugs/show_bug.cgi?id=442980
+Id: _y-nOoDGlEeSbC7GaRYibkw
+Runtime-Version: 1.5.0.201406020630
+Save-Time: 9/1/14 2:22 PM
+Testcase-Type: ecl
+
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa
+Content-Type: text/plain
+Entry-Name: .description
+
+Copyright (c) 2009, 2014 Xored Software Inc and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
+    Xored Software Inc - initial creation and/or initial documentation
+--------------------------------------------------------------------------------
+
+TEST STEPS:
+
+1. Run test with "select-rows", "exclude-rows", "write-csv-file" commands in Debug mode
+2. Make sure that test is passed
+------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa--
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac
+Content-Type: text/ecl
+Entry-Name: .content
+
+with [get-view "Test Explorer" | get-tree] {
+    select q7project | double-click
+    select "q7project/TableTest"
+}
+get-button Debug | click
+with [get-view "Execution View"] {
+    get-control Any -after [get-label "1/1"] | get-property "getChildren().Control[2].getText()" | equals 0 
+        | verify-true
+    get-editbox -after [get-label "Message:"] | get-property text 
+        | contains "cannot be cast to org.eclipse.rcptt.ecl.core.Command" | verify-false
+    get-editbox -after [get-label "Message:"] | get-property text 
+        | equals "" | verify-true
+}
+
+------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac--