Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Java model *in* ecore?
Java model *in* ecore? [message #414148] Fri, 26 October 2007 02:01 Go to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Just wondering if anyone haqs come across any efforts to build a
generic .ecore model for Java, with importers from source, natch. :)
Such a thing would be enormously useful for analysis and transformation
of existing java code..I'm not speaking of some kind of deep parsing of
methods of course, just down to the stubs, but including modifiers,
etc..
Re: Java model *in* ecore? [message #414151 is a reply to message #414148] Fri, 26 October 2007 12:19 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------000402080608090402040302
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Miles,

The org.eclipse.emf.java model does that. Its part of our examples, but
is based on JDOM so it doesn't handle Java 5.0. You'll find it in the
team project set file I've attached.


Miles Parker wrote:
>
> Just wondering if anyone haqs come across any efforts to build a
> generic .ecore model for Java, with importers from source, natch. :)
> Such a thing would be enormously useful for analysis and
> transformation of existing java code..I'm not speaking of some kind of
> deep parsing of methods of course, just down to the stubs, but
> including modifiers, etc..
>


--------------000402080608090402040302
Content-Type: text/xml;
name="emf.2.4.psf"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="emf.2.4.psf"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxwc2Yg dmVyc2lvbj0i
Mi4wIj4NCjxwcm92aWRlciBpZD0ib3JnLmVjbGlwc2UudGVhbS5jdnMuY29y ZS5jdnNuYXR1
cmUiPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNs aXBzZS5vcmc6
L2N2c3Jvb3QvdG9vbHMsb3JnLmVjbGlwc2Uub3JiaXQvbmV0LnNvdXJjZWZv cmdlLmxwZy5s
cGdqYXZhcnVudGltZSxuZXQuc291cmNlZm9yZ2UubHBnLmxwZ2phdmFydW50 aW1lLHYxXzAi
Lz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlw c2Uub3JnOi9j
dnNyb290L3Rvb2xzLG9yZy5lY2xpcHNlLm9yYml0L29yZy5hcGFjaGUuYmF0 aWssb3JnLmFw
YWNoZS5iYXRpayx2MV82Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6 ZXh0c3NoOmRl
di5lY2xpcHNlLm9yZzovY3Zzcm9vdC90b29scyxvcmcuZWNsaXBzZS5vcmJp dC9vcmcuYXBh
Y2hlLmJhdGlrLmJyaWRnZSxvcmcuYXBhY2hlLmJhdGlrLmJyaWRnZSx2MV82 Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC90
b29scyxvcmcuZWNsaXBzZS5vcmJpdC9vcmcuYXBhY2hlLmJhdGlrLmNzcyxv cmcuYXBhY2hl
LmJhdGlrLmNzcyx2MV82Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6 ZXh0c3NoOmRl
di5lY2xpcHNlLm9yZzovY3Zzcm9vdC90b29scyxvcmcuZWNsaXBzZS5vcmJp dC9vcmcuYXBh
Y2hlLmJhdGlrLmRvbSxvcmcuYXBhY2hlLmJhdGlrLmRvbSx2MV82Ii8+DQo8 cHJvamVjdCBy
ZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9v dC90b29scyxv
cmcuZWNsaXBzZS5vcmJpdC9vcmcuYXBhY2hlLmJhdGlrLmRvbS5zdmcsb3Jn LmFwYWNoZS5i
YXRpay5kb20uc3ZnLHYxXzYiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4w LDpleHRzc2g6
ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L3Rvb2xzLG9yZy5lY2xpcHNlLm9y Yml0L29yZy5h
cGFjaGUuYmF0aWsuZXh0LmF3dCxvcmcuYXBhY2hlLmJhdGlrLmV4dC5hd3Qs djFfNiIvPg0K
PHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5v cmc6L2N2c3Jv
b3QvdG9vbHMsb3JnLmVjbGlwc2Uub3JiaXQvb3JnLmFwYWNoZS5iYXRpay5l eHRlbnNpb24s
b3JnLmFwYWNoZS5iYXRpay5leHRlbnNpb24sdjFfNiIvPg0KPHByb2plY3Qg cmVmZXJlbmNl
PSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvdG9vbHMs b3JnLmVjbGlw
c2Uub3JiaXQvb3JnLmFwYWNoZS5iYXRpay5wYXJzZXIsb3JnLmFwYWNoZS5i YXRpay5wYXJz
ZXIsdjFfNiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvdG9vbHMsb3JnLmVjbGlwc2Uub3JiaXQvb3JnLmFw YWNoZS5iYXRp
ay5wZGYsb3JnLmFwYWNoZS5iYXRpay5wZGYsdjFfNiIvPg0KPHByb2plY3Qg cmVmZXJlbmNl
PSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvdG9vbHMs b3JnLmVjbGlw
c2Uub3JiaXQvb3JnLmFwYWNoZS5iYXRpay5zdmdnZW4sb3JnLmFwYWNoZS5i YXRpay5zdmdn
ZW4sdjFfNiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvdG9vbHMsb3JnLmVjbGlwc2Uub3JiaXQvb3JnLmFw YWNoZS5iYXRp
ay5zd2luZyxvcmcuYXBhY2hlLmJhdGlrLnN3aW5nLHYxXzYiLz4NCjxwcm9q ZWN0IHJlZmVy
ZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L3Rv b2xzLG9yZy5l
Y2xpcHNlLm9yYml0L29yZy5hcGFjaGUuYmF0aWsudHJhbnNjb2Rlcixvcmcu YXBhY2hlLmJh
dGlrLnRyYW5zY29kZXIsdjFfNiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIx LjAsOmV4dHNz
aDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvdG9vbHMsb3JnLmVjbGlwc2Uu b3JiaXQvb3Jn
LmFwYWNoZS5iYXRpay51dGlsLG9yZy5hcGFjaGUuYmF0aWsudXRpbCx2MV82 Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC90
b29scyxvcmcuZWNsaXBzZS5vcmJpdC9vcmcuYXBhY2hlLmJhdGlrLnV0aWwu Z3VpLG9yZy5h
cGFjaGUuYmF0aWsudXRpbC5ndWksdjFfNiIvPg0KPHByb2plY3QgcmVmZXJl bmNlPSIxLjAs
OmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvdG9vbHMsb3JnLmVj bGlwc2Uub3Ji
aXQvb3JnLmFwYWNoZS5iYXRpay54bWwsb3JnLmFwYWNoZS5iYXRpay54bWws djFfNiIvPg0K
PHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5v cmc6L2N2c3Jv
b3QvdG9vbHMsb3JnLmVjbGlwc2Uub3JiaXQvb3JnLmFwYWNoZS5jb21tb25z LmNsaSxvcmcu
YXBhY2hlLmNvbW1vbnMuY2xpLHYxXzAiLz4NCjxwcm9qZWN0IHJlZmVyZW5j ZT0iMS4wLDpl
eHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L3Rvb2xzLG9yZy5lY2xp cHNlLmdlZi9w
bHVnaW5zL29yZy5lY2xpcHNlLmRyYXcyZCxvcmcuZWNsaXBzZS5kcmF3MmQi Lz4NCjxwcm9q
ZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9j dnNyb290L21v
ZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvcGx1Z2lu cy9vcmcuZWNs
aXBzZS5lbWYsb3JnLmVjbGlwc2UuZW1mIi8+DQo8cHJvamVjdCByZWZlcmVu Y2U9IjEuMCw6
ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcu ZWNsaXBzZS5l
bWYvb3JnLmVjbGlwc2UuZW1mL2ZlYXR1cmVzL29yZy5lY2xpcHNlLmVtZi1m ZWF0dXJlLG9y
Zy5lY2xpcHNlLmVtZi1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9 IjEuMCw6ZXh0
c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNs aXBzZS5lbWYv
b3JnLmVjbGlwc2UuZW1mL2V4YW1wbGVzL29yZy5lY2xpcHNlLmVtZi5hY3Rp dml0aWVzLG9y
Zy5lY2xpcHNlLmVtZi5hY3Rpdml0aWVzIi8+DQo8cHJvamVjdCByZWZlcmVu Y2U9IjEuMCw6
ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcu ZWNsaXBzZS5l
bWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmFu dCxvcmcuZWNs
aXBzZS5lbWYuYW50Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYv b3JnLmVjbGlw
c2UuZW1mL2RvYy9vcmcuZWNsaXBzZS5lbWYuY2hlYXRzaGVldHMsb3JnLmVj bGlwc2UuZW1m
LmNoZWF0c2hlZXRzIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYv b3JnLmVjbGlw
c2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4sb3JnLmVj bGlwc2UuZW1m
LmNvZGVnZW4iLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6 ZGV2LmVjbGlw
c2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcu ZWNsaXBzZS5l
bWYvZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4tZmVhdHVyZSxv cmcuZWNsaXBz
ZS5lbWYuY29kZWdlbi1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9 IjEuMCw6ZXh0
c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNs aXBzZS5lbWYv
b3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvZGVn ZW4uZWNvcmUs
b3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4uZWNvcmUiLz4NCjxwcm9qZWN0IHJl ZmVyZW5jZT0i
MS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5n LG9yZy5lY2xp
cHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2Uu ZW1mLmNvZGVn
ZW4uZWNvcmUtZmVhdHVyZSxvcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5lY29y ZS1mZWF0dXJl
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2Uu ZW1mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4uZWNvcmUudWksb3JnLmVjbGlw c2UuZW1mLmNv
ZGVnZW4uZWNvcmUudWkiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVt Zi9vcmcuZWNs
aXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4uZWNv cmUudWktZmVh
dHVyZSxvcmcuZWNsaXBzZS5lbWYuY29kZWdlbi5lY29yZS51aS1mZWF0dXJl Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC9t
b2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdp bnMvb3JnLmVj
bGlwc2UuZW1mLmNvZGVnZW4udWksb3JnLmVjbGlwc2UuZW1mLmNvZGVnZW4u dWkiLz4NCjxw
cm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3Jn Oi9jdnNyb290
L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZmVh dHVyZXMvb3Jn
LmVjbGlwc2UuZW1mLmNvZGVnZW4udWktZmVhdHVyZSxvcmcuZWNsaXBzZS5l bWYuY29kZWdl
bi51aS1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYv b3JnLmVjbGlw
c2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbixvcmcuZWNs aXBzZS5lbWYu
Y29tbW9uIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRl di5lY2xpcHNl
Lm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVj bGlwc2UuZW1m
L2ZlYXR1cmVzL29yZy5lY2xpcHNlLmVtZi5jb21tb24tZmVhdHVyZSxvcmcu ZWNsaXBzZS5l
bWYuY29tbW9uLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4w LDpleHRzc2g6
ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNl LmVtZi9vcmcu
ZWNsaXBzZS5lbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYuY29tbW9uLnVp LG9yZy5lY2xp
cHNlLmVtZi5jb21tb24udWkiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4w LDpleHRzc2g6
ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNl LmVtZi9vcmcu
ZWNsaXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmNvbW1vbi51 aS1mZWF0dXJl
LG9yZy5lY2xpcHNlLmVtZi5jb21tb24udWktZmVhdHVyZSIvPg0KPHByb2pl Y3QgcmVmZXJl
bmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9k ZWxpbmcsb3Jn
LmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi5lY29yZS5zZG8vcGx1Z2lu cy9vcmcuZWNs
aXBzZS5lbWYuY29tbW9uai5zZG8sb3JnLmVjbGlwc2UuZW1mLmNvbW1vbmou c2RvIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3Bs dWdpbnMvb3Jn
LmVjbGlwc2UuZW1mLmNvbnZlcnRlcixvcmcuZWNsaXBzZS5lbWYuY29udmVy dGVyIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL2Zl YXR1cmVzL29y
Zy5lY2xpcHNlLmVtZi5jb252ZXJ0ZXItZmVhdHVyZSxvcmcuZWNsaXBzZS5l bWYuY29udmVy
dGVyLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9v cmcuZWNsaXBz
ZS5lbWYvZG9jL29yZy5lY2xpcHNlLmVtZi5kb2Msb3JnLmVjbGlwc2UuZW1m LmRvYyIvPg0K
PHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5v cmc6L2N2c3Jv
b3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi9k b2Mvb3JnLmVj
bGlwc2UuZW1mLmRvYy1mZWF0dXJlLG9yZy5lY2xpcHNlLmVtZi5kb2MtZmVh dHVyZSIvPg0K
PHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5v cmc6L2N2c3Jv
b3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi9w bHVnaW5zL29y
Zy5lY2xpcHNlLmVtZi5lY29yZSxvcmcuZWNsaXBzZS5lbWYuZWNvcmUiLz4N Cjxwcm9qZWN0
IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNy b290L21vZGVs
aW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZmVhdHVyZXMv b3JnLmVjbGlw
c2UuZW1mLmVjb3JlLWZlYXR1cmUsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLWZl YXR1cmUiLz4N
Cjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uu b3JnOi9jdnNy
b290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYv cGx1Z2lucy9v
cmcuZWNsaXBzZS5lbWYuZWNvcmUuY2hhbmdlLG9yZy5lY2xpcHNlLmVtZi5l Y29yZS5jaGFu
Z2UiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVj bGlwc2Uub3Jn
Oi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBz ZS5lbWYvcGx1
Z2lucy9vcmcuZWNsaXBzZS5lbWYuZWNvcmUuY2hhbmdlLmVkaXQsb3JnLmVj bGlwc2UuZW1m
LmVjb3JlLmNoYW5nZS5lZGl0Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEu MCw6ZXh0c3No
OmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBz ZS5lbWYvb3Jn
LmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLmVk aXQsb3JnLmVj
bGlwc2UuZW1mLmVjb3JlLmVkaXQiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLmVtZi9v
cmcuZWNsaXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmVjb3Jl LmVkaXQtZmVh
dHVyZSxvcmcuZWNsaXBzZS5lbWYuZWNvcmUuZWRpdC1mZWF0dXJlIi8+DQo8 cHJvamVjdCBy
ZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9v dC9tb2RlbGlu
ZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3Jn LmVjbGlwc2Uu
ZW1mLmVjb3JlLmVkaXRvcixvcmcuZWNsaXBzZS5lbWYuZWNvcmUuZWRpdG9y Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC9t
b2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL2ZlYXR1 cmVzL29yZy5l
Y2xpcHNlLmVtZi5lY29yZS5lZGl0b3ItZmVhdHVyZSxvcmcuZWNsaXBzZS5l bWYuZWNvcmUu
ZWRpdG9yLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVt Zi9vcmcuZWNs
aXBzZS5lbWYuZWNvcmUuc2RvL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLmVj b3JlLnNkbyxv
cmcuZWNsaXBzZS5lbWYuZWNvcmUuc2RvIi8+DQo8cHJvamVjdCByZWZlcmVu Y2U9IjEuMCw6
ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcu ZWNsaXBzZS5l
bWYvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby9mZWF0dXJlcy9vcmcuZWNs aXBzZS5lbWYu
ZWNvcmUuc2RvLWZlYXR1cmUsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby1m ZWF0dXJlIi8+
DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNl Lm9yZzovY3Zz
cm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1m LmVjb3JlLnNk
by9kb2Mvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5kb2Msb3JnLmVjbGlw c2UuZW1mLmVj
b3JlLnNkby5kb2MiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9v cmcuZWNsaXBz
ZS5lbWYuZWNvcmUuc2RvL2RvYy9vcmcuZWNsaXBzZS5lbWYuZWNvcmUuc2Rv LmRvYy1mZWF0
dXJlLG9yZy5lY2xpcHNlLmVtZi5lY29yZS5zZG8uZG9jLWZlYXR1cmUiLz4N Cjxwcm9qZWN0
IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNy b290L21vZGVs
aW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYuZWNvcmUuc2Rv L3BsdWdpbnMv
b3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5lZGl0LG9yZy5lY2xpcHNlLmVt Zi5lY29yZS5z
ZG8uZWRpdCIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5l Y2xpcHNlLmVt
Zi5lY29yZS5zZG8vZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNk by5lZGl0LWZl
YXR1cmUsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5lZGl0LWZlYXR1cmUi Lz4NCjxwcm9q
ZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9j dnNyb290L21v
ZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYuZWNvcmUu c2RvL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5lZGl0b3Isb3JnLmVjbGlw c2UuZW1mLmVj
b3JlLnNkby5lZGl0b3IiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVt Zi9vcmcuZWNs
aXBzZS5lbWYuZWNvcmUuc2RvL2ZlYXR1cmVzL29yZy5lY2xpcHNlLmVtZi5l Y29yZS5zZG8u
ZWRpdG9yLWZlYXR1cmUsb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5lZGl0 b3ItZmVhdHVy
ZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNs aXBzZS5vcmc6
L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNl LmVtZi5lY29y
ZS5zZG8vZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLmVjb3JlLnNkby5zZGst ZmVhdHVyZSxv
cmcuZWNsaXBzZS5lbWYuZWNvcmUuc2RvLnNkay1mZWF0dXJlIi8+DQo8cHJv amVjdCByZWZl
cmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9t b2RlbGluZyxv
cmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVj bGlwc2UuZW1m
LmVjb3JlLnhtaSxvcmcuZWNsaXBzZS5lbWYuZWNvcmUueG1pIi8+DQo8cHJv amVjdCByZWZl
cmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9t b2RlbGluZyxv
cmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVj bGlwc2UuZW1m
LmVkaXQsb3JnLmVjbGlwc2UuZW1mLmVkaXQiLz4NCjxwcm9qZWN0IHJlZmVy ZW5jZT0iMS4w
LDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9y Zy5lY2xpcHNl
LmVtZi9vcmcuZWNsaXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1m LmVkaXQtZmVh
dHVyZSxvcmcuZWNsaXBzZS5lbWYuZWRpdC1mZWF0dXJlIi8+DQo8cHJvamVj dCByZWZlcmVu
Y2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2Rl bGluZyxvcmcu
ZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlw c2UuZW1mLmVk
aXQudWksb3JnLmVjbGlwc2UuZW1mLmVkaXQudWkiLz4NCjxwcm9qZWN0IHJl ZmVyZW5jZT0i
MS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5n LG9yZy5lY2xp
cHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZmVhdHVyZXMvb3JnLmVjbGlwc2Uu ZW1mLmVkaXQu
dWktZmVhdHVyZSxvcmcuZWNsaXBzZS5lbWYuZWRpdC51aS1mZWF0dXJlIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL2V4YW1wbGVz L29yZy5lY2xp
cHNlLmVtZi5leGFtcGxlcyxvcmcuZWNsaXBzZS5lbWYuZXhhbXBsZXMiLz4N Cjxwcm9qZWN0
IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNy b290L21vZGVs
aW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZXhhbXBsZXMv b3JnLmVjbGlw
c2UuZW1mLmV4YW1wbGVzLWZlYXR1cmUsb3JnLmVjbGlwc2UuZW1mLmV4YW1w bGVzLWZlYXR1
cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVj bGlwc2Uub3Jn
Oi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBz ZS5lbWYvZXhh
bXBsZXMvb3JnLmVjbGlwc2UuZW1mLmV4YW1wbGVzLmdlbmVyYXRvci52YWxp ZGF0b3Isb3Jn
LmVjbGlwc2UuZW1mLmV4YW1wbGVzLmdlbmVyYXRvci52YWxpZGF0b3IiLz4N Cjxwcm9qZWN0
IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNy b290L21vZGVs
aW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZG9jL29yZy5l Y2xpcHNlLmVt
Zi5leGFtcGxlcy5qZXQuYXJ0aWNsZTIsb3JnLmVjbGlwc2UuZW1mLmV4YW1w bGVzLmpldC5h
cnRpY2xlMiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5l Y2xpcHNlLmVt
Zi9leGFtcGxlcy9vcmcuZWNsaXBzZS5lbWYuZXhhbXBsZXMubGlicmFyeSxv cmcuZWNsaXBz
ZS5lbWYuZXhhbXBsZXMubGlicmFyeSIvPg0KPHByb2plY3QgcmVmZXJlbmNl PSIxLjAsOmV4
dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVj bGlwc2UuZW1m
L29yZy5lY2xpcHNlLmVtZi9leGFtcGxlcy9vcmcuZWNsaXBzZS5lbWYuZXhh bXBsZXMubGli
cmFyeS5lZGl0LG9yZy5lY2xpcHNlLmVtZi5leGFtcGxlcy5saWJyYXJ5LmVk aXQiLz4NCjxw
cm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3Jn Oi9jdnNyb290
L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZXhh bXBsZXMvb3Jn
LmVjbGlwc2UuZW1mLmV4YW1wbGVzLmxpYnJhcnkuZWRpdG9yLG9yZy5lY2xp cHNlLmVtZi5l
eGFtcGxlcy5saWJyYXJ5LmVkaXRvciIvPg0KPHByb2plY3QgcmVmZXJlbmNl PSIxLjAsOmV4
dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVj bGlwc2UuZW1m
L29yZy5lY2xpcHNlLmVtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi5leHBv cnRlcixvcmcu
ZWNsaXBzZS5lbWYuZXhwb3J0ZXIiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLmVtZi9v
cmcuZWNsaXBzZS5lbWYvZXhhbXBsZXMvb3JnLmVjbGlwc2UuZW1mLmV4cG9y dGVyLmh0bWws
b3JnLmVjbGlwc2UuZW1mLmV4cG9ydGVyLmh0bWwiLz4NCjxwcm9qZWN0IHJl ZmVyZW5jZT0i
MS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5n LG9yZy5lY2xp
cHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5l bWYuaW1wb3J0
ZXIsb3JnLmVjbGlwc2UuZW1mLmltcG9ydGVyIi8+DQo8cHJvamVjdCByZWZl cmVuY2U9IjEu
MCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxv cmcuZWNsaXBz
ZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1m LmltcG9ydGVy
LmVjb3JlLG9yZy5lY2xpcHNlLmVtZi5pbXBvcnRlci5lY29yZSIvPg0KPHBy b2plY3QgcmVm
ZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3Qv bW9kZWxpbmcs
b3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi9wbHVnaW5zL29yZy5l Y2xpcHNlLmVt
Zi5pbXBvcnRlci5qYXZhLG9yZy5lY2xpcHNlLmVtZi5pbXBvcnRlci5qYXZh Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC9t
b2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL3BsdWdp bnMvb3JnLmVj
bGlwc2UuZW1mLmltcG9ydGVyLnJvc2Usb3JnLmVjbGlwc2UuZW1mLmltcG9y dGVyLnJvc2Ui
Lz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlw c2Uub3JnOi9j
dnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5l bWYvZXhhbXBs
ZXMvb3JnLmVjbGlwc2UuZW1mLmphdmEsb3JnLmVjbGlwc2UuZW1mLmphdmEi Lz4NCjxwcm9q
ZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9j dnNyb290L21v
ZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvZXhhbXBs ZXMvb3JnLmVj
bGlwc2UuZW1mLmphdmEuZWRpdCxvcmcuZWNsaXBzZS5lbWYuamF2YS5lZGl0 Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC9t
b2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL2V4YW1w bGVzL29yZy5l
Y2xpcHNlLmVtZi5qYXZhLmVkaXRvcixvcmcuZWNsaXBzZS5lbWYuamF2YS5l ZGl0b3IiLz4N
Cjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uu b3JnOi9jdnNy
b290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYv cGx1Z2lucy9v
cmcuZWNsaXBzZS5lbWYubWFwcGluZyxvcmcuZWNsaXBzZS5lbWYubWFwcGlu ZyIvPg0KPHBy
b2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6 L2N2c3Jvb3Qv
bW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi9mZWF0 dXJlcy9vcmcu
ZWNsaXBzZS5lbWYubWFwcGluZy1mZWF0dXJlLG9yZy5lY2xpcHNlLmVtZi5t YXBwaW5nLWZl
YXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2 LmVjbGlwc2Uu
b3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNs aXBzZS5lbWYv
ZmVhdHVyZXMvb3JnLmVjbGlwc2UuZW1mLm1hcHBpbmcuZWNvcmUtZmVhdHVy ZSxvcmcuZWNs
aXBzZS5lbWYubWFwcGluZy5lY29yZS1mZWF0dXJlIi8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1mL2ZlYXR1cmVzL29yZy5lY2xpcHNl LmVtZi5tYXBw
aW5nLmVjb3JlLmVkaXRvci1mZWF0dXJlLG9yZy5lY2xpcHNlLmVtZi5tYXBw aW5nLmVjb3Jl
LmVkaXRvci1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6 ZXh0c3NoOmRl
di5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5l bWYvb3JnLmVj
bGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm1hcHBpbmcuZWNv cmUyZWNvcmUs
b3JnLmVjbGlwc2UuZW1mLm1hcHBpbmcuZWNvcmUyZWNvcmUiLz4NCjxwcm9q ZWN0IHJlZmVy
ZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21v ZGVsaW5nLG9y
Zy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYvcGx1Z2lucy9vcmcuZWNs aXBzZS5lbWYu
bWFwcGluZy5lY29yZTJlY29yZS5lZGl0b3Isb3JnLmVjbGlwc2UuZW1mLm1h cHBpbmcuZWNv
cmUyZWNvcmUuZWRpdG9yIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6 ZXh0c3NoOmRl
di5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5l bWYvb3JnLmVj
bGlwc2UuZW1mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm1hcHBpbmcuZWNv cmUyeG1sLG9y
Zy5lY2xpcHNlLmVtZi5tYXBwaW5nLmVjb3JlMnhtbCIvPg0KPHByb2plY3Qg cmVmZXJlbmNl
PSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxp bmcsb3JnLmVj
bGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi9wbHVnaW5zL29yZy5lY2xpcHNl LmVtZi5tYXBw
aW5nLmVjb3JlMnhtbC51aSxvcmcuZWNsaXBzZS5lbWYubWFwcGluZy5lY29y ZTJ4bWwudWki
Lz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlw c2Uub3JnOi9j
dnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5l bWYvcGx1Z2lu
cy9vcmcuZWNsaXBzZS5lbWYubWFwcGluZy51aSxvcmcuZWNsaXBzZS5lbWYu bWFwcGluZy51
aSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNs aXBzZS5vcmc6
L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNl LmVtZi9mZWF0
dXJlcy9vcmcuZWNsaXBzZS5lbWYubWFwcGluZy51aS1mZWF0dXJlLG9yZy5l Y2xpcHNlLmVt
Zi5tYXBwaW5nLnVpLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLm1kdC9v
cmcuZWNsaXBzZS54c2QvcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYubWFwcGlu Zy54c2QyZWNv
cmUsb3JnLmVjbGlwc2UuZW1mLm1hcHBpbmcueHNkMmVjb3JlIi8+DQo8cHJv amVjdCByZWZl
cmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9t b2RlbGluZyxv
cmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UueHNkL3BsdWdpbnMvb3JnLmVj bGlwc2UuZW1m
Lm1hcHBpbmcueHNkMmVjb3JlLmVkaXRvcixvcmcuZWNsaXBzZS5lbWYubWFw cGluZy54c2Qy
ZWNvcmUuZWRpdG9yIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQv b3JnLmVjbGlw
c2Uub2NsL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLm9jbCxvcmcuZWNsaXBz ZS5lbWYub2Ns
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2Uu ZW1mLnF1ZXJ5
L3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLnF1ZXJ5LG9yZy5lY2xpcHNlLmVt Zi5xdWVyeSIv
Pg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBz ZS5vcmc6L2N2
c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xpcHNlLmVt Zi5xdWVyeS9w
bHVnaW5zL29yZy5lY2xpcHNlLmVtZi5xdWVyeS5vY2wsb3JnLmVjbGlwc2Uu ZW1mLnF1ZXJ5
Lm9jbCIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYu ZWNsaXBzZS5v
cmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5lY2xp cHNlLmVtZi9m
ZWF0dXJlcy9vcmcuZWNsaXBzZS5lbWYuc2RrLWZlYXR1cmUsb3JnLmVjbGlw c2UuZW1mLnNk
ay1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3No OmRldi5lY2xp
cHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3Jn LmVjbGlwc2Uu
ZW1mL3Rlc3RzL29yZy5lY2xpcHNlLmVtZi50ZXN0LmJ1aWxkLG9yZy5lY2xp cHNlLmVtZi50
ZXN0LmJ1aWxkIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3No OmRldi5lY2xp
cHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3Jn LmVjbGlwc2Uu
ZW1mL3Rlc3RzL29yZy5lY2xpcHNlLmVtZi50ZXN0LmNvbW1vbixvcmcuZWNs aXBzZS5lbWYu
dGVzdC5jb21tb24iLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9v cmcuZWNsaXBz
ZS5lbWYvdGVzdHMvb3JnLmVjbGlwc2UuZW1mLnRlc3QuY29yZSxvcmcuZWNs aXBzZS5lbWYu
dGVzdC5jb3JlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3No OmRldi5lY2xp
cHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3Jn LmVjbGlwc2Uu
ZW1mL3Rlc3RzL29yZy5lY2xpcHNlLmVtZi50ZXN0LmVkaXQsb3JnLmVjbGlw c2UuZW1mLnRl
c3QuZWRpdCIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5l Y2xpcHNlLmVt
Zi90ZXN0cy9vcmcuZWNsaXBzZS5lbWYudGVzdC5leGFtcGxlcyxvcmcuZWNs aXBzZS5lbWYu
dGVzdC5leGFtcGxlcyIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4 dHNzaDpkZXYu
ZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1m L29yZy5lY2xp
cHNlLmVtZi90ZXN0cy9vcmcuZWNsaXBzZS5lbWYudGVzdC5wZXJmb3JtYW5j ZSxvcmcuZWNs
aXBzZS5lbWYudGVzdC5wZXJmb3JtYW5jZSIvPg0KPHByb2plY3QgcmVmZXJl bmNlPSIxLjAs
OmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3Jn LmVjbGlwc2Uu
ZW1mL29yZy5lY2xpcHNlLmVtZi90ZXN0cy9vcmcuZWNsaXBzZS5lbWYudGVz dC5zZG8sb3Jn
LmVjbGlwc2UuZW1mLnRlc3Quc2RvIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9 IjEuMCw6ZXh0
c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNs aXBzZS5lbWYv
b3JnLmVjbGlwc2UuZW1mL3Rlc3RzL29yZy5lY2xpcHNlLmVtZi50ZXN0LnRv b2xzLG9yZy5l
Y2xpcHNlLmVtZi50ZXN0LnRvb2xzIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9 IjEuMCw6ZXh0
c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNs aXBzZS5lbWYv
b3JnLmVjbGlwc2UuZW1mL3Rlc3RzL29yZy5lY2xpcHNlLmVtZi50ZXN0Lnht bCxvcmcuZWNs
aXBzZS5lbWYudGVzdC54bWwiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4w LDpleHRzc2g6
ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNl LmVtZi9vcmcu
ZWNsaXBzZS5lbWYvdGVzdHMvb3JnLmVjbGlwc2UuZW1mLnRlc3RzLG9yZy5l Y2xpcHNlLmVt
Zi50ZXN0cyIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29yZy5l Y2xpcHNlLmVt
Zi90ZXN0cy9vcmcuZWNsaXBzZS5lbWYudGVzdHMtZmVhdHVyZSxvcmcuZWNs aXBzZS5lbWYu
dGVzdHMtZmVhdHVyZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4 dHNzaDpkZXYu
ZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1m L29yZy5lY2xp
cHNlLmVtZi50cmFuc2FjdGlvbi9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi50 cmFuc2FjdGlv
bixvcmcuZWNsaXBzZS5lbWYudHJhbnNhY3Rpb24iLz4NCjxwcm9qZWN0IHJl ZmVyZW5jZT0i
MS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5n LG9yZy5lY2xp
cHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYudHJhbnNhY3Rpb24vcGx1Z2lucy9v cmcuZWNsaXBz
ZS5lbWYudHJhbnNhY3Rpb24udWksb3JnLmVjbGlwc2UuZW1mLnRyYW5zYWN0 aW9uLnVpIi8+
DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNl Lm9yZzovY3Zz
cm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5lbWYvb3JnLmVjbGlwc2UuZW1m LnZhbGlkYXRp
b24vcGx1Z2lucy9vcmcuZWNsaXBzZS5lbWYudmFsaWRhdGlvbixvcmcuZWNs aXBzZS5lbWYu
dmFsaWRhdGlvbiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNz aDpkZXYuZWNs
aXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZW1mL29y Zy5lY2xpcHNl
LmVtZi52YWxpZGF0aW9uL3BsdWdpbnMvb3JnLmVjbGlwc2UuZW1mLnZhbGlk YXRpb24ub2Ns
LG9yZy5lY2xpcHNlLmVtZi52YWxpZGF0aW9uLm9jbCIvPg0KPHByb2plY3Qg cmVmZXJlbmNl
PSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxp bmcsb3JnLmVj
bGlwc2UuZW1mL29yZy5lY2xpcHNlLmVtZi52YWxpZGF0aW9uL3BsdWdpbnMv b3JnLmVjbGlw
c2UuZW1mLnZhbGlkYXRpb24udWksb3JnLmVjbGlwc2UuZW1mLnZhbGlkYXRp b24udWkiLz4N
Cjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uu b3JnOi9jdnNy
b290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYu dmFsaWRhdGlv
bi9wbHVnaW5zL29yZy5lY2xpcHNlLmVtZi52YWxpZGF0aW9uLnVpLmlkZSxv cmcuZWNsaXBz
ZS5lbWYudmFsaWRhdGlvbi51aS5pZGUiLz4NCjxwcm9qZWN0IHJlZmVyZW5j ZT0iMS4wLDpl
eHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5l Y2xpcHNlLmVt
Zi9vcmcuZWNsaXBzZS5lbWYudHJhbnNhY3Rpb24vcGx1Z2lucy9vcmcuZWNs aXBzZS5lbWYu
d29ya3NwYWNlLG9yZy5lY2xpcHNlLmVtZi53b3Jrc3BhY2UiLz4NCjxwcm9q ZWN0IHJlZmVy
ZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21v ZGVsaW5nLG9y
Zy5lY2xpcHNlLmVtZi9vcmcuZWNsaXBzZS5lbWYudHJhbnNhY3Rpb24vcGx1 Z2lucy9vcmcu
ZWNsaXBzZS5lbWYud29ya3NwYWNlLnVpLG9yZy5lY2xpcHNlLmVtZi53b3Jr c3BhY2UudWki
Lz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlw c2Uub3JnOi9j
dnNyb290L3Rvb2xzLG9yZy5lY2xpcHNlLmdlZi9wbHVnaW5zL29yZy5lY2xp cHNlLmdlZixv
cmcuZWNsaXBzZS5nZWYiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdt Zi9wbHVnaW5z
L29yZy5lY2xpcHNlLmdtZixvcmcuZWNsaXBzZS5nbWYiLz4NCjxwcm9qZWN0 IHJlZmVyZW5j
ZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVs aW5nLG9yZy5l
Y2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5icmlkZ2Usb3Jn LmVjbGlwc2Uu
Z21mLmJyaWRnZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNz aDpkZXYuZWNs
aXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3Bs dWdpbnMvb3Jn
LmVjbGlwc2UuZ21mLmJyaWRnZS50cmFjZSxvcmcuZWNsaXBzZS5nbWYuYnJp ZGdlLnRyYWNl
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcu ZWNsaXBzZS5n
bWYuYnJpZGdlLnVpLG9yZy5lY2xpcHNlLmdtZi5icmlkZ2UudWkiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L21vZGVsaW5n
LG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5icmlk Z2UudWkuZGFz
aGJvYXJkLG9yZy5lY2xpcHNlLmdtZi5icmlkZ2UudWkuZGFzaGJvYXJkIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYu Y29kZWdlbixv
cmcuZWNsaXBzZS5nbWYuY29kZWdlbiIvPg0KPHByb2plY3QgcmVmZXJlbmNl PSIxLjAsOmV4
dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVj bGlwc2UuZ21m
L3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLmNvZGVnZW4uZWRpdCxvcmcuZWNs aXBzZS5nbWYu
Y29kZWdlbi5lZGl0Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYv cGx1Z2lucy9v
cmcuZWNsaXBzZS5nbWYuY29kZWdlbi5saXRlLG9yZy5lY2xpcHNlLmdtZi5j b2RlZ2VuLmxp
dGUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVj bGlwc2Uub3Jn
Oi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29y Zy5lY2xpcHNl
LmdtZi5jb2RlZ2VuLmxpdGUudWksb3JnLmVjbGlwc2UuZ21mLmNvZGVnZW4u bGl0ZS51aSIv
Pg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBz ZS5vcmc6L2N2
c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVj bGlwc2UuZ21m
LmNvZGVnZW4udWksb3JnLmVjbGlwc2UuZ21mLmNvZGVnZW4udWkiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L21vZGVsaW5n
LG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5jb21t b24sb3JnLmVj
bGlwc2UuZ21mLmNvbW1vbiIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL2V4YW1w
bGVzL29yZy5lY2xpcHNlLmdtZi5lY29yZS5lZGl0b3Isb3JnLmVjbGlwc2Uu Z21mLmVjb3Jl
LmVkaXRvciIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpk ZXYuZWNsaXBz
ZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL2V4YW1w bGVzL29yZy5l
Y2xpcHNlLmdtZi5leGFtcGxlcy5ydW50aW1lLmRpYWdyYW0ubG9naWMubW9k ZWwsb3JnLmVj
bGlwc2UuZ21mLmV4YW1wbGVzLnJ1bnRpbWUuZGlhZ3JhbS5sb2dpYy5tb2Rl bCIvPg0KPHBy
b2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6 L2N2c3Jvb3Qv
bW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2Uu Z21mLmdyYXBo
ZGVmLG9yZy5lY2xpcHNlLmdtZi5ncmFwaGRlZiIvPg0KPHByb2plY3QgcmVm ZXJlbmNlPSIx
LjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcs b3JnLmVjbGlw
c2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLmdyYXBoZGVmLmNvZGVn ZW4sb3JnLmVj
bGlwc2UuZ21mLmdyYXBoZGVmLmNvZGVnZW4iLz4NCjxwcm9qZWN0IHJlZmVy ZW5jZT0iMS4w
LDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9y Zy5lY2xpcHNl
LmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5ncmFwaGRlZi5jb2RlZ2Vu LnVpLG9yZy5l
Y2xpcHNlLmdtZi5ncmFwaGRlZi5jb2RlZ2VuLnVpIi8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYuZ3JhcGhkZWYuZWRp dCxvcmcuZWNs
aXBzZS5nbWYuZ3JhcGhkZWYuZWRpdCIvPg0KPHByb2plY3QgcmVmZXJlbmNl PSIxLjAsOmV4
dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVj bGlwc2UuZ21m
L3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLmdyYXBoZGVmLmVkaXRvcixvcmcu ZWNsaXBzZS5n
bWYuZ3JhcGhkZWYuZWRpdG9yIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEu MCw6ZXh0c3No
OmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBz ZS5nbWYvcGx1
Z2lucy9vcmcuZWNsaXBzZS5nbWYubWFwLG9yZy5lY2xpcHNlLmdtZi5tYXAi Lz4NCjxwcm9q
ZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9j dnNyb290L21v
ZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdt Zi5tYXAuZWRp
dCxvcmcuZWNsaXBzZS5nbWYubWFwLmVkaXQiLz4NCjxwcm9qZWN0IHJlZmVy ZW5jZT0iMS4w
LDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9y Zy5lY2xpcHNl
LmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5tYXAuZWRpdG9yLG9yZy5l Y2xpcHNlLmdt
Zi5tYXAuZWRpdG9yIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYv cGx1Z2lucy9v
cmcuZWNsaXBzZS5nbWYucnVudGltZS5jb21tb24uY29yZSxvcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5jb21tb24uY29yZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuY29tbW9uLnVpLG9yZy5lY2xp cHNlLmdtZi5y
dW50aW1lLmNvbW1vbi51aSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuY29tbW9uLnVpLmFjdGlvbixv cmcuZWNsaXBz
ZS5nbWYucnVudGltZS5jb21tb24udWkuYWN0aW9uIi8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYucnVudGltZS5jb21t b24udWkuYWN0
aW9uLmlkZSxvcmcuZWNsaXBzZS5nbWYucnVudGltZS5jb21tb24udWkuYWN0 aW9uLmlkZSIv
Pg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBz ZS5vcmc6L2N2
c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVj bGlwc2UuZ21m
LnJ1bnRpbWUuY29tbW9uLnVpLnByaW50aW5nLG9yZy5lY2xpcHNlLmdtZi5y dW50aW1lLmNv
bW1vbi51aS5wcmludGluZyIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuY29tbW9uLnVpLnByaW50aW5n LndpbjMyLG9y
Zy5lY2xpcHNlLmdtZi5ydW50aW1lLmNvbW1vbi51aS5wcmludGluZy53aW4z MiIvPg0KPHBy
b2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6 L2N2c3Jvb3Qv
bW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2Uu Z21mLnJ1bnRp
bWUuY29tbW9uLnVpLnNlcnZpY2VzLG9yZy5lY2xpcHNlLmdtZi5ydW50aW1l LmNvbW1vbi51
aS5zZXJ2aWNlcyIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNz aDpkZXYuZWNs
aXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3Bs dWdpbnMvb3Jn
LmVjbGlwc2UuZ21mLnJ1bnRpbWUuY29tbW9uLnVpLnNlcnZpY2VzLmFjdGlv bixvcmcuZWNs
aXBzZS5nbWYucnVudGltZS5jb21tb24udWkuc2VydmljZXMuYWN0aW9uIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYu cnVudGltZS5j
b21tb24udWkuc2VydmljZXMuZG5kLG9yZy5lY2xpcHNlLmdtZi5ydW50aW1l LmNvbW1vbi51
aS5zZXJ2aWNlcy5kbmQiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdt Zi9wbHVnaW5z
L29yZy5lY2xpcHNlLmdtZi5ydW50aW1lLmNvbW1vbi51aS5zZXJ2aWNlcy5k bmQuaWRlLG9y
Zy5lY2xpcHNlLmdtZi5ydW50aW1lLmNvbW1vbi51aS5zZXJ2aWNlcy5kbmQu aWRlIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5jb21tb24udWkuc2VydmljZXMucHJvcGVydGllcyxvcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5jb21tb24udWkuc2VydmljZXMucHJvcGVydGllcyIvPg0KPHByb2pl Y3QgcmVmZXJl
bmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9k ZWxpbmcsb3Jn
LmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUu ZGlhZ3JhbS5j
b3JlLG9yZy5lY2xpcHNlLmdtZi5ydW50aW1lLmRpYWdyYW0uY29yZSIvPg0K PHByb2plY3Qg
cmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jv b3QvbW9kZWxp
bmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLnJ1 bnRpbWUuZGlh
Z3JhbS51aSxvcmcuZWNsaXBzZS5nbWYucnVudGltZS5kaWFncmFtLnVpIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYu cnVudGltZS5k
aWFncmFtLnVpLmFjdGlvbnMsb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZGlh Z3JhbS51aS5h
Y3Rpb25zIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRl di5lY2xpcHNl
Lm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lu cy9vcmcuZWNs
aXBzZS5nbWYucnVudGltZS5kaWFncmFtLnVpLmRuZCxvcmcuZWNsaXBzZS5n bWYucnVudGlt
ZS5kaWFncmFtLnVpLmRuZCIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5nZW9zaGFw ZXMsb3JnLmVj
bGlwc2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5nZW9zaGFwZXMiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L21vZGVsaW5n
LG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5ydW50 aW1lLmRpYWdy
YW0udWkucHJpbnRpbmcsb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZGlhZ3Jh bS51aS5wcmlu
dGluZyIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYu ZWNsaXBzZS5v
cmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMv b3JnLmVjbGlw
c2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5wcmludGluZy5yZW5kZXIsb3Jn LmVjbGlwc2Uu
Z21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5wcmludGluZy5yZW5kZXIiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L21vZGVsaW5n
LG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5ydW50 aW1lLmRpYWdy
YW0udWkucHJvcGVydGllcyxvcmcuZWNsaXBzZS5nbWYucnVudGltZS5kaWFn cmFtLnVpLnBy
b3BlcnRpZXMiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6 ZGV2LmVjbGlw
c2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVn aW5zL29yZy5l
Y2xpcHNlLmdtZi5ydW50aW1lLmRpYWdyYW0udWkucHJvdmlkZXJzLG9yZy5l Y2xpcHNlLmdt
Zi5ydW50aW1lLmRpYWdyYW0udWkucHJvdmlkZXJzIi8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYucnVudGltZS5kaWFn cmFtLnVpLnBy
b3ZpZGVycy5pZGUsb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51 aS5wcm92aWRl
cnMuaWRlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRl di5lY2xpcHNl
Lm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lu cy9vcmcuZWNs
aXBzZS5nbWYucnVudGltZS5kaWFncmFtLnVpLnJlbmRlcixvcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5kaWFncmFtLnVpLnJlbmRlciIvPg0KPHByb2plY3QgcmVmZXJlbmNl PSIxLjAsOmV4
dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVj bGlwc2UuZ21m
L3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5y ZXNvdXJjZXMu
ZWRpdG9yLG9yZy5lY2xpcHNlLmdtZi5ydW50aW1lLmRpYWdyYW0udWkucmVz b3VyY2VzLmVk
aXRvciIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYu ZWNsaXBzZS5v
cmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMv b3JnLmVjbGlw
c2UuZ21mLnJ1bnRpbWUuZGlhZ3JhbS51aS5yZXNvdXJjZXMuZWRpdG9yLmlk ZSxvcmcuZWNs
aXBzZS5nbWYucnVudGltZS5kaWFncmFtLnVpLnJlc291cmNlcy5lZGl0b3Iu aWRlIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5kcmF3MmQudWksb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZHJhdzJk LnVpIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5kcmF3MmQudWkucmVuZGVyLG9yZy5lY2xpcHNlLmdtZi5ydW50aW1l LmRyYXcyZC51
aS5yZW5kZXIiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6 ZGV2LmVjbGlw
c2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVn aW5zL29yZy5l
Y2xpcHNlLmdtZi5ydW50aW1lLmRyYXcyZC51aS5yZW5kZXIuYXd0LG9yZy5l Y2xpcHNlLmdt
Zi5ydW50aW1lLmRyYXcyZC51aS5yZW5kZXIuYXd0Ii8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYucnVudGltZS5lbWYu Y2xpcGJvYXJk
LmNvcmUsb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZW1mLmNsaXBib2FyZC5j b3JlIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBz ZS5nbWYucnVu
dGltZS5lbWYuY29tbWFuZHMuY29yZSxvcmcuZWNsaXBzZS5nbWYucnVudGlt ZS5lbWYuY29t
bWFuZHMuY29yZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNz aDpkZXYuZWNs
aXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3Bs dWdpbnMvb3Jn
LmVjbGlwc2UuZ21mLnJ1bnRpbWUuZW1mLmNvcmUsb3JnLmVjbGlwc2UuZ21m LnJ1bnRpbWUu
ZW1mLmNvcmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6 ZGV2LmVjbGlw
c2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVn aW5zL29yZy5l
Y2xpcHNlLmdtZi5ydW50aW1lLmVtZi50eXBlLmNvcmUsb3JnLmVjbGlwc2Uu Z21mLnJ1bnRp
bWUuZW1mLnR5cGUuY29yZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnJ1bnRpbWUuZW1mLnR5cGUudWksb3JnLmVj bGlwc2UuZ21m
LnJ1bnRpbWUuZW1mLnR5cGUudWkiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLmdtZi9w
bHVnaW5zL29yZy5lY2xpcHNlLmdtZi5ydW50aW1lLmVtZi51aSxvcmcuZWNs aXBzZS5nbWYu
cnVudGltZS5lbWYudWkiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdt Zi9wbHVnaW5z
L29yZy5lY2xpcHNlLmdtZi5ydW50aW1lLmVtZi51aS5wcm9wZXJ0aWVzLG9y Zy5lY2xpcHNl
LmdtZi5ydW50aW1lLmVtZi51aS5wcm9wZXJ0aWVzIi8+DQo8cHJvamVjdCBy ZWZlcmVuY2U9
IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGlu ZyxvcmcuZWNs
aXBzZS5nbWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYucnVudGltZS5nZWYu dWksb3JnLmVj
bGlwc2UuZ21mLnJ1bnRpbWUuZ2VmLnVpIi8+DQo8cHJvamVjdCByZWZlcmVu Y2U9IjEuMCw6
ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcu ZWNsaXBzZS5n
bWYvcGx1Z2lucy9vcmcuZWNsaXBzZS5nbWYucnVudGltZS5saXRlLG9yZy5l Y2xpcHNlLmdt
Zi5ydW50aW1lLmxpdGUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpl eHRzc2g6ZGV2
LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLmdt Zi9wbHVnaW5z
L29yZy5lY2xpcHNlLmdtZi5ydW50aW1lLm5vdGF0aW9uLG9yZy5lY2xpcHNl LmdtZi5ydW50
aW1lLm5vdGF0aW9uIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5nbWYv cGx1Z2lucy9v
cmcuZWNsaXBzZS5nbWYucnVudGltZS5ub3RhdGlvbi5lZGl0LG9yZy5lY2xp cHNlLmdtZi5y
dW50aW1lLm5vdGF0aW9uLmVkaXQiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLmdtZi9w
bHVnaW5zL29yZy5lY2xpcHNlLmdtZi5ydW50aW1lLm5vdGF0aW9uLnByb3Zp ZGVycyxvcmcu
ZWNsaXBzZS5nbWYucnVudGltZS5ub3RhdGlvbi5wcm92aWRlcnMiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L21vZGVsaW5n
LG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdtZi5zZGss b3JnLmVjbGlw
c2UuZ21mLnNkayIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNz aDpkZXYuZWNs
aXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3Bs dWdpbnMvb3Jn
LmVjbGlwc2UuZ21mLnRvb2xkZWYsb3JnLmVjbGlwc2UuZ21mLnRvb2xkZWYi Lz4NCjxwcm9q
ZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9j dnNyb290L21v
ZGVsaW5nLG9yZy5lY2xpcHNlLmdtZi9wbHVnaW5zL29yZy5lY2xpcHNlLmdt Zi50b29sZGVm
LmVkaXQsb3JnLmVjbGlwc2UuZ21mLnRvb2xkZWYuZWRpdCIvPg0KPHByb2pl Y3QgcmVmZXJl
bmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9k ZWxpbmcsb3Jn
LmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2UuZ21mLnZhbGlkYXRl LG9yZy5lY2xp
cHNlLmdtZi52YWxpZGF0ZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu Z21mL3BsdWdp
bnMvb3JnLmVjbGlwc2UuZ21mLnhwYW5kLG9yZy5lY2xpcHNlLmdtZi54cGFu ZCIvPg0KPHBy
b2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6 L2N2c3Jvb3Qv
bW9kZWxpbmcsb3JnLmVjbGlwc2UuZ21mL3BsdWdpbnMvb3JnLmVjbGlwc2Uu Z21mLnhwYW5k
LmVkaXRvcixvcmcuZWNsaXBzZS5nbWYueHBhbmQuZWRpdG9yIi8+DQo8cHJv amVjdCByZWZl
cmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9t b2RlbGluZyxv
cmcuZWNsaXBzZS5tMnQvb3JnLmVjbGlwc2UuamV0L3BsdWdpbnMvb3JnLmVj bGlwc2UuamV0
LG9yZy5lY2xpcHNlLmpldCIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAs OmV4dHNzaDpk
ZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2Uu bTJ0L29yZy5l
Y2xpcHNlLmpldC9wbHVnaW5zL29yZy5lY2xpcHNlLmpldC5jb3JlLG9yZy5l Y2xpcHNlLmpl
dC5jb3JlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRl di5lY2xpcHNl
Lm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tMnQvb3JnLmVj bGlwc2UuamV0
L3BsdWdpbnMvb3JnLmVjbGlwc2UuamV0LmVkaXRvcixvcmcuZWNsaXBzZS5q ZXQuZWRpdG9y
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tMnQvb3JnLmVjbGlwc2Uu amV0L3BsdWdp
bnMvb3JnLmVjbGlwc2UuamV0LnVpLG9yZy5lY2xpcHNlLmpldC51aSIvPg0K PHByb2plY3Qg
cmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jv b3QvbW9kZWxp
bmcsb3JnLmVjbGlwc2UubWR0L29yZy5lY2xpcHNlLm9jbC9wbHVnaW5zL29y Zy5lY2xpcHNl
Lm9jbCxvcmcuZWNsaXBzZS5vY2wiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLm1kdC9v
cmcuZWNsaXBzZS5vY2wvcGx1Z2lucy9vcmcuZWNsaXBzZS5vY2wuZWNvcmUs b3JnLmVjbGlw
c2Uub2NsLmVjb3JlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQv b3JnLmVjbGlw
c2Uub2NsL3BsdWdpbnMvb3JnLmVjbGlwc2Uub2NsLnVtbCxvcmcuZWNsaXBz ZS5vY2wudW1s
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2Uu dW1sMi9wbHVn
aW5zL29yZy5lY2xpcHNlLnVtbDIsb3JnLmVjbGlwc2UudW1sMiIvPg0KPHBy b2plY3QgcmVm
ZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3Qv bW9kZWxpbmcs
b3JnLmVjbGlwc2UubWR0L29yZy5lY2xpcHNlLnVtbDIvcGx1Z2lucy9vcmcu ZWNsaXBzZS51
bWwyLmNvZGVnZW4uZWNvcmUsb3JnLmVjbGlwc2UudW1sMi5jb2RlZ2VuLmVj b3JlIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UudW1sMi9w bHVnaW5zL29y
Zy5lY2xpcHNlLnVtbDIuY29kZWdlbi5lY29yZS51aSxvcmcuZWNsaXBzZS51 bWwyLmNvZGVn
ZW4uZWNvcmUudWkiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLm1kdC9v cmcuZWNsaXBz
ZS51bWwyL3BsdWdpbnMvb3JnLmVjbGlwc2UudW1sMi5jb21tb24sb3JnLmVj bGlwc2UudW1s
Mi5jb21tb24iLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRzc2g6 ZGV2LmVjbGlw
c2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLm1kdC9vcmcu ZWNsaXBzZS51
bWwyL3BsdWdpbnMvb3JnLmVjbGlwc2UudW1sMi5jb21tb24uZWRpdCxvcmcu ZWNsaXBzZS51
bWwyLmNvbW1vbi5lZGl0Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6 ZXh0c3NoOmRl
di5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5t ZHQvb3JnLmVj
bGlwc2UudW1sMi9wbHVnaW5zL29yZy5lY2xpcHNlLnVtbDIudW1sLG9yZy5l Y2xpcHNlLnVt
bDIudW1sIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRl di5lY2xpcHNl
Lm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVj bGlwc2UudW1s
Mi9wbHVnaW5zL29yZy5lY2xpcHNlLnVtbDIudW1sLmVjb3JlLmV4cG9ydGVy LG9yZy5lY2xp
cHNlLnVtbDIudW1sLmVjb3JlLmV4cG9ydGVyIi8+DQo8cHJvamVjdCByZWZl cmVuY2U9IjEu
MCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxv cmcuZWNsaXBz
ZS5tZHQvb3JnLmVjbGlwc2UudW1sMi9wbHVnaW5zL29yZy5lY2xpcHNlLnVt bDIudW1sLmVj
b3JlLmltcG9ydGVyLG9yZy5lY2xpcHNlLnVtbDIudW1sLmVjb3JlLmltcG9y dGVyIi8+DQo8
cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9y ZzovY3Zzcm9v
dC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UudW1sMi9w bHVnaW5zL29y
Zy5lY2xpcHNlLnVtbDIudW1sLmVkaXQsb3JnLmVjbGlwc2UudW1sMi51bWwu ZWRpdCIvPg0K
PHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5v cmc6L2N2c3Jv
b3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UubWR0L29yZy5lY2xpcHNlLnVtbDIv cGx1Z2lucy9v
cmcuZWNsaXBzZS51bWwyLnVtbC5lZGl0b3Isb3JnLmVjbGlwc2UudW1sMi51 bWwuZWRpdG9y
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2Uu dW1sMi9wbHVn
aW5zL29yZy5lY2xpcHNlLnVtbDIudW1sLnJlc291cmNlcyxvcmcuZWNsaXBz ZS51bWwyLnVt
bC5yZXNvdXJjZXMiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLm1kdC9v cmcuZWNsaXBz
ZS54c2QvcGx1Z2lucy9vcmcuZWNsaXBzZS54c2Qsb3JnLmVjbGlwc2UueHNk Ii8+DQo8cHJv
amVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzov Y3Zzcm9vdC9t
b2RlbGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UueHNkL2ZlYXR1 cmVzL29yZy5l
Y2xpcHNlLnhzZC1mZWF0dXJlLG9yZy5lY2xpcHNlLnhzZC1mZWF0dXJlIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UueHNkL2RvYy9vcmcu ZWNsaXBzZS54
c2QuY2hlYXRzaGVldHMsb3JnLmVjbGlwc2UueHNkLmNoZWF0c2hlZXRzIi8+ DQo8cHJvamVj
dCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zz cm9vdC9tb2Rl
bGluZyxvcmcuZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UueHNkL2RvYy9vcmcu ZWNsaXBzZS54
c2QuZG9jLG9yZy5lY2xpcHNlLnhzZC5kb2MiLz4NCjxwcm9qZWN0IHJlZmVy ZW5jZT0iMS4w
LDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9y Zy5lY2xpcHNl
Lm1kdC9vcmcuZWNsaXBzZS54c2QvZG9jL29yZy5lY2xpcHNlLnhzZC5kb2Mt ZmVhdHVyZSxv
cmcuZWNsaXBzZS54c2QuZG9jLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVy ZW5jZT0iMS4w
LDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9y Zy5lY2xpcHNl
Lm1kdC9vcmcuZWNsaXBzZS54c2QvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHNk LmVjb3JlLmNv
bnZlcnRlci1mZWF0dXJlLG9yZy5lY2xpcHNlLnhzZC5lY29yZS5jb252ZXJ0 ZXItZmVhdHVy
ZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNs aXBzZS5vcmc6
L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlwc2UubWR0L29yZy5lY2xpcHNl LnhzZC9wbHVn
aW5zL29yZy5lY2xpcHNlLnhzZC5lY29yZS5leHBvcnRlcixvcmcuZWNsaXBz ZS54c2QuZWNv
cmUuZXhwb3J0ZXIiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLm1kdC9v cmcuZWNsaXBz
ZS54c2QvcGx1Z2lucy9vcmcuZWNsaXBzZS54c2QuZWNvcmUuaW1wb3J0ZXIs b3JnLmVjbGlw
c2UueHNkLmVjb3JlLmltcG9ydGVyIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9 IjEuMCw6ZXh0
c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNs aXBzZS5tZHQv
b3JnLmVjbGlwc2UueHNkL3BsdWdpbnMvb3JnLmVjbGlwc2UueHNkLmVkaXQs b3JnLmVjbGlw
c2UueHNkLmVkaXQiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0iMS4wLDpleHRz c2g6ZGV2LmVj
bGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xpcHNlLm1kdC9v cmcuZWNsaXBz
ZS54c2QvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHNkLmVkaXQtZmVhdHVyZSxv cmcuZWNsaXBz
ZS54c2QuZWRpdC1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEu MCw6ZXh0c3No
OmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBz ZS5tZHQvb3Jn
LmVjbGlwc2UueHNkL3BsdWdpbnMvb3JnLmVjbGlwc2UueHNkLmVkaXRvcixv cmcuZWNsaXBz
ZS54c2QuZWRpdG9yIi8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0 c3NoOmRldi5l
Y2xpcHNlLm9yZzovY3Zzcm9vdC9tb2RlbGluZyxvcmcuZWNsaXBzZS5tZHQv b3JnLmVjbGlw
c2UueHNkL2ZlYXR1cmVzL29yZy5lY2xpcHNlLnhzZC5lZGl0b3ItZmVhdHVy ZSxvcmcuZWNs
aXBzZS54c2QuZWRpdG9yLWZlYXR1cmUiLz4NCjxwcm9qZWN0IHJlZmVyZW5j ZT0iMS4wLDpl
eHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5l Y2xpcHNlLm1k
dC9vcmcuZWNsaXBzZS54c2QvZXhhbXBsZXMvb3JnLmVjbGlwc2UueHNkLmV4 YW1wbGUsb3Jn
LmVjbGlwc2UueHNkLmV4YW1wbGUiLz4NCjxwcm9qZWN0IHJlZmVyZW5jZT0i MS4wLDpleHRz
c2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290L21vZGVsaW5nLG9yZy5lY2xp cHNlLm1kdC9v
cmcuZWNsaXBzZS54c2QvZmVhdHVyZXMvb3JnLmVjbGlwc2UueHNkLmV4YW1w bGUtZmVhdHVy
ZSxvcmcuZWNsaXBzZS54c2QuZXhhbXBsZS1mZWF0dXJlIi8+DQo8cHJvamVj dCByZWZlcmVu
Y2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC9tb2Rl bGluZyxvcmcu
ZWNsaXBzZS5tZHQvb3JnLmVjbGlwc2UueHNkL2ZlYXR1cmVzL29yZy5lY2xp cHNlLnhzZC5t
YXBwaW5nLWZlYXR1cmUsb3JnLmVjbGlwc2UueHNkLm1hcHBpbmctZmVhdHVy ZSIvPg0KPHBy
b2plY3QgcmVmZXJlbmNlPSIxLjAsOmV4dHNzaDpkZXYuZWNsaXBzZS5vcmc6 L2N2c3Jvb3Qv
bW9kZWxpbmcsb3JnLmVjbGlwc2UubWR0L29yZy5lY2xpcHNlLnhzZC9mZWF0 dXJlcy9vcmcu
ZWNsaXBzZS54c2QubWFwcGluZy5lZGl0b3ItZmVhdHVyZSxvcmcuZWNsaXBz ZS54c2QubWFw
cGluZy5lZGl0b3ItZmVhdHVyZSIvPg0KPHByb2plY3QgcmVmZXJlbmNlPSIx LjAsOmV4dHNz
aDpkZXYuZWNsaXBzZS5vcmc6L2N2c3Jvb3QvbW9kZWxpbmcsb3JnLmVjbGlw c2UubWR0L29y
Zy5lY2xpcHNlLnhzZC9mZWF0dXJlcy9vcmcuZWNsaXBzZS54c2Quc2RrLWZl YXR1cmUsb3Jn
LmVjbGlwc2UueHNkLnNkay1mZWF0dXJlIi8+DQo8cHJvamVjdCByZWZlcmVu Y2U9IjEuMCw6
ZXh0c3NoOmRldi5lY2xpcHNlLm9yZzovY3Zzcm9vdC90b29scyxvcmcuZWNs aXBzZS5vcmJp
dC9vcmcudzNjLmNzcy5zYWMsb3JnLnczYy5jc3Muc2FjLHYxXzMiLz4NCjxw cm9qZWN0IHJl
ZmVyZW5jZT0iMS4wLDpleHRzc2g6ZGV2LmVjbGlwc2Uub3JnOi9jdnNyb290 L3Rvb2xzLG9y
Zy5lY2xpcHNlLm9yYml0L29yZy53M2MuZG9tLnNtaWwsb3JnLnczYy5kb20u c21pbCx2MV8w
Ii8+DQo8cHJvamVjdCByZWZlcmVuY2U9IjEuMCw6ZXh0c3NoOmRldi5lY2xp cHNlLm9yZzov
Y3Zzcm9vdC90b29scyxvcmcuZWNsaXBzZS5vcmJpdC9vcmcudzNjLmRvbS5z dmcsb3JnLncz
Yy5kb20uc3ZnLHYxXzEiLz4NCjwvcHJvdmlkZXI+DQo8L3BzZj4=
--------------000402080608090402040302--


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414156 is a reply to message #414151] Fri, 26 October 2007 14:43 Go to previous messageGo to next message
Marcelo Paternostro is currently offline Marcelo PaternostroFriend
Messages: 602
Registered: July 2009
Senior Member
Hi,

Actually back at the beginning of the year we changed the example to use
AST (it actually uses a set of interfaces that we created to hide the
underlying Java parsing tool). We didn't have the time to update the
model and the code to properly support Java 5, though.

So, in other words, although you won't see any Java 5 constructs in the
model, it won't throw exceptions because them.

Cheers,
Marcelo

Ed Merks wrote:
> Miles,
>
> The org.eclipse.emf.java model does that. Its part of our examples, but
> is based on JDOM so it doesn't handle Java 5.0. You'll find it in the
> team project set file I've attached.
>
>
> Miles Parker wrote:
>>
>> Just wondering if anyone haqs come across any efforts to build a
>> generic .ecore model for Java, with importers from source, natch. :)
>> Such a thing would be enormously useful for analysis and
>> transformation of existing java code..I'm not speaking of some kind of
>> deep parsing of methods of course, just down to the stubs, but
>> including modifiers, etc..
>>
>
Re: Java model *in* ecore? [message #414237 is a reply to message #414156] Fri, 26 October 2007 17:35 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Fantastic! I couldn't figure out where/how to use a parser for existing
Java classes.. any hints there?

On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:

> Hi,
>
> Actually back at the beginning of the year we changed the example to
> use AST (it actually uses a set of interfaces that we created to
> hide the underlying Java parsing tool). We didn't have the time to
> update the model and the code to properly support Java 5, though.
>
> So, in other words, although you won't see any Java 5 constructs in the
> model, it won't throw exceptions because them.
>
> Cheers,
> Marcelo
>
> Ed Merks wrote:
>> Miles,
>>
>> The org.eclipse.emf.java model does that. Its part of our examples,
>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>> the team project set file I've attached.
>>
>>
>> Miles Parker wrote:
>>>
>>> Just wondering if anyone haqs come across any efforts to build a
>>> generic .ecore model for Java, with importers from source, natch. :)
>>> Such a thing would be enormously useful for analysis and transformation
>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>> methods of course, just down to the stubs, but including modifiers,
>>> etc..
Re: Java model *in* ecore? [message #414241 is a reply to message #414237] Fri, 26 October 2007 17:46 Go to previous messageGo to next message
Marcelo Paternostro is currently offline Marcelo PaternostroFriend
Messages: 602
Registered: July 2009
Senior Member
You can definitely take a pick at the example's code or at the tests we
have in org.eclipse.emf.test.tool
(/org.eclipse.emf.test.tools/src/org/eclipse/emf/test/tools/ merger/facade/FacadeTest_Example1.java
to be more precise).

I have one disclaimer though ;-) The "J" interfaces in
org.eclipse.emf.codegen.merge.java.facade (as well as the JDOM and AST
implementations) have been designed with the requirements of a merging
tool in mind. Please don't expect them to be a complete and
well-thought API to parse Java code.

Cheers,
Marcelo

Miles Parker wrote:
>
> Fantastic! I couldn't figure out where/how to use a parser for existing
> Java classes.. any hints there?
>
> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com>
> said:
>
>> Hi,
>>
>> Actually back at the beginning of the year we changed the example to
>> use AST (it actually uses a set of interfaces that we created to
>> hide the underlying Java parsing tool). We didn't have the time to
>> update the model and the code to properly support Java 5, though.
>>
>> So, in other words, although you won't see any Java 5 constructs in
>> the model, it won't throw exceptions because them.
>>
>> Cheers,
>> Marcelo
>>
>> Ed Merks wrote:
>>> Miles,
>>>
>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it
>>> in the team project set file I've attached.
>>>
>>>
>>> Miles Parker wrote:
>>>>
>>>> Just wondering if anyone haqs come across any efforts to build a
>>>> generic .ecore model for Java, with importers from source, natch. :)
>>>> Such a thing would be enormously useful for analysis and
>>>> transformation of existing java code..I'm not speaking of some kind
>>>> of deep parsing of methods of course, just down to the stubs, but
>>>> including modifiers, etc..
>
>
Re: Java model *in* ecore? [message #414243 is a reply to message #414237] Fri, 26 October 2007 17:48 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
Miles,

Note that in the plugin.xml we have this:

<!--
These aren't registered to avoid collision with the Visual Editor.

<extension point = "org.eclipse.emf.ecore.extension_parser">
<parser type="java"
class="org.eclipse.emf.java.util.JavaResourceFactoryImpl"/ >
</extension>

<extension point = "org.eclipse.emf.ecore.extension_parser">
<parser type="packages"
class="org.eclipse.emf.java.util.JavaPackageResourceFactoryImpl "/>
</extension>
-->

It should be sufficient just to register the factories and create a
resource in the normal way with .java extension. In the IDE you should
be able to do "Open With->Java Model Editor"...



Miles Parker wrote:
>
> Fantastic! I couldn't figure out where/how to use a parser for
> existing Java classes.. any hints there?
>
> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
> <marcelop@ca.ibm.com> said:
>
>> Hi,
>>
>> Actually back at the beginning of the year we changed the example to
>> use AST (it actually uses a set of interfaces that we created to
>> hide the underlying Java parsing tool). We didn't have the time to
>> update the model and the code to properly support Java 5, though.
>>
>> So, in other words, although you won't see any Java 5 constructs in
>> the model, it won't throw exceptions because them.
>>
>> Cheers,
>> Marcelo
>>
>> Ed Merks wrote:
>>> Miles,
>>>
>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it
>>> in the team project set file I've attached.
>>>
>>>
>>> Miles Parker wrote:
>>>>
>>>> Just wondering if anyone haqs come across any efforts to build a
>>>> generic .ecore model for Java, with importers from source, natch.
>>>> :) Such a thing would be enormously useful for analysis and
>>>> transformation of existing java code..I'm not speaking of some kind
>>>> of deep parsing of methods of course, just down to the stubs, but
>>>> including modifiers, etc..
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414246 is a reply to message #414243] Fri, 26 October 2007 20:11 Go to previous messageGo to next message
Marcelo Paternostro is currently offline Marcelo PaternostroFriend
Messages: 602
Registered: July 2009
Senior Member
Hehe... I am just banging my head on the wall after reading Ed's post ;-)

So instead of assuming that I missed the point entirely, let's say that
Ed's answer is how you can use the EMF code in the example to load/save
Java files - the example has a resource implementation that reads and
writes Java. My answer is more into the "technology" that we used to
develop this resource ;-)

Cheers,
Marcelo

Ed Merks wrote:
> Miles,
>
> Note that in the plugin.xml we have this:
>
> <!--
> These aren't registered to avoid collision with the Visual Editor.
>
> <extension point = "org.eclipse.emf.ecore.extension_parser">
> <parser type="java"
> class="org.eclipse.emf.java.util.JavaResourceFactoryImpl"/ >
> </extension>
>
> <extension point = "org.eclipse.emf.ecore.extension_parser">
> <parser type="packages"
> class="org.eclipse.emf.java.util.JavaPackageResourceFactoryImpl "/>
> </extension>
> -->
>
> It should be sufficient just to register the factories and create a
> resource in the normal way with .java extension. In the IDE you should
> be able to do "Open With->Java Model Editor"...
>
>
>
> Miles Parker wrote:
>>
>> Fantastic! I couldn't figure out where/how to use a parser for
>> existing Java classes.. any hints there?
>>
>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>> <marcelop@ca.ibm.com> said:
>>
>>> Hi,
>>>
>>> Actually back at the beginning of the year we changed the example to
>>> use AST (it actually uses a set of interfaces that we created to
>>> hide the underlying Java parsing tool). We didn't have the time to
>>> update the model and the code to properly support Java 5, though.
>>>
>>> So, in other words, although you won't see any Java 5 constructs in
>>> the model, it won't throw exceptions because them.
>>>
>>> Cheers,
>>> Marcelo
>>>
>>> Ed Merks wrote:
>>>> Miles,
>>>>
>>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it
>>>> in the team project set file I've attached.
>>>>
>>>>
>>>> Miles Parker wrote:
>>>>>
>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>> generic .ecore model for Java, with importers from source, natch.
>>>>> :) Such a thing would be enormously useful for analysis and
>>>>> transformation of existing java code..I'm not speaking of some kind
>>>>> of deep parsing of methods of course, just down to the stubs, but
>>>>> including modifiers, etc..
>>
>>
Re: Java model *in* ecore? [message #414247 is a reply to message #414246] Fri, 26 October 2007 20:40 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
Marcelo,

If you damage your brains, that book will never get done, so don't do
that! :-P


Marcelo Paternostro wrote:
> Hehe... I am just banging my head on the wall after reading Ed's post ;-)
>
> So instead of assuming that I missed the point entirely, let's say
> that Ed's answer is how you can use the EMF code in the example to
> load/save Java files - the example has a resource implementation that
> reads and writes Java. My answer is more into the "technology" that
> we used to develop this resource ;-)
>
> Cheers,
> Marcelo
>
> Ed Merks wrote:
>> Miles,
>>
>> Note that in the plugin.xml we have this:
>>
>> <!--
>> These aren't registered to avoid collision with the Visual Editor.
>>
>> <extension point = "org.eclipse.emf.ecore.extension_parser">
>> <parser type="java"
>> class="org.eclipse.emf.java.util.JavaResourceFactoryImpl"/ >
>> </extension>
>>
>> <extension point = "org.eclipse.emf.ecore.extension_parser">
>> <parser type="packages"
>> class="org.eclipse.emf.java.util.JavaPackageResourceFactoryImpl "/>
>> </extension>
>> -->
>>
>> It should be sufficient just to register the factories and create a
>> resource in the normal way with .java extension. In the IDE you
>> should be able to do "Open With->Java Model Editor"...
>>
>>
>>
>> Miles Parker wrote:
>>>
>>> Fantastic! I couldn't figure out where/how to use a parser for
>>> existing Java classes.. any hints there?
>>>
>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>>> <marcelop@ca.ibm.com> said:
>>>
>>>> Hi,
>>>>
>>>> Actually back at the beginning of the year we changed the example
>>>> to use AST (it actually uses a set of interfaces that we created
>>>> to hide the underlying Java parsing tool). We didn't have the time
>>>> to update the model and the code to properly support Java 5, though.
>>>>
>>>> So, in other words, although you won't see any Java 5 constructs in
>>>> the model, it won't throw exceptions because them.
>>>>
>>>> Cheers,
>>>> Marcelo
>>>>
>>>> Ed Merks wrote:
>>>>> Miles,
>>>>>
>>>>> The org.eclipse.emf.java model does that. Its part of our
>>>>> examples, but is based on JDOM so it doesn't handle Java 5.0.
>>>>> You'll find it in the team project set file I've attached.
>>>>>
>>>>>
>>>>> Miles Parker wrote:
>>>>>>
>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>> generic .ecore model for Java, with importers from source, natch.
>>>>>> :) Such a thing would be enormously useful for analysis and
>>>>>> transformation of existing java code..I'm not speaking of some
>>>>>> kind of deep parsing of methods of course, just down to the
>>>>>> stubs, but including modifiers, etc..
>>>
>>>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414248 is a reply to message #414246] Fri, 26 October 2007 21:08 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Yes, you can pretty much take my questions in the simplest possible way ;).

This works perfectly.. As they are in the SDO-XSD example set I ended
up using those instead of the whole PSF build, but that was interesting
to look at anyway..

FWIW, my usage is to automagically load libraries such as
java.lang.Math, grab the metadatam, and then transform them into a
meta-fuction instances library in my own metamodel -- I then have all
of the metadata I need to reconstruct arbitrary calls on the code
generation end. whew..I appear to be one of those programmers who would
rather spend a week creating something taht can do something
'automatically' that I could do by hand in a half a day..

On 2007-10-26 13:11:45 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:

> Hehe... I am just banging my head on the wall after reading Ed's post ;-)
>
> So instead of assuming that I missed the point entirely, let's say that
> Ed's answer is how you can use the EMF code in the example to load/save
> Java files - the example has a resource implementation that reads and
> writes Java. My answer is more into the "technology" that we used to
> develop this resource ;-)
>
> Cheers,
> Marcelo
>
> Ed Merks wrote:
>> Miles,
>>
>> Note that in the plugin.xml we have this:
>>
>> <!--
>> These aren't registered to avoid collision with the Visual Editor.
>>
>> <extension point = "org.eclipse.emf.ecore.extension_parser">
>> <parser type="java"
>> class="org.eclipse.emf.java.util.JavaResourceFactoryImpl"/ >
>> </extension>
>>
>> <extension point = "org.eclipse.emf.ecore.extension_parser">
>> <parser type="packages"
>> class="org.eclipse.emf.java.util.JavaPackageResourceFactoryImpl "/>
>> </extension>
>> -->
>>
>> It should be sufficient just to register the factories and create a
>> resource in the normal way with .java extension. In the IDE you should
>> be able to do "Open With->Java Model Editor"...
>>
>>
>>
>> Miles Parker wrote:
>>>
>>> Fantastic! I couldn't figure out where/how to use a parser for existing
>>> Java classes.. any hints there?
>>>
>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:
>>>
>>>> Hi,
>>>>
>>>> Actually back at the beginning of the year we changed the example to
>>>> use AST (it actually uses a set of interfaces that we created to
>>>> hide the underlying Java parsing tool). We didn't have the time to
>>>> update the model and the code to properly support Java 5, though.
>>>>
>>>> So, in other words, although you won't see any Java 5 constructs in the
>>>> model, it won't throw exceptions because them.
>>>>
>>>> Cheers,
>>>> Marcelo
>>>>
>>>> Ed Merks wrote:
>>>>> Miles,
>>>>>
>>>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>>>>> the team project set file I've attached.
>>>>>
>>>>>
>>>>> Miles Parker wrote:
>>>>>>
>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>> generic .ecore model for Java, with importers from source, natch. :)
>>>>>> Such a thing would be enormously useful for analysis and transformation
>>>>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>>>>> methods of course, just down to the stubs, but including modifiers,
>>>>>> etc..
Re: Java model *in* ecore? [message #414249 is a reply to message #414247] Fri, 26 October 2007 22:09 Go to previous messageGo to next message
Steve Blass is currently offline Steve BlassFriend
Messages: 276
Registered: July 2009
Senior Member
Ed Merks wrote:
> Marcelo,
>
> If you damage your brains, that book will never get done, so don't do
> that! :-P
>

Get him a helmet. My first edition is falling apart. ;)
Re: Java model *in* ecore? [message #414250 is a reply to message #414156] Fri, 26 October 2007 23:48 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Hi Marcelo et.al.,

I am just doing a somewhat braindead thing to try to load
programmatically.. it works for some utility methods for my own ecore
models but fails here -- just wondering what I might be doing
wrong..I'm calling this from an install with ..emf.java as plugin.

This..

JavaResourceFactoryImpl resourceFactory = new
JavaResourceFactoryImpl();

Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
resourceFactory);

Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
new JavaPackageResourceFactoryImpl());
ResourceSet resourceSet = new ResourceSetImpl();
JavaPackage jp = JavaPackage.eINSTANCE;

resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
Boolean.TRUE);
JavaFactory jf = JavaFactory.eINSTANCE;

File f = new
File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));


URI uri = URI.createFileURI(f.getCanonicalPath());
Resource resource = resourceSet.getResource(uri, true);
JClass rootClass = (JClass) resource.getEObject("/");


Gives..

Caused by: java.lang.IllegalStateException: Workspace is closed.
at
org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
at

org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
at
org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
at

org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
at
org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
at

org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
at

org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
at

org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
at

org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
at

org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
at

org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
at

org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
at

org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
at

org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)


On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:

> Hi,
>
> Actually back at the beginning of the year we changed the example to
> use AST (it actually uses a set of interfaces that we created to
> hide the underlying Java parsing tool). We didn't have the time to
> update the model and the code to properly support Java 5, though.
>
> So, in other words, although you won't see any Java 5 constructs in the
> model, it won't throw exceptions because them.
>
> Cheers,
> Marcelo
>
> Ed Merks wrote:
>> Miles,
>>
>> The org.eclipse.emf.java model does that. Its part of our examples,
>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>> the team project set file I've attached.
>>
>>
>> Miles Parker wrote:
>>>
>>> Just wondering if anyone haqs come across any efforts to build a
>>> generic .ecore model for Java, with importers from source, natch. :)
>>> Such a thing would be enormously useful for analysis and transformation
>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>> methods of course, just down to the stubs, but including modifiers,
>>> etc..
Re: Java model *in* ecore? [message #414251 is a reply to message #414250] Sat, 27 October 2007 15:47 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
Miles,

You appear to be using it standalone and although JDT is supposed to
work standalone, I gather from this stack trace that asking for the
Java throws an exception. Probably we could add a guard for and I
suppose we'd have to assume Java 5.0 source. Maybe you can try hacking
the code to see how far it can get standalone...


Miles Parker wrote:
>
> Hi Marcelo et.al.,
>
> I am just doing a somewhat braindead thing to try to load
> programmatically.. it works for some utility methods for my own ecore
> models but fails here -- just wondering what I might be doing
> wrong..I'm calling this from an install with ..emf.java as plugin.
>
> This..
>
> JavaResourceFactoryImpl resourceFactory = new
> JavaResourceFactoryImpl();
>
> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
> resourceFactory);
>
> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
> new JavaPackageResourceFactoryImpl());
> ResourceSet resourceSet = new ResourceSetImpl();
> JavaPackage jp = JavaPackage.eINSTANCE;
>
> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
> Boolean.TRUE);
> JavaFactory jf = JavaFactory.eINSTANCE;
>
> File f = new
> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));
>
>
>
> URI uri = URI.createFileURI(f.getCanonicalPath());
> Resource resource = resourceSet.getResource(uri, true);
> JClass rootClass = (JClass) resource.getEObject("/");
>
>
> Gives..
>
> Caused by: java.lang.IllegalStateException: Workspace is closed.
> at
> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
>
> at
> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
> at
> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
>
> at
> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
> at
> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
>
> at
> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
>
> at
> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
>
> at
> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
>
> at
> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
>
> at
> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
>
> at
> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
>
> at
> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>
>
>
> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
> <marcelop@ca.ibm.com> said:
>
>> Hi,
>>
>> Actually back at the beginning of the year we changed the example to
>> use AST (it actually uses a set of interfaces that we created to
>> hide the underlying Java parsing tool). We didn't have the time to
>> update the model and the code to properly support Java 5, though.
>>
>> So, in other words, although you won't see any Java 5 constructs in
>> the model, it won't throw exceptions because them.
>>
>> Cheers,
>> Marcelo
>>
>> Ed Merks wrote:
>>> Miles,
>>>
>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it
>>> in the team project set file I've attached.
>>>
>>>
>>> Miles Parker wrote:
>>>>
>>>> Just wondering if anyone haqs come across any efforts to build a
>>>> generic .ecore model for Java, with importers from source, natch.
>>>> :) Such a thing would be enormously useful for analysis and
>>>> transformation of existing java code..I'm not speaking of some kind
>>>> of deep parsing of methods of course, just down to the stubs, but
>>>> including modifiers, etc..
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414252 is a reply to message #414251] Sat, 27 October 2007 17:40 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??

btw, the XMLResource call is obviously an oversight.

On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:

> Miles,
>
> You appear to be using it standalone and although JDT is supposed to
> work standalone, I gather from this stack trace that asking for the
> Java throws an exception. Probably we could add a guard for and I
> suppose we'd have to assume Java 5.0 source. Maybe you can try hacking
> the code to see how far it can get standalone...
>
>
> Miles Parker wrote:
>>
>> Hi Marcelo et.al.,
>>
>> I am just doing a somewhat braindead thing to try to load
>> programmatically.. it works for some utility methods for my own ecore
>> models but fails here -- just wondering what I might be doing
>> wrong..I'm calling this from an install with ..emf.java as plugin.
>>
>> This..
>>
>> JavaResourceFactoryImpl resourceFactory = new
>> JavaResourceFactoryImpl();
>>
>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>> resourceFactory);
>>
>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>> new JavaPackageResourceFactoryImpl());
>> ResourceSet resourceSet = new ResourceSetImpl();
>> JavaPackage jp = JavaPackage.eINSTANCE;
>>
>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>> Boolean.TRUE);
>> JavaFactory jf = JavaFactory.eINSTANCE;
>>
>> File f = new
>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));



>>
>> URI uri = URI.createFileURI(f.getCanonicalPath());
>> Resource resource = resourceSet.getResource(uri, true);
>> JClass rootClass = (JClass) resource.getEObject("/");
>>
>>
>> Gives..
>>
>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>> at
>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)

>>
>> at
>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>> at
>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)

>>
>> at
>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>> at
>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)

>>
>> at
>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)

>>
>> at
>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)

>>
>> at
>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)

>>
>> at
>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)

>>
>> at
>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>> at
>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)

>>
>> at
>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>> at
>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)

>>
>> at
>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)

>>
>> at
>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)

>>
>> at
>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>
>>
>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:
>>
>>> Hi,
>>>
>>> Actually back at the beginning of the year we changed the example to
>>> use AST (it actually uses a set of interfaces that we created to
>>> hide the underlying Java parsing tool). We didn't have the time to
>>> update the model and the code to properly support Java 5, though.
>>>
>>> So, in other words, although you won't see any Java 5 constructs in the
>>> model, it won't throw exceptions because them.
>>>
>>> Cheers,
>>> Marcelo
>>>
>>> Ed Merks wrote:
>>>> Miles,
>>>>
>>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>>>> the team project set file I've attached.
>>>>
>>>>
>>>> Miles Parker wrote:
>>>>>
>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>> generic .ecore model for Java, with importers from source, natch. :)
>>>>> Such a thing would be enormously useful for analysis and transformation
>>>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>>>> methods of course, just down to the stubs, but including modifiers,
>>>>> etc..
Re: Java model *in* ecore? [message #414253 is a reply to message #414252] Sat, 27 October 2007 17:47 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
Miles,

The workspace closed message seems to indicate that you don't have a
workspace though. You're sure you're running it as an Eclipse application?


Miles Parker wrote:
>
> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>
> btw, the XMLResource call is obviously an oversight.
>
> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>
>> Miles,
>>
>> You appear to be using it standalone and although JDT is supposed to
>> work standalone, I gather from this stack trace that asking for the
>> Java throws an exception. Probably we could add a guard for and I
>> suppose we'd have to assume Java 5.0 source. Maybe you can try
>> hacking the code to see how far it can get standalone...
>>
>>
>> Miles Parker wrote:
>>>
>>> Hi Marcelo et.al.,
>>>
>>> I am just doing a somewhat braindead thing to try to load
>>> programmatically.. it works for some utility methods for my own
>>> ecore models but fails here -- just wondering what I might be doing
>>> wrong..I'm calling this from an install with ..emf.java as plugin.
>>>
>>> This..
>>>
>>> JavaResourceFactoryImpl resourceFactory = new
>>> JavaResourceFactoryImpl();
>>>
>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>> resourceFactory);
>>>
>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>> new JavaPackageResourceFactoryImpl());
>>> ResourceSet resourceSet = new ResourceSetImpl();
>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>
>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>> Boolean.TRUE);
>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>
>>> File f = new
>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));
>>>
>
>
>
>>>
>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>> Resource resource = resourceSet.getResource(uri, true);
>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>
>>>
>>> Gives..
>>>
>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>> at
>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
>>>
>
>>>
>>> at
>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>> at
>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
>>>
>
>>>
>>> at
>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>> at
>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>
>>> at
>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>
>>> at
>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
>>>
>
>>>
>>> at
>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
>>>
>
>>>
>>> at
>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>
>>>
>>>
>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>>> <marcelop@ca.ibm.com> said:
>>>
>>>> Hi,
>>>>
>>>> Actually back at the beginning of the year we changed the example
>>>> to use AST (it actually uses a set of interfaces that we created
>>>> to hide the underlying Java parsing tool). We didn't have the time
>>>> to update the model and the code to properly support Java 5, though.
>>>>
>>>> So, in other words, although you won't see any Java 5 constructs in
>>>> the model, it won't throw exceptions because them.
>>>>
>>>> Cheers,
>>>> Marcelo
>>>>
>>>> Ed Merks wrote:
>>>>> Miles,
>>>>>
>>>>> The org.eclipse.emf.java model does that. Its part of our
>>>>> examples, but is based on JDOM so it doesn't handle Java 5.0.
>>>>> You'll find it in the team project set file I've attached.
>>>>>
>>>>>
>>>>> Miles Parker wrote:
>>>>>>
>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>> generic .ecore model for Java, with importers from source, natch.
>>>>>> :) Such a thing would be enormously useful for analysis and
>>>>>> transformation of existing java code..I'm not speaking of some
>>>>>> kind of deep parsing of methods of course, just down to the
>>>>>> stubs, but including modifiers, etc..
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414254 is a reply to message #414253] Sat, 27 October 2007 18:50 Go to previous messageGo to next message
Rafael Chaves is currently offline Rafael ChavesFriend
Messages: 362
Registered: July 2009
Senior Member
If the stack trace is complete, from the first frame you can tell he is not:

org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)

Rafael

Ed Merks wrote:
> Miles,
>
> The workspace closed message seems to indicate that you don't have a
> workspace though. You're sure you're running it as an Eclipse application?
>
>
> Miles Parker wrote:
>>
>> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>>
>> btw, the XMLResource call is obviously an oversight.
>>
>> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>>
>>> Miles,
>>>
>>> You appear to be using it standalone and although JDT is supposed to
>>> work standalone, I gather from this stack trace that asking for the
>>> Java throws an exception. Probably we could add a guard for and I
>>> suppose we'd have to assume Java 5.0 source. Maybe you can try
>>> hacking the code to see how far it can get standalone...
>>>
>>>
>>> Miles Parker wrote:
>>>>
>>>> Hi Marcelo et.al.,
>>>>
>>>> I am just doing a somewhat braindead thing to try to load
>>>> programmatically.. it works for some utility methods for my own
>>>> ecore models but fails here -- just wondering what I might be doing
>>>> wrong..I'm calling this from an install with ..emf.java as plugin.
>>>>
>>>> This..
>>>>
>>>> JavaResourceFactoryImpl resourceFactory = new
>>>> JavaResourceFactoryImpl();
>>>>
>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>>> resourceFactory);
>>>>
>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>>> new JavaPackageResourceFactoryImpl());
>>>> ResourceSet resourceSet = new ResourceSetImpl();
>>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>>
>>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>>> Boolean.TRUE);
>>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>>
>>>> File f = new
>>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));
>>>>
>>
>>
>>
>>>>
>>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>>> Resource resource = resourceSet.getResource(uri, true);
>>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>>
>>>>
>>>> Gives..
>>>>
>>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>>> at
>>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>>> at
>>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>>> at
>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
>>>>
>>
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
>>>>
>>
>>>>
>>>> at
>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>
>>>>
>>>>
>>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>>>> <marcelop@ca.ibm.com> said:
>>>>
>>>>> Hi,
>>>>>
>>>>> Actually back at the beginning of the year we changed the example
>>>>> to use AST (it actually uses a set of interfaces that we created
>>>>> to hide the underlying Java parsing tool). We didn't have the time
>>>>> to update the model and the code to properly support Java 5, though.
>>>>>
>>>>> So, in other words, although you won't see any Java 5 constructs in
>>>>> the model, it won't throw exceptions because them.
>>>>>
>>>>> Cheers,
>>>>> Marcelo
>>>>>
>>>>> Ed Merks wrote:
>>>>>> Miles,
>>>>>>
>>>>>> The org.eclipse.emf.java model does that. Its part of our
>>>>>> examples, but is based on JDOM so it doesn't handle Java 5.0.
>>>>>> You'll find it in the team project set file I've attached.
>>>>>>
>>>>>>
>>>>>> Miles Parker wrote:
>>>>>>>
>>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>>> generic .ecore model for Java, with importers from source, natch.
>>>>>>> :) Such a thing would be enormously useful for analysis and
>>>>>>> transformation of existing java code..I'm not speaking of some
>>>>>>> kind of deep parsing of methods of course, just down to the
>>>>>>> stubs, but including modifiers, etc..
>>
>>
Re: Java model *in* ecore? [message #414255 is a reply to message #414254] Sat, 27 October 2007 19:41 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33107
Registered: July 2009
Senior Member
Rafael,

That and the workspace closed message was the reason for my assumption.
Probably Miles is confusing running a Java application within Eclipse
with running as an Eclipse application. I'm not sure this stuff will
work well unless you open files within a Java project because we won't
know the class path or how to find source files in general without the
Java project information.


Rafael Chaves wrote:
> If the stack trace is complete, from the first frame you can tell he
> is not:
>
> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>
>
> Rafael
>
> Ed Merks wrote:
>> Miles,
>>
>> The workspace closed message seems to indicate that you don't have a
>> workspace though. You're sure you're running it as an Eclipse
>> application?
>>
>>
>> Miles Parker wrote:
>>>
>>> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>>>
>>> btw, the XMLResource call is obviously an oversight.
>>>
>>> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>>>
>>>> Miles,
>>>>
>>>> You appear to be using it standalone and although JDT is supposed
>>>> to work standalone, I gather from this stack trace that asking for
>>>> the Java throws an exception. Probably we could add a guard for
>>>> and I suppose we'd have to assume Java 5.0 source. Maybe you can
>>>> try hacking the code to see how far it can get standalone...
>>>>
>>>>
>>>> Miles Parker wrote:
>>>>>
>>>>> Hi Marcelo et.al.,
>>>>>
>>>>> I am just doing a somewhat braindead thing to try to load
>>>>> programmatically.. it works for some utility methods for my own
>>>>> ecore models but fails here -- just wondering what I might be
>>>>> doing wrong..I'm calling this from an install with ..emf.java as
>>>>> plugin.
>>>>>
>>>>> This..
>>>>>
>>>>> JavaResourceFactoryImpl resourceFactory = new
>>>>> JavaResourceFactoryImpl();
>>>>>
>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>>>> resourceFactory);
>>>>>
>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>>>> new JavaPackageResourceFactoryImpl());
>>>>> ResourceSet resourceSet = new ResourceSetImpl();
>>>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>>>
>>>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>>>> Boolean.TRUE);
>>>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>>>
>>>>> File f = new
>>>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));
>>>>>
>>>
>>>
>>>
>>>>>
>>>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>>>> Resource resource = resourceSet.getResource(uri, true);
>>>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>>>
>>>>>
>>>>> Gives..
>>>>>
>>>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>>>> at
>>>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>>>> at
>>>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>>>> at
>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
>>>>>
>>>
>>>>>
>>>>> at
>>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>>
>>>>>
>>>>>
>>>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>>>>> <marcelop@ca.ibm.com> said:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Actually back at the beginning of the year we changed the example
>>>>>> to use AST (it actually uses a set of interfaces that we
>>>>>> created to hide the underlying Java parsing tool). We didn't
>>>>>> have the time to update the model and the code to properly
>>>>>> support Java 5, though.
>>>>>>
>>>>>> So, in other words, although you won't see any Java 5 constructs
>>>>>> in the model, it won't throw exceptions because them.
>>>>>>
>>>>>> Cheers,
>>>>>> Marcelo
>>>>>>
>>>>>> Ed Merks wrote:
>>>>>>> Miles,
>>>>>>>
>>>>>>> The org.eclipse.emf.java model does that. Its part of our
>>>>>>> examples, but is based on JDOM so it doesn't handle Java 5.0.
>>>>>>> You'll find it in the team project set file I've attached.
>>>>>>>
>>>>>>>
>>>>>>> Miles Parker wrote:
>>>>>>>>
>>>>>>>> Just wondering if anyone haqs come across any efforts to build
>>>>>>>> a generic .ecore model for Java, with importers from source,
>>>>>>>> natch. :) Such a thing would be enormously useful for analysis
>>>>>>>> and transformation of existing java code..I'm not speaking of
>>>>>>>> some kind of deep parsing of methods of course, just down to
>>>>>>>> the stubs, but including modifiers, etc..
>>>
>>>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Java model *in* ecore? [message #414256 is a reply to message #414255] Sat, 27 October 2007 23:11 Go to previous messageGo to next message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
Aha, I see. I made exactly the assumption that Ed assumes...It doesn't
make any sense to me why Eclipse can't utilize the launching
workbench's classpath and projects, but then a lot of Eclipse doesn't
make sense to me. :) I couldn't understand why it broke but running the
same thing with regular ecore resources worked fine...but no matter as
recasting the main as an IApp did the trick -- thanks.


On 2007-10-27 12:41:56 -0700, Ed Merks <merks@ca.ibm.com> said:

> Rafael,
>
> That and the workspace closed message was the reason for my assumption.
> Probably Miles is confusing running a Java application within Eclipse
> with running as an Eclipse application. I'm not sure this stuff will
> work well unless you open files within a Java project because we won't
> know the class path or how to find source files in general without the
> Java project information.
>
>
> Rafael Chaves wrote:
>> If the stack trace is complete, from the first frame you can tell he is not:
>>
>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>
>> Rafael
>>
>> Ed Merks wrote:
>>> Miles,
>>>
>>> The workspace closed message seems to indicate that you don't have a
>>> workspace though. You're sure you're running it as an Eclipse
>>> application?
>>>
>>>
>>> Miles Parker wrote:
>>>>
>>>> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>>>>
>>>> btw, the XMLResource call is obviously an oversight.
>>>>
>>>> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>>>>
>>>>> Miles,
>>>>>
>>>>> You appear to be using it standalone and although JDT is supposed to
>>>>> work standalone, I gather from this stack trace that asking for the
>>>>> Java throws an exception. Probably we could add a guard for and I
>>>>> suppose we'd have to assume Java 5.0 source. Maybe you can try hacking
>>>>> the code to see how far it can get standalone...
>>>>>
>>>>>
>>>>> Miles Parker wrote:
>>>>>>
>>>>>> Hi Marcelo et.al.,
>>>>>>
>>>>>> I am just doing a somewhat braindead thing to try to load
>>>>>> programmatically.. it works for some utility methods for my own ecore
>>>>>> models but fails here -- just wondering what I might be doing
>>>>>> wrong..I'm calling this from an install with ..emf.java as plugin.
>>>>>>
>>>>>> This..
>>>>>>
>>>>>> JavaResourceFactoryImpl resourceFactory = new
>>>>>> JavaResourceFactoryImpl();
>>>>>>
>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>>>>> resourceFactory);
>>>>>>
>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>>>>> new JavaPackageResourceFactoryImpl());
>>>>>> ResourceSet resourceSet = new ResourceSetImpl();
>>>>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>>>>
>>>>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>>>>> Boolean.TRUE);
>>>>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>>>>
>>>>>> File f = new
>>>>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));





>>>>>>
>>>>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>>>>> Resource resource = resourceSet.getResource(uri, true);
>>>>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>>>>
>>>>>>
>>>>>> Gives..
>>>>>>
>>>>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>>>>> at
>>>>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>>>>> at
>>>>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>>>>> at
>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>>>> at
>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>>>> at
>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)



>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)



>>>>>>
>>>>>> at
>>>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>>>
>>>>>>
>>>>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Actually back at the beginning of the year we changed the example to
>>>>>>> use AST (it actually uses a set of interfaces that we created to
>>>>>>> hide the underlying Java parsing tool). We didn't have the time to
>>>>>>> update the model and the code to properly support Java 5, though.
>>>>>>>
>>>>>>> So, in other words, although you won't see any Java 5 constructs in the
>>>>>>> model, it won't throw exceptions because them.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Marcelo
>>>>>>>
>>>>>>> Ed Merks wrote:
>>>>>>>> Miles,
>>>>>>>>
>>>>>>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>>>>>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>>>>>>>> the team project set file I've attached.
>>>>>>>>
>>>>>>>>
>>>>>>>> Miles Parker wrote:
>>>>>>>>>
>>>>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>>>>> generic .ecore model for Java, with importers from source, natch. :)
>>>>>>>>> Such a thing would be enormously useful for analysis and transformation
>>>>>>>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>>>>>>>> methods of course, just down to the stubs, but including modifiers,
>>>>>>>>> etc..
Re: Java model *in* ecore? [message #414257 is a reply to message #414256] Sun, 28 October 2007 04:09 Go to previous messageGo to next message
Rafael Chaves is currently offline Rafael ChavesFriend
Messages: 362
Registered: July 2009
Senior Member
The problem is not with classpaths, the problem is that by launching as
a standalone Java app you don't get most of the nice features provided
by the Eclipse runtime. Anything that relies on those features will not
work, often in a way that makes it hard to figure out the reason. The
Resources API, for instance, relies on the workspace being open, and
that only happens when the Resources plug-in is activated (which happens
automatically when the first class/interface defined in that plug-in is
loaded).

Currently, most code shipped in the Eclipse SDK will only work properly
in the context of the Eclipse runtime, even when it seems quite obvious
that an API would be very useful in a standalone Java application and
there is no technical reasons preventing that from being done. It is
just something that has not been pushed for and is not part of the
committers' mindset. The current mindset seems to be to make the Eclipse
runtime more flexible so its features would be available in more
environments (for example, web application containers, mobile
applications etc).

Rafael

Miles Parker wrote:
>
> Aha, I see. I made exactly the assumption that Ed assumes...It doesn't
> make any sense to me why Eclipse can't utilize the launching workbench's
> classpath and projects, but then a lot of Eclipse doesn't make sense to
> me. :) I couldn't understand why it broke but running the same thing
> with regular ecore resources worked fine...but no matter as recasting
> the main as an IApp did the trick -- thanks.
>
>
> On 2007-10-27 12:41:56 -0700, Ed Merks <merks@ca.ibm.com> said:
>
>> Rafael,
>>
>> That and the workspace closed message was the reason for my
>> assumption. Probably Miles is confusing running a Java application
>> within Eclipse with running as an Eclipse application. I'm not sure
>> this stuff will work well unless you open files within a Java project
>> because we won't know the class path or how to find source files in
>> general without the Java project information.
>>
>>
>> Rafael Chaves wrote:
>>> If the stack trace is complete, from the first frame you can tell he
>>> is not:
>>>
>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>
>>>
>>> Rafael
>>>
>>> Ed Merks wrote:
>>>> Miles,
>>>>
>>>> The workspace closed message seems to indicate that you don't have a
>>>> workspace though. You're sure you're running it as an Eclipse
>>>> application?
>>>>
>>>>
>>>> Miles Parker wrote:
>>>>>
>>>>> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>>>>>
>>>>> btw, the XMLResource call is obviously an oversight.
>>>>>
>>>>> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>>>>>
>>>>>> Miles,
>>>>>>
>>>>>> You appear to be using it standalone and although JDT is supposed
>>>>>> to work standalone, I gather from this stack trace that asking
>>>>>> for the Java throws an exception. Probably we could add a guard
>>>>>> for and I suppose we'd have to assume Java 5.0 source. Maybe you
>>>>>> can try hacking the code to see how far it can get standalone...
>>>>>>
>>>>>>
>>>>>> Miles Parker wrote:
>>>>>>>
>>>>>>> Hi Marcelo et.al.,
>>>>>>>
>>>>>>> I am just doing a somewhat braindead thing to try to load
>>>>>>> programmatically.. it works for some utility methods for my own
>>>>>>> ecore models but fails here -- just wondering what I might be
>>>>>>> doing wrong..I'm calling this from an install with ..emf.java as
>>>>>>> plugin.
>>>>>>>
>>>>>>> This..
>>>>>>>
>>>>>>> JavaResourceFactoryImpl resourceFactory = new
>>>>>>> JavaResourceFactoryImpl();
>>>>>>>
>>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>>>>>> resourceFactory);
>>>>>>>
>>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>>>>>> new JavaPackageResourceFactoryImpl());
>>>>>>> ResourceSet resourceSet = new ResourceSetImpl();
>>>>>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>>>>>
>>>>>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>>>>>> Boolean.TRUE);
>>>>>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>>>>>
>>>>>>> File f = new
>>>>>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));
>>>>>>>
>
>
>
>
>
>>>>>>>
>>>>>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>>>>>> Resource resource = resourceSet.getResource(uri, true);
>>>>>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>>>>>
>>>>>>>
>>>>>>> Gives..
>>>>>>>
>>>>>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>>>>>> at
>>>>>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>>>>>> at
>>>>>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>>>>>> at
>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)
>>>>>>>
>
>
>
>>>>>>>
>>>>>>> at
>>>>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro
>>>>>>> <marcelop@ca.ibm.com> said:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Actually back at the beginning of the year we changed the
>>>>>>>> example to use AST (it actually uses a set of interfaces that
>>>>>>>> we created to hide the underlying Java parsing tool). We didn't
>>>>>>>> have the time to update the model and the code to properly
>>>>>>>> support Java 5, though.
>>>>>>>>
>>>>>>>> So, in other words, although you won't see any Java 5 constructs
>>>>>>>> in the model, it won't throw exceptions because them.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Marcelo
>>>>>>>>
>>>>>>>> Ed Merks wrote:
>>>>>>>>> Miles,
>>>>>>>>>
>>>>>>>>> The org.eclipse.emf.java model does that. Its part of our
>>>>>>>>> examples, but is based on JDOM so it doesn't handle Java 5.0.
>>>>>>>>> You'll find it in the team project set file I've attached.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Miles Parker wrote:
>>>>>>>>>>
>>>>>>>>>> Just wondering if anyone haqs come across any efforts to build
>>>>>>>>>> a generic .ecore model for Java, with importers from source,
>>>>>>>>>> natch. :) Such a thing would be enormously useful for analysis
>>>>>>>>>> and transformation of existing java code..I'm not speaking of
>>>>>>>>>> some kind of deep parsing of methods of course, just down to
>>>>>>>>>> the stubs, but including modifiers, etc..
>
>
OT? Runtime Eclipse Dependencies Re: Java model *in* ecore? [message #414288 is a reply to message #414257] Mon, 29 October 2007 18:23 Go to previous message
Miles Parker is currently offline Miles ParkerFriend
Messages: 1341
Registered: July 2009
Senior Member
[A little OT]

On 2007-10-27 21:09:26 -0700, Rafael Chaves <rafael@no.spam.abstratt.com> said:

> The problem is not with classpaths, the problem is that by launching as
> a standalone Java app you don't get most of the nice features provided
> by the Eclipse runtime. Anything that relies on those features will not
> work, often in a way that makes it hard to figure out the reason.

Yes, or a solution! It took some effort but I was able to get my
complete EMF generation and alll of my own test generation via oAW
working purely form w/in headless ant. The EMF and oAW teams both have
a clear apreciation for dependency issues even as they are constrained
by platform requirements. The JDT (and PDE and platform I suppose) for
perfectly understandable reasons seem to have less..

> Resources API, for instance, relies on the workspace being open, and
> that only happens when the Resources plug-in is activated (which
> happens automatically when the first class/interface defined in that
> plug-in is loaded).

The EMF XSD resorce stuff does seems to avoid this somehow..perhaps
because so much of the specific resource stack is implemented w/in
EMF..?
>
> Currently, most code shipped in the Eclipse SDK will only work properly
> in the context of the Eclipse runtime, even when it seems quite obvious
> that an API would be very useful in a standalone Java application and
> there is no technical reasons preventing that from being done. It is
> just something that has not been pushed for and is not part of the
> committers' mindset. The current mindset seems to be to make the
> Eclipse runtime more flexible so its features would be available in
> more environments (for example, web application containers, mobile
> applications etc).

A nice synopsis. I am having a difficult time with this as -- and I
suspect I'm not alone in this -- over the last half-a-dozen years I
have attained the tool independence religion where for example for all
of the repos I've worked with we have had a hard and fast rule that all
code must be buildable and testable headlessly using only java, ant,
junit and included jars. And now I find that I've joined a different
cult unwittingly. ;)

IMNSHO, all Eclipse projects should be strictly following a layered
approach in which the core is free of any non-core tool dependencies
and that all of those are specified as genericly as possible and so on.
I know that this is a little too much t ask for, but I hope things get
closer.

As you suggest I think the deep design of some aspects of the platform
reflect a fixation on the platform as target. For example, the name of
the IApplication interface and related tools are unnecessarily specific
and confusing. In my usage, this is really simply a job or task.
Anyway, enough complaining - for the most part it works well _once I
have been properly indoctrinated_. :)

>
> Rafael
>
> Miles Parker wrote:
>>
>> Aha, I see. I made exactly the assumption that Ed assumes...It doesn't
>> make any sense to me why Eclipse can't utilize the launching
>> workbench's classpath and projects, but then a lot of Eclipse doesn't
>> make sense to me. :) I couldn't understand why it broke but running the
>> same thing with regular ecore resources worked fine...but no matter as
>> recasting the main as an IApp did the trick -- thanks.
>>
>>
>> On 2007-10-27 12:41:56 -0700, Ed Merks <merks@ca.ibm.com> said:
>>
>>> Rafael,
>>>
>>> That and the workspace closed message was the reason for my assumption.
>>> Probably Miles is confusing running a Java application within Eclipse
>>> with running as an Eclipse application. I'm not sure this stuff will
>>> work well unless you open files within a Java project because we won't
>>> know the class path or how to find source files in general without the
>>> Java project information.
>>>
>>>
>>> Rafael Chaves wrote:
>>>> If the stack trace is complete, from the first frame you can tell he is not:
>>>>
>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>
>>>> Rafael
>>>>
>>>> Ed Merks wrote:
>>>>> Miles,
>>>>>
>>>>> The workspace closed message seems to indicate that you don't have a
>>>>> workspace though. You're sure you're running it as an Eclipse
>>>>> application?
>>>>>
>>>>>
>>>>> Miles Parker wrote:
>>>>>>
>>>>>> Nope, I'm using it from w/in Eclipse with JDT, EMF, etc..??
>>>>>>
>>>>>> btw, the XMLResource call is obviously an oversight.
>>>>>>
>>>>>> On 2007-10-27 08:47:03 -0700, Ed Merks <merks@ca.ibm.com> said:
>>>>>>
>>>>>>> Miles,
>>>>>>>
>>>>>>> You appear to be using it standalone and although JDT is supposed to
>>>>>>> work standalone, I gather from this stack trace that asking for the
>>>>>>> Java throws an exception. Probably we could add a guard for and I
>>>>>>> suppose we'd have to assume Java 5.0 source. Maybe you can try hacking
>>>>>>> the code to see how far it can get standalone...
>>>>>>>
>>>>>>>
>>>>>>> Miles Parker wrote:
>>>>>>>>
>>>>>>>> Hi Marcelo et.al.,
>>>>>>>>
>>>>>>>> I am just doing a somewhat braindead thing to try to load
>>>>>>>> programmatically.. it works for some utility methods for my own ecore
>>>>>>>> models but fails here -- just wondering what I might be doing
>>>>>>>> wrong..I'm calling this from an install with ..emf.java as plugin.
>>>>>>>>
>>>>>>>> This..
>>>>>>>>
>>>>>>>> JavaResourceFactoryImpl resourceFactory = new
>>>>>>>> JavaResourceFactoryImpl();
>>>>>>>>
>>>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "java",
>>>>>>>> resourceFactory);
>>>>>>>>
>>>>>>>> Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap( ).put( "packages",
>>>>>>>> new JavaPackageResourceFactoryImpl());
>>>>>>>> ResourceSet resourceSet = new ResourceSetImpl();
>>>>>>>> JavaPackage jp = JavaPackage.eINSTANCE;
>>>>>>>>
>>>>>>>> resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ID REF_RESOLUTION,
>>>>>>>> Boolean.TRUE);
>>>>>>>> JavaFactory jf = JavaFactory.eINSTANCE;
>>>>>>>>
>>>>>>>> File f = new
>>>>>>>> File(platformPath("../org.metaabm.oaw.tools/javasrc/java/lang/Math.java "));







>>>>>>>>
>>>>>>>> URI uri = URI.createFileURI(f.getCanonicalPath());
>>>>>>>> Resource resource = resourceSet.getResource(uri, true);
>>>>>>>> JClass rootClass = (JClass) resource.getEObject("/");
>>>>>>>>
>>>>>>>>
>>>>>>>> Gives..
>>>>>>>>
>>>>>>>> Caused by: java.lang.IllegalStateException: Workspace is closed.
>>>>>>>> at
>>>>>>>> org.eclipse.core.resources.ResourcesPlugin.getWorkspace(Reso urcesPlugin.java:326)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.jdt.core.JavaCore.getEncoding(JavaCore.java:2765 )
>>>>>>>> at
>>>>>>>> org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOpt ions(JavaModelManager.java:1605)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.jdt.core.JavaCore.getDefaultOptions(JavaCore.jav a:2752)
>>>>>>>> at
>>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getDefaultJavaCoreOptions(ASTFacadeHelper.java:375)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.getJavaCoreOptions(ASTFacadeHelper.java:358)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createASTParser(ASTFacadeHelper.java:251)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:263)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.codegen.merge.java.facade.ast.ASTFacadeHelpe r.createCompilationUnit(ASTFacadeHelper.java:1)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.java.util.JavaResourceImpl.doLoad(JavaResour ceImpl.java:52)
>>>>>>>> at
>>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1354)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1155)
>>>>>>>> at
>>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:256)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:271)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:398)





>>>>>>>>
>>>>>>>> at
>>>>>>>> org.metaabm.util.oaw.ExtractJavaFunctions.main(ExtractJavaFu nctions.java:52)
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2007-10-26 07:43:13 -0700, Marcelo Paternostro <marcelop@ca.ibm.com> said:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Actually back at the beginning of the year we changed the example to
>>>>>>>>> use AST (it actually uses a set of interfaces that we created to
>>>>>>>>> hide the underlying Java parsing tool). We didn't have the time to
>>>>>>>>> update the model and the code to properly support Java 5, though.
>>>>>>>>>
>>>>>>>>> So, in other words, although you won't see any Java 5 constructs in the
>>>>>>>>> model, it won't throw exceptions because them.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Marcelo
>>>>>>>>>
>>>>>>>>> Ed Merks wrote:
>>>>>>>>>> Miles,
>>>>>>>>>>
>>>>>>>>>> The org.eclipse.emf.java model does that. Its part of our examples,
>>>>>>>>>> but is based on JDOM so it doesn't handle Java 5.0. You'll find it in
>>>>>>>>>> the team project set file I've attached.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Miles Parker wrote:
>>>>>>>>>>>
>>>>>>>>>>> Just wondering if anyone haqs come across any efforts to build a
>>>>>>>>>>> generic .ecore model for Java, with importers from source, natch. :)
>>>>>>>>>>> Such a thing would be enormously useful for analysis and transformation
>>>>>>>>>>> of existing java code..I'm not speaking of some kind of deep parsing of
>>>>>>>>>>> methods of course, just down to the stubs, but including modifiers,
>>>>>>>>>>> etc..
Previous Topic:motivation URI.createPlatformResourcURI(path, true) vs URI.createPlatformResourcURI(path)
Next Topic:Model Instances of a UML2 metamodel extension does not work for me [XMI coding problems]
Goto Forum:
  


Current Time: Tue Mar 19 08:04:44 GMT 2024

Powered by FUDForum. Page generated in 0.03920 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top