Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Re: Difficulty with profile API
Re: Difficulty with profile API [message #468703] Mon, 22 January 2007 05:42 Go to next message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0068_01C73DBE.42B55890
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0069_01C73DBE.42B55890"


------=_NextPart_001_0069_01C73DBE.42B55890
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however since =
my application was previously running using org.eclipse.uml2_1.1.0.jar, =
org.eclipse.uml2.common_1.1.0.jar, org.eclipse.emf.ecore_2.1.0.jar, =
org.eclipse.emf.ecore.xmi_2.1.0.jar, org.eclipse.emf.common_2.1.0.jar. I =
disabled all of the above plugins. Now my current configuration only =
contains the eclipse platform, sdk, rcp installed as a plugin (attached =
screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the attached =
code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the profile =
from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under development. =
So, are you saying that you are using UML2 2.0 with Eclipse 3.2 and EMF =
2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to confirm =
which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF 2.2.

How should I check the configuration? The exact same code and the =
libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a workbench. =
Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to see =
references to UML2Package or UML2Resource in code based on the latest =
API (they were replaced with UMLPackage and UMLResource as of UML2 =
2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and a =
profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if profile =
is applied on model elements works fine in regular java i.e. non plugin =
evironment, but when I try to do this from within a plugin, the system =
hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a plugin =
context or not?

public static String verifyModel(String metaModelFile) throws =
IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, ResourceSet =
resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, ResourceSet =
resourceSet) {
Profile profile =3D null;

Resource inputResource =3D resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_001_0069_01C73DBE.42B55890
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running eclipse =
3.2 with EMF=20
2.2.1 and UML 2.2.0.1, however since my application was previously =
running using=20
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar,=20
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my=20
current configuration only contains the eclipse platform, sdk, rcp =
installed as=20
a plugin (attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system hangs when =
I make an API=20
call to these jars. In the attached code, the system hangs in =
NewAction.java=20
-&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise on how =
to resolve=20
this and load the model and the profile from within a plugin =
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2 2.1 is=20
still under development. So, are you saying that you are using UML2 =
2.0 with=20
Eclipse 3.2 and EMF 2.2? I'd suggest selecting the 'Help &gt; About =
Eclipse=20
SDK' to confirm which versions of the UML2 plug-ins are=20
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in the =
platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using UML =
2.1 and not UML=20
2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should I =
check the=20
configuration? The exact same code and the libraries work fine in =
standalone=20
java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works stand-alone =
should also=20
work in a workbench. Are you seeing any exceptions in the platform =

log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using UML2 =
2.x? I=20
wouldn't expect to see references to UML2Package or UML2Resource =
in code=20
based on the latest API (they were replaced with UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am trying =
to use the=20
following code to open a model and a profile in an eclipse =
plugin using=20
the UML 2.1 API libraries. </FONT><FONT face=3DCourier =
color=3D#000080=20
size=3D2>The libraries are added in the plugin.xml -&gt; Runtime =
-&gt;=20
Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The following =
code to load=20
a model, profile and check if profile is applied on model =
elements works=20
fine in regular java i.e. non plugin evironment, but when I try =
to do=20
this from within a plugin, the system hangs after ResourceSet=20
resourceSet =3D new ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should the =
code change=20
depending on whether its in a plugin context or =
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public static =
String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, ResourceSet =

resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; Resource =
resource =3D=20
resourceSet.getResource(uri, true);<BR>&nbsp;&nbsp;&nbsp; Model =
model =3D=20
(Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile profile =3D =
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch =
(IOException=20
exception) {<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext()) =
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
Object currentObject =3D=20
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BODY></HTML>

------=_NextPart_001_0069_01C73DBE.42B55890--

------=_NextPart_000_0068_01C73DBE.42B55890
Content-Type: application/msword;
name="PluginInfo.doc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="PluginInfo.doc"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAB AAAAXgAAAAAAAAAA
EAAAYAAAAAEAAAD+////AAAAAF0AAAD///////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ////////////////
//////////////////////////////////////////////////////////// ///////////////s
pcEAcWAJBAAA+BK/AAAAAAAAEAAAAAAABgAAAggAAA4AYmpianFQcVAAAAAA AAAAAAAAAAAAAAAA
AAAJBBYALhAAABM6AQATOgEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAD//w8AAAAA
AAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAKQD AAAAAAAApAMAAKQD
AAAAAAAApAMAAAAAAACkAwAAAAAAAKQDAAAAAAAApAMAABQAAAAAAAAAAAAA ALgDAAAAAAAAAAQA
AAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAwAAAAMBAAADAAAALgDAAAAAAAA 1QQAALYAAAAkBAAA
AAAAACQEAAAAAAAAJAQAAAAAAAAkBAAAAAAAACQEAAAAAAAAJAQAAAAAAAAk BAAAAAAAACQEAAAA
AAAAVAQAAAIAAABWBAAAAAAAAFYEAAAAAAAAVgQAAAAAAABWBAAAAAAAAFYE AAAAAAAAVgQAACQA
AACLBQAAaAIAAPMHAABIAAAAegQAABUAAAAAAAAAAAAAAAAAAAAAAAAApAMA AAAAAAAkBAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAkBAAAAAAAACQEAAAAAAAAJAQAAAAAAAAkBAAA AAAAAHoEAAAAAAAA
AAAAAAAAAACkAwAAAAAAAKQDAAAAAAAAJAQAAAAAAAAAAAAAAAAAACQEAAAA AAAAjwQAABYAAAAk
BAAAAAAAACQEAAAAAAAAJAQAAAAAAAAkBAAAAAAAAKQDAAAAAAAAJAQAAAAA AACkAwAAAAAAACQE
AAAAAAAAVAQAAAAAAAAAAAAAAAAAACQEAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJAQAAAAAAABUBAAAAAAAAAAAAAAAAAAA JAQAAAAAAAAAAAAA
AAAAACQEAAAAAAAApAMAAAAAAACkAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAQAAAAAAAAkBAAAAAAAABgE AAAMAAAAoGRz+uU9
xwEAAAAAAAAAAAAEAAAAAAAAJAQAAAAAAAAkBAAAAAAAAAAAAAAAAAAAVAQA AAAAAAClBAAAMAAA
ANUEAAAAAAAAJAQAAAAAAAA7CAAAAAAAACQEAAAAAAAAOwgAAAAAAAAkBAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAADsIAAAAAAAAAAAAAAAAAACkAwAAAAAAACQEAAAwAAAAJAQAAAAA AAAkBAAAAAAAACQE
AAAAAAAAJAQAAAAAAAAkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAJAQA
AAAAAAAkBAAAAAAAACQEAAAAAAAAegQAAAAAAAB6BAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAJAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAACQEAAAA
AAAAJAQAAAAAAAAkBAAAAAAAANUEAAAAAAAAJAQAAAAAAAAkBAAAAAAAACQE AAAAAAAAJAQAAAAA
AAAAAAAAAAAAALgDAAAAAAAAuAMAAAAAAAC4AwAAJAAAANwDAAAkAAAAuAMA AAAAAAC4AwAAAAAA
ALgDAAAAAAAA3AMAAAAAAAC4AwAAAAAAALgDAAAAAAAAuAMAAAAAAACkAwAA AAAAAKQDAAAAAAAA
pAMAAAAAAACkAwAAAAAAAKQDAAAAAAAApAMAAAAAAAD/////AAAAAAIADAEA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAENAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAYAAAEI
AAACCAAA9/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhZotjQ+AAAPA2oAAAAAFmh9YHQA VQgBAAIABgAAAggA
AP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB AAAAAQAGAAACCAAA
/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC AQEBLAAxkGgBH7DQ
LyCw4D0hsAgHIrAIByOQoAUkkKAFJbAAABew0AIYsNACDJDQAgAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AACIdgAARABkAAAA
AAAAAAoAAAAAAAAAAAAAAAAAtC2vI+IC4gIAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AA8ABPAwAAAAsgQK8AgAAAABBAAAAAoAACMAC/AMAAAABEEBAAAA/wEAAAgA AAAQ8AQAAAAAAACA
YgAH8AR2AAAGBiw7iXX/r6KGkmUH1fBMpzL/AOB1AAABAAAARAAAAAAAAwwA bh7w2HUAACw7iXX/
r6KGkmUH1fBMpzL/iVBORw0KGgoAAAANSUhEUgAAAwwAAAJhCAIAAABjAKAc AAAAAXNSR0IArs4c
6QAAdYFJREFUeF7tvQnYZEd53zvfaEMLiEULQhKbAAMSkoCABObaUggg4lzH +JJ4e+zw2MSOjRND
sGU2GxQHMgZjxmS8XBPzEHzvc0kyFw885HoMxl/HCwizWDKSEYuQxCIhBNpm NPtyq7tmSjW1vnW2
PtXnNzSt/k5XvfW+v7eW/6lzunvthuuu3cA/CEAAAhCAAAQgAAGLwC+++nVr SiRdeMllYIEABCAA
AQhAAAIQ0ASuueaa2Wx2RCTdeP2n4AIBCEAAAhCAAAQgoAhs3bZdiaSNsIAA BCAAAQhAAAIQ8Akc
s5P03Je/vz2jtTVlY/7/+X+O/nfxx9Gji1dH3jn6xoN/2m8ujh4pe+S1Y8h5 X7ds//+oF1YDloOe
K0c9Tjn/YFxHWrdt24GEnT+KxwvuWF5uEBbRo224HF3nnZiPkgmznrduJeXY PwNJ8cnbyT4Si3Xo
mL7ggFvEeiw5u3ikR8XdPTaUY523+9GDPdXpCMd0YrcvhPv1g0kJ59GxYsd0 bPQy572+ZXcKawSm
yR4zuEJJcSwFBpfTwLFJOSYWZgY9hvXcF5jWmBmO4LGXCmaGI71mMdAiy6bd mWqYGZyl5sEIR/Pq
4hNvUr4U7CSNP6TRsMURCEAAAhCAAARWhAA7ScduarGTZDq2LY3ZSbL2ANhJ im+DuedTx3Qi9pjZ
STq68cges7ngYe3FBi4fHLN5tFo7ST/2nNPlMurKK69cX18vKv+zb9+mype2 omvZO0lRkXTccRuv
etaTXnHFJY8+/bR9h4/7uy/d/Z29B/fs2X/7d797w9e+ceudd+3aty/oMZvq R7Cwqf7gZVdnHpgT
cnUXl9uODqeV2VR3LhAwMzAzLEZ+RGOH7iLgQvxqiyThJ8b0ZS8lkorKG5HU oJboctsv//Pnbfo3
P3Dxsy/Y/dDTPv/d/d/ee3jPvoN7Dxw45SGnPONxj7vw/PNOP/lkiazb8cUt O774nyUlOy/z7b/7
LfXo3CwGIQABCEAAAhBYCoGLLr089ujDn8Cn29SJ7AuefO7LX3DhqY84+dDD Ttl/0okPOfWEvfv2
7923b89e9di7e/feh5908jkPPf2Ejcc5Pj3w5d/d+SX12NKVr/fcsPnuG97l W/vu3/+2enxn/njn
d65/Z7q5O//uHXd+7h1duaTsfP3atx19vPXrn3yrOvK1T751/vjEf7xt8TBt 3fo3v6Ee+s9b/vo3
bvnr/2C78dW/uuarfzl/3Lx4FHn4pb/49S/+xa8VVaEwBCAAAQhAYJoEtLSy Y/eP+GSCImnDz3z/
pSce3HDX3Xtu//YD6hLb7l17tULavWff7t171GPXnr2nHHf8acefsFzWZ1z8 78+4+LVnXPLatBtn
P/NXzn7Wr3Tl6jc+9TZl6vzL37B4vPH8573RWH7s89/0uOe/Sf1p6yT97q1/ PZdKT3jBr/tuPPH7
3nzB4tGVh9iBAAQgAAEIrCoB9SXY/iMbrP59EaOT9Ivsj46Ed5IueMwjdn3n gdu+ueNb39pxxx33
3377vXv27p8rpD17lTzatWehk3bvPeHwMZ8ZV9tIqsnTnvIq9exsJqkrbjtu +s/33/Tgdbf7vvDu
o4/f0bHd+w+/ox769T03blYPE7PaTLr784H9JAfKXde/867r1OO31MN+y+wk qf2kOz/39m+px2fn
D1Pmjs/8pn7c/ulN+qB68c2/1Y//lEXvFDiik/7G2k86opBEGz83/6+3fEU9 ZurxoGz68vqbF49f
/9L6MTLrix//NfVQDqjnm/58rs/UP/XiCx+bv/7Cx96oHurFP3z0iJL7h4++ 4cY/O/Iwbt+w/fXz
x5++7vN/+rrSYCkPAQhAAAIQqIKA0UlChaSCCoikgwcPnXLSiXc+4wknXnD2 yec+8uynn/uPrnrG
i37ssn/6r/63f/7Kf/wvf/6lP/lLL/vpX/mX/+ZNP/HvXvfjQi4P/Z5/+9Cn /ltVWOuk+7/wbvV8
+tP+nXqoF/cd1UYxa4+86DWPfMZr/Hfty21KIakCZ1762jMv/WX1SDj26Gdd /ehnX60KaJ2ktJF6
Pucf/ap6POY5c5WgpdK5z32deqgXQZ1kLrcJCTz+BVGFZF9uUwpJGXzS97/l SVfMXxid9OQrr1k8
5lfr1IU20+j3vPA31CPtg9ZJ6p9SSOr5wpe8TT3Uixv/7PXqWckj9XzRVf/p opduesZLj2hEYVAU
gwAEIAABCFREwGwdZfeQdFDhb9w+rDaEPvGFT3zwuo/9P5/+/97/Nx/8L+v/ 7fc+9sebP/JHb/+T
33vrB9715v/69je8562//Pub3vTe5aIRXm6TOKl3kuySeifJr3veZXOpYf7p e5La/PMvt+mdJNum
2Ulq0NDTXvTWp7/4QSf1TpJjR+8kNTBOFQhAAAIQgEAtBJzLbVm3wyJp5659 O5//tOf/8KUv+rHn
/NOf+t4ffuWVP/ILL/rJV/+zn7n6Zb/wxh99zTX/6uq3/es3/tbPv+4//rRp QF9rU//UjdtHX3R2
+3Y2jDYF1AaSqW4ut6kjeifp3Oe+Xj0c+0dvSHKlRsINfU+S8J/eSXrSFdeo h6ry5cV1N7OTJDQS
K6Z3khaP+ZVEtYdkSnK5rSVbqkMAAhCAwGgJmKtszv1JCYfDIulLd9z9iBtu +eqHP/vf/+Djf/zu
7f/lHR/6vbf+j3e9+f/+zde/7zde+3/++i+9+w2vetfVP/uON73hDxzTpz75 VeqepNOe8oujZRR0
TF9r68pnfdf24773yB1C6rW+1qY+3dZVE93amV9rs6RSt8axBgEIQAACEEgQ UN+E5Dz6wOXchyTU
SWGR9L6/vH7XhsOPO/PUR520Ud+jPb9fe/fe3eqWbfUZt7379u7dv2/DocMn ul8BEAtM37it3n3Y
4s6kh+lbkRb3bqsXpz/9l9TzwxfP9974O/Yt24+46NXqYOzGbfuepDMXn3EL 3rjteKVv3FYH9Z1J
5q5t9Vrfk6SfzY3bzj1J6tNt5isAVDH70236KwDmCmnxGTf731GddMxXAPi4 Lvj+t6iD5sZtfU/S
k/V+0uLGbVPlKf94bsrcuK3vTFK3bJvbt33jT3+xvhXJ3Lt95J4kfeO2eot7 knxoHIEABCAAgYEJ
XHjJZYkWg9+TlPVQfyDOLuYf8Y1Ev3H7Fd9/yf/xvAt3PHDgk1+8/TNf/Mbd 9+1UH21TH3BTXwQw
V0hrBw+fdNzaiccHLI74xwf0tyWpG7ejv7XLz5KYjPKzJBqF/aW/R39Mwf4t X+/HJfmB2wdnBX6W
5AiLY0fToluFfmrZPvbga376+ijFOTj7F02OjE/38DGfuj72G+wlv+xhk+en r4/Mgs6vDlvkj06S
1n+deXORH/vHeRd/qB8Msb8L21dF5t3lfuN26rfbnnvBuT/6fRef86iH7963 //0f+vQtd3xXfWnS
3kMHd+zfp/aQ1o4L70KN+ccHEEnWbHJkon6w6zq/u4VIQiS5PyDhTIeZqdCZ Gsc8M+iFwArXWRuP
mePtZfqo2AmgsN46do3gB4v4wSJHUESE37HTtSM0jul6nq47KmJsbXOM7HaX gtxPUvYikq65RvoV
yvpnSYrKm58laVBL9NttD54MFr5iKrTOejhfPHIa4oxAR6DxC00r+QtNiKTw GQgiCZGESNqw4Q+v
/qFCcVFWXIuk0lYKfuC2zB2rNCIJkeSelgeuWPEDt8GFQpOzN6YrPl9EJCGS zFRwdGeDH7hdIEEk
NVYYg1QU/cDtIJ7QCAQgAAEIQAACEBgpgWPuSRqpj7gFAQhAAAIQgAAEBiSg bxgP33w9oBs0BQEI
QAACEIAABMZIAJE0xqzgEwQgAAEIQAACSyeASFp6CnAAAhCAAAQgAIExEkAk jTEr+AQBCEAAAhCA
wNIJIJKWngIcgAAEIAABCEBgjAQQSWPMCj5BAAIQgAAEILB0AoikpacAByAA AQhAAAIQGCMBRNIY
s4JPEIAABCAAAQgsnQAiaekpwAEIQAACEIAABMZIAJE0xqzgEwQgAAEIQAAC SyeASFp6CnAAAhCA
AAQgAIExEpD+dpv6EZMxuo9PEIAABCAAAQhAoITAm9/85huv/1S6hv7ttgKR pEqX+EBZCEAAAhCA
AAQgMC4CWzZvuvCSy3oRSevr6+OKNe7NlVdeWZG3tVDFTwh0ToCh2jlSDHZL gC7aLc++rWXzpeRR
jyIpK776jl9iX++SKZFUhbeSiCgDgZUkwFBdybSuUlB00bqyKcyXXCRx43Zd HQBvIQABCEAAAhAY
iAAiaSDQNAMBCEAAAhCAQF0ExiiSLrr08rog4i0EIAABCEBguQRYOvvg31Yk qayYRzP/hsyr7a28
XXnJBAHdtCnQic1mwKkFgfETaDlYGF/jT3HtHi59NaGTD9OF2ook5eUN112r H81ypioOE6puxXg7
cLtDxkhbEJg4AUb3xDvAMOEvazXR3ZtOPkyWOxBJjqNaKhnB5Owz+SeIsZLa iL0B41juCpC/ExY7
YsdlXqfjtZ0M6kg/RhOyv/nkHOmKAHYgUAWB9IRgv5uYf1rufFcBCieXRWCw 1cQOkC7da7q7F0la
PWiRq19I9pnskjrgYF1juTEUe4801orvsz4Sa7RBvMZUrC0TvhFhQpKNyVAR AuMhYM4o0oMr+K6J
IjiHMI7Gk+XaPRnDauIvnbVTHZv/HYgk01GMjEjoCX/uSxDxBXL7DUZ/g1Si /dNps71Ki3p/M0l+
EiAvObZOhj8Q6IRAekIwu0edtIURCGQJLHc1ybpHgU4IdCCSTEfpxCHbyDBX fJ1WWgrzIp+L2iqy
3HkuMAiBpRNIDAGzXY1UWnqapuzAEleTKWPvNfYORFKpf3o3pWhPaJiJr9tW YtaCdyYVMezWz6Km
KQyBwQgkJorE4BrMPRqCQPoySId8mPM7hFlqql+RpKc5/UirIrukjkFetzRm Z7PK8TDhieOV326p
z35bsVhKLbdhQl0IjJBAeggE5xlGzQjzuMIu+f2tp9XE3KiaXZJWmPZgoa2p LMp/xKSWX0MT/nrL
YJRpCAIQCBJgqNIxRk6ALjryBDnuCfMllz397iTVBRdvIQABCEAAAhCAgCFQ vJN0zTXXVIFvNpup
fa9avK0CKU5CoA8CDNU+qGKzQwJ00Q5hDmAqm6+X/9BV8p2kMpE0QHg0AQEI QAACEIAABHoisGXz
pr5Ektqb6cnpPszeeP2nFIg+LGMTAhDokABDtUOYmOqDAF20D6r92UznS7+r ntMO6NubuCepvzRh
GQIQgAAEIACBign0LpLW1tYqwlOXtw3AVhdgdQ43SApVIDBNAozuWN77JtO3 /VXqz21FkmJt/1tW
yoUpGdJb05bQt0QxCeH2rXRoITgChfA7dANTVRNIj6Ds+BIuA76doGWhNRu4 xHKsLbu5BnbSYy09
nziROoX1nyZM/0/nrWyaWnbRIvurMZE2IBbrvQ16dYPWa6/SViSp+A9b/2I4 VJGRkBrMW91QV1Eb
t+vt1gZIt2S6IoydURFQ/TzR59PvqkCEw8S3E7QstOYoJMd/eVv2AJHUCvqc nuhibH2FJJkwdeBO
XXnFxh0v2w1iGelwZm7svKRiV352ZUfi8+qV6UAk+VCCpz56FGXPiorODDrJ xzDeOq04Z2NmlnHO
zPwAVXc3ddvY9OvGjpjE+eeIjttOUJKlJdsfYo12knqMjJZAelrPTvqJArpb 6me/WLBitjl/OGer
BMnrVX9ZSXFajzljpiCnQMxzUyw4/9sCy8doJ8teQWKI7LnRsdwH2OAM7M/P wZlQMvWZ8LOFE+um
vabE7Cyry1XRbgciye8o5hwiuMbrd0367cJ6ONkFOoe4LG8lcUnK2KIhWz7G M3jct2YSEUuZGfyx
uun0+W5IHO68S2BwtAT0aE0rngaLn68G/FbS7cqJldpJrHbyRiV6wrFW6qfQ GcdscMoSpniA1UEY
lJFffjgmFttb32x66ut23TQDJOiSDqEo8KkV7kAkJSSRhKZZaE3Ps5WvxEJR mWV568x9wbOx0vmx
D5sSmKV+Smxmyzj9JFueAitAIH2+1Hhdd1YFv5VSy8HhrJVK6QqUPfPRbaUn SWPEdsyuYizY7pkC
2bGmzZaGFuyQtp0gRt9D414MhbaZjSKLscEIkjNp2frA62YDFCtTpQOR1IaF mZ7sft9Sx7TxJ123
sbfpswr/vEQYgj0VxqpIygibM8X6sFlKvtRnyq8Yga4W6dhZfntc/XnYYIZ0 qvj7B3YB+UqfpiQh
IFEziZmnAQrfWvtcN7DQZhZtvBI18JMqSxZJOgHBMWlkky2ZJa/7TmraW3nr zc7GgvOOc2rVlYfZ
WLLnalkLRQW6mruLGqXwUggEu5Y9J/idId0b0wZNjJJ1PQjEGc6N7chpJ5oQ Dsy0QMm+214hmflf
MoPZzfn7KLo/2FnwX8vZ9lRS2AmFrcvXTaFBigUJdCCSzLah7gGxLVDdvCms E+z8adftaUUcxttE
XLGOWMTN4RxjFeMZPO74LPEz22561PluxBwW+sYgXxkC2anAGchO4HouymqF 9EBwztOy1nwfjJPB
ASvp/wkPzeiT2EkPZ8lgz4bvM0/nyG40LchsLaVtmtidPxP936aUjUUyjtJd ND2fp1Pmt97Juum7
ZI5I4p1smbYiSVG2/5nerA/qqcE86xfmLf/P2BGTHntVjr1Oj5O+vfUJOEcS bvu+JeoGWdmog57Y
E6udiGBqjAX/hZNEP0GO8WAGJR3A9J+YwckO3ZUP3JkrgtNIoh/63dvpxrEB kp4i0tOL3c8ldoIx
pgemGTW2JxI7iTHomApadmby2JD3ZxhnLbCzEJwMJTOkwznmv23Knm2c442H kr+cZZPi95DgkW7X
zWC3tPt/YwJTqNhWJE2BETFCAAIQMATsDRL9GjgQ8AmMZP/b3ngjTQ0IrN1w 3bXyX3pTv53boA2q
QAACEIAABCAAgZEQkMueMpG0vr4+kgglbvC7zRJKlIHA0gkwVJeeAhxIE6CL 1tVD0vnS76rndFBb
t22fzWZcbqsr9XgLAQhAAAIQgMBABHoXSXVdsK/L2wZ9pLoAq3O4QVKoAoFp EmB0x/LeN5m+7a9S
f24rkpx7GJeVcmFKhvTW/vSv0L0EvQ6ttXRGUj04AoXwJfbtMs7HjIOfOrb9 YXYoJbys8uk+nx0R
wkT7doKWhdaCPdMclLfl9Fjn9vCsnfRYC44R28ns+HIiCtbtabw7vTHbDRKx LKtjy9tt0OuCxmN2
urIvj6jGkm1Fkoo59sF1G0dXH7lsj3gwb7v9yLpxu95ubX8SuKv+oGgkPmjt s9Ll2/ciLPRNwM5s
LI869TFFLvHQbyXYboNBJ7Eca8ueOhrbSU90sfnEiTQ4voRnwpKZVpKjRJl0 J/Hl1AAutYzIqd7V
ZNWVnW6jq8VaByLJDzV4oqOKBc9gnMJFZwadUB7GWz9M//RLEru9KrSxGcNu Zkm7gH4dOyFOpDWb
oCB8pzltRALHn2Ict5ksshkZSYF0prJ5TBTQXUI/+8WCFbPNOd0saFkCVq/6 kpJ9lHFajzljpiCn
QMxzUyw4UZjRbZLiHwlOSkECdknHTh9ggzOw763dPWKzaHCKM301O08mpkd7 Oo3ZyS7i2bXGHlZ+
LA1m7z56eDObHYgkH58R7L5PzhmMHj/mzMn+M9ixmgVp11qWt7FTN9s3SRl7 jGXLx3gGj/vW9BFT
2AyDWElbwJmcJlLmuyFx2CEmHH7LXX7a99tpWtDJTSueBoufYzPYSlcdptSO sD9n+0OpnVI/sw4Y
jWInKDhlCVM8wOogDMoOzUySTrzO0uZYTk993a6bhn/QpeBE3WxdNnlsVr0I /pCFOxBJCUkkicQR
Q6VjW9JEUIiUVrTPSxJnAzGzTlzBs7HS2PuwKcFS6qfEZraM009M+axSzFqm wGgJOCtQcKVp4Lyj
q/xWShVDcDgrx0rtqCrZ/qzb0v9isRsjtmN2FWPBRmEKJCzrFs25UwP4iSQG MfoeGvdiKDT2bBRZ
jA2ik0v2lq33vW5m6QWVnHD5awB2iVU6EEltvDfTk93vW6quNv6k6zb2Nijh g5OFZAPG1weJkWlP
l12R6cNmKfnSWCSTZqlNyi+RQAP9IfS2K8td2QmuRkUTha29jMoJKkV9UL7S p5FKCBQNTH/mabNY
tKkr7EuJYm1m0cYrkdBt376wYqxYm2BbNt2++pJFkhmxfiRGNtmSVvK6PZTs gp3wVt56s7Ox4Lzj
nFoF57gGZwbZWPqwmZ5Wsi7ZBRxWRdNxUUMU7pxAsGvZc4LfydO9MW3Q+C9Z 14PBOsO5sR05yUQT
woGZHhHZd9srJDP/S2YwZ2gHR7qdBf+1nG1PJYWdUNh6ep4X9oEE1a60cqIJ YaTLLdaBSDLbhjor
umvqf0Exod/SCTAlzRmMc6RzOsN4m4grFlERN4dzrDfbNu0yweNC8jGbdlym TFZuCjtAzDc7mybA
RCDopM4HVE8Gs93MGciOG3ryya4T6YFgqgut+T7YM6HfVrMjZto0HV5iJz3t SCalLEyfUjpH/oxR
Ol34KBIWbErZWCS9Ot1F0/N5OmU9rZu+S7GJOjsty6MTLlUS4Msq01YkKVj2 Px2GOaJfm2fnLf/P
2BFDx1npg8fT46Rvb30CzpFYCHbsjujxfY61YqMOlrEnVm3WZmgfsUsaU2mb fqL9XMRCS7th9yjb
ZiKbLbvKsgYk7cZ6QnAaCfbY9DSS7oHZCS09vfjOOx6mB518SiwdR86oKfrT n8+D1Z1B6pP0h2Rw
kEpmSIdzLBzhRNp40PkhB2en2PqV6AzdrpvBbmlP5ukZPt0tHVdja4QTbGPm w1dsK5KG95gWIQAB
CCyRgL1BEtsyX6J7ND0SAsK9+b69Nddt+m5oVe2X/cDtls2bVhUEcUEAAhCA AAQgMAUC8h+4LRNJ
6+vrBt+ur/zemS+98a4/vXC0z3+79aee+/L3j9lDfIMABBSBWx549hNO/exo ZxJyBAFWk7r6gMqX
kkExtXfj9Z8aQiSd+uRXjVxv6m49cidxDwIQYKjSB0ZOgC468gTZ7unzrq5E UvN7kpQfEmoPfPl3
JcVGUqY/b4WWVTFhyZEQww0IQKAuAsww489XrzkSGq93MVJ70h2muLlI0n5o juYR80yYlQ4DC5oa
zFsJE+2hTUa9Vvtz49+i6ztN2IeAPbekx3LLOcefu4KzWYMZTGI51pYzLTjL lcSyM7eU9ijHAX+m
MgYTS6ntpx+CmQDl4aQXmiCllhxKuXVbvkGva+PAyixGwh0cIavmIsn4odf1 9Oo+noV/MG9NQwN3
dGHiKQaBMRMwJwxqHPkjKP2ufF307QQtNxjCEsuxtuy5tI2dpedXT/uJyd+O zhRLY5nUaeR41s2l
96UiB8a1kyQ8ydOzjDkPSJwnpc8VikgJCwfPY/rzNnbaZJ9XOedY5k8z+ydO 0YRRUwwCYyaQXh6y
i0d6YTbjyC8WrJhtzt93yVaJzZwNKjbwOTvNGm2qJUusqxhBI9GRQb3rWHaa S1TxmWtBZtYa222z
yRSs1XggOBhN084EHoQTWwh8D1uum8HqwSXGrHq1L0aj20nyO0piY8nZX7FP GnSG+t6AWbq3foD2
uZF5nTid0j1YlyyapBrPBVSEwFII6NGaXaRLfXNsBltJtytvsdROVr4kmpa3 JZlmzfRiJpyg/pCj
8EvqJoyCSZiSlwwaMfOqUPxJgkpP0c7SFtSCZg531r4gqETh7LoZS/eqLkaj 20lKSCJhV7OLCceM
xHJitDQ4XTPiWuitCcRpq02Ajd1ujIuKEFgiAXth8N2QawKnrjOO/FZKLSc2 MErHbFa+xORCVk1K
tEj7XKfnNwPKNJSNN1YyxtzRdjFlVpoXIRm52TYLgRZVwpUoraob9wp5pEJ0 HRYb3U5Sm9jM9GRS
bsbMCHNQ5G1QO6ZPL9qQpC4EJkWgVMfI4XRluSs7iX0F81a2rQanstqmsxg7 C7Nerc0Ok/qzQUPy
1KxSyTYrXdFKFIO2wovR6HaS2nfcoB4yg9MepZLX7f1JW0h723fr2IfAFAgE 12Z7TvCHYWI598+8
NUO/SlZtxOA7GxiN7ciTa5rooy1j09ZJ/iZNg5U+Lbycd9OhxTaN0ifYWfEn T0FpyXSvLrUmXzdL
LddefnQ7SWbbUPeA2G6wmZV0eZ1gU1f/adftaSdpud76cMwRp18OgKL2kYD/ K0wg2/+dgeygsPc2
EpSCrfiWhdZ8H4yp4OTmty45YqZNe4Ys9dmZeHvqSFluttsmnGxSSpcGe44N ir9m4ae7aHodTCfa
98fJV+m6GUz3Ci9G3e4kNf9ZktKeqsd2g1rNerCq1fI7Ugf2tnGYVIRA7QRa DtXaw8f/IIHsDJwt
0CHYNl20pZ/Lrd4hw8FMVfaN24NxoSEIQAACAxCw9z/06wEa7bWJcUYU22Xv FUWHxofZruvQ4ZUx
tcydpC2bN60MRwKBAAQgAAEIQGCCBIb4gdvxY9W/9Dt+P/EQAhMnwFCdeAcY f/h00fHnyPYwnS/9
rnpOB7V12/bZbNb8Z0nqQoa3EIAABCAAAQhAoIhA7yJpbW2tyKHlFu7PW6Fl VUxYshRUT2ZL3UiU
H7+HHQaLKQgsiwADbVnk5e32miOh8f4WIzmHMZRsK5I0R/MvFpIwK30TGcxb CRMdrE1GvT68+Nee
g9yBdFvZxHXVUPuQfQtj9q2PeFfMZnpW6WrO8e0ELWcHQqL7mbfkbTnTgrNc ye007hKOA/5M5QQV
bMj20w/BTIDycCRdwnesQe4ac+u24sCe97QYdctkeGttRZLyWK/r6dW9k4W/ EzqDeWsaGrijG0qd
OCBJXCcNdZJc38iYfesp5NUwa04YVAb9EZR+11nRE0B8O0HLDYawxHKsLXsu bWNn6T1Bzx6JOcSO
zhRLY+nqNHLpcCQOSKZfiR3KtCHQgUgSnkLpmSt70pA9QWwTbfZ0x5zc9Odt jIB9XuWcYzle2b6Z
10Is/gliLNIsiqAiMfadMNPtOqb8upJuU7Q0+ue19pGs8zqcRLBp+8JkTblY ennILh7phdnkzi8W
rJhtzu/e2SqxuahBxQY+Z6dZo021ZIl1RSNoJDoyqHf9sW83l6gSnFJibpvx GKzVeKAFJwp/WgjC
yc5pppe2XDeD1YNLjLOaZKdEMw3aeGM9ITar2wtNcKWLrYbOHNs4idmKHYgk P3hz+h5cR/W7hq9d
2Aw5yXDKxiaRRHaLw3jr723Y50bmdRCFPWEZjDbPBkzSBIxB3+1EW5I8xsoE jzutZ+EU+eYQkDiv
ZxM9m2erCwk3yN3KV9FzS3aRLuXg2Ay2km5X3mKpHWc6lTdk98lsLclw1pOw gS+UTdmm7QLapmS1
k5cMOmDm1Q6jSM9C6VHv1+11JYqle7DFKDtJps8ZmlUv6oqJwh2IpIQkknip 4reLCceMxHJitCSm
3bRlubcmEKetNgEWuR1zIIuujYfGuGMkODe1acivG4QThODXddKaRaQKpFdu Z95vYF/iw8qXSZ8A
lOoPW/E7S7VzVlZqObb0ltrR/SoddUwupNtqM9aKulm6IYezJF47azaZGHNH 2/nOZwsUxesUlk/R
LTMiX4kS4bTxQR6pdqDBHFg0x7bJWrpuByKpjXOm0xuCZo4ozUEbN4R1i7wN asf06YLQDWGxxuK1
cUV/4dGmYg63ybWwbtABp66fViFhYVyd22/p3mpUb6A/hIF3ZbkrO8Fl3unY 2bYaDGptM7G26bfM
+YD+s0FDwrysWDHhDBaMumglinEbfjFyTh3bJLQNvdJ2lyyStLvBddQMTnuU Sl6XIigtn/a21Noq
lQ/O1Lb8jU3lDU4yDDdJ3dhcb9ftQ5T3bX+VOo8TSzCt9pzg5yvdE9IG7e7U rCfoPmbqZlVL+9yZ
Jvpoy9i0x44Toy2J5NDSwst5Nx2a709iQXFSLJk32ueoqFeXNidfN0std1Xe gSzvJHIHBshjByJJ
y0MjEnXHNX/6vUS/pXmZkvpPu24fQO0WNdyBvfWbM0ccUD2hSDjQuLc5SRTm MRZg8Hj7fmImX99+
1ni6kzjvZu3Lx/+US2b7vzPtBFejbJdOdzZTXb/IWovNdf5UE5vufH8SHtoz pE8j7bM/ZvvobFlu
ttsmnGxSSpcGe441S09aq0lopLuofNLwO4PfupOv7JSVXnaNlHRW6v4Wo6zD clzC9UWSQWGZtiJJ
xWb/M/T1QR2PebbPPPySiSMmGHt4xF4nIh/AWxOFL3qcAO1JwaEURBGM1zZi t+jPI05zJkF+Unw7
CdR+9mN5tLtBOkBj08677XCwI/l5dyD4BIo6oe2VbznB0w9HODgnXizYDfxB FBwC6bpODw/mTjhA
YoMuO9U06HvOcPBHh9Dn2JhNxJKdgf3R7QxSZw4xM15wdDiD3TZl2zGKRzjr Ok76k2TpiHOcT08L
fuuJOc3wiU2V6fkw3VZ2LZDP1XZJfyTGptzgouN0y6I5tjRxReXbiqSixig8 TgLDnFaOM3a8gkAp
AXv/I7ZlXmpzueXHGZFaJqvGy7y63F7dVetrN1x3rfyX3rZs3tRVw9iBAAQg AAEIQAACwxOQy54y
kbS+vj58MI1b5HebG6OjIgSGJMBQHZI2bTUgQBdtAG2JVdL50u+q57SHW7dt n81mXG5bYh5pGgIQ
gAAEIACB8RLoXSSVfiRkuaj687Y/y10RG7+HXUWKHQhAoD8CncwknRjpL8a+ LQ8W/mAN9U2sP/tt
RZJzx1/M0ZFkYjBv/U/kNkthlltXDTVzr0GtYETCvDjNZeE0cC9dZfgWOw+h IoPO55P97Kfv6hUm
y28l2K7Qmu2kxHKsLbu5ZnbS9JSfcnraGYeAEEgiQGPB8SRm2TGVnfpis0q2 4njGiBDyeBxeSU/a
iiQFpfQDpcvlOJi3pqE2HV3yIdVOGlpuUoS9yHFSAmfpceFAMwJq1CQ6dvpd f0VPnLw5rQQtNxjC
vh3JEe25/eluSS1JGV9i+h+zb5apRK0YzAZTVtBU1o4/29t2xj+BjN/DzvvM CA12IJL8qIKnPubc
xT9vsI9kT4A6hzikt/Zs65xIOVh0mLqM8NRHf2LWVHSoGm6xMnaBYEaCFYXZ dALPrjp+yD46A8de
FJ1sBu0Yn3tyvvMuOkGD6eUhu3gkCtjdxi8WrJhtzu+c2SrBnOolvDTdwijs Ae5UCfpvQAld8oee
XdHMTjHCsTkhO1foU6zgbBCUhqV40yrQn2YlE7s9q8cm3vT8H5voEsuxPwmn j3QIqmpTHYik4NiI
naYkztt0n8ieHLTEPTZv7ZAToRVhkWCMlQke91vXR0xhez41b+lwYnX9+cuR LPKQzdKyLOdb9kmq
xwjoLpFWPMIl3G7CsRlspZleCS5RRR46E5RvUI87ic8JetlWSvukcB5zBEGW jMlCIuqEEjJh2mqg
NLRE5/TnqOBcFOsV9lSZBthy3UxXH2bl7Qr78HY6EEkmAc28d7pv56PX8Wow b2MTWZZSJwQcI/aZ
lpmYOmkoq3Wy8TpaKlY+GIKpK2wlXawPIJ04NlkjjuBOLIdFiJy12W+lVCHF OmepneBJRTBqic/O
GmyfhDirZtB/cxZUxFZY2Pff+GALKXuyEp412ck1VZyM9zfSs7LPkYmN1Vvn 62Z/TIRdYrTFOhBJ
bWIzQ8WkPNat27TSVd0ibxurscYV7TAlGCVlStH1YbPUh8blq3a+cdSVVmyg P4SRdmW5KzsSt7Nt
dTKrSDzpsIwvm7oyrml0Za2ZnTazTdFKJHSvjT/CJiottmSRpKkF+6uRTbZk lrzuOxNpb/tuPWE/
OFHa6jM2kzY+m0k70zmKXk9tbW/7ANI5jdU2GEyBPSf4wzCdtbRBAzOrNmLY nc7Z2E6DtPptNejA
nQ8uR+IYJxO++apIqJOEtIXWGqRAWEXYCYXW5Oum0KAu1qDzFNmvrnAHIsls 02m4uiPqfz4O85ZO
sPOnXbcnpb9cb304aVyS/uQwdFIQwxhDHTzuNxF0TJI+U8ax4ORFErhfRuJA epHTbmShNXOPWnIC
2VSmO4yefLLTfbq3m+pCa+ku7bfV1RF7IvUnYb8zZ9nG0uRM7PafwXks2FBp 60a9+bOQcF6yw2k/
3xpr6UDSDaVT3/m6mVhndVulSZEP5BUo2VYkKbj2P0NcH9T0zbN+Yd7y/4wd sftl9nUiKwN4awg4
bpipKo0rWMue5pwpz7fmpyBILJiLWF0/a06YfnQ+B6eMM3M5gcRC9o/HgMQc sN3wo3A6p4/OLrAC
43/MITi9LjiNJPLlZMrPe7C3Z6eI9PRidxjJSA/G6HuePtLAZ79dG29sjrVr JaJzBqkzQhMzj3nL
cUZb8GehRA8JhuNk3HesdDjEJsbEROr3kOARE3K6l6atSdqKTd2lKFa4fFuR tMJoBgutwfnQYL7R
EAQg4BCwN7FiW+ZAswmolXiCoJjYV2MUlP3A7ZbNm1YjbKKAAAQgAAEIQGCa BOQ/cFsmktbX1ysC
yu82V5QsXJ0yAYbqlLNfRex00SrSZJxM50u/q57TQW3dtn02m3G5ra7U4y0E IAABCEAAAgMR6F0k
ZT9gMlCgsmb687Y/y7LI8qXG72E+hspLkILKE4j7cwKddONOjNSbj8HCH6yh enPRViQ59zDGQIwk
E4N5m/58sry7ZLl11ZDcpZYlgxEJ8+I0nYXT0lW/etb5zltsabC67mHH63zg 3M9++l5gYffwWwm2
K7SW9l/elt2cpJakTBCgZMbWzjgEhEBiMO3cOXmMWXZMZft2bFbJVmw56Dqs LoTcYYuY8gm0FUnK
ov9ZUL+Z9h+27Cp5g3lrGmrT0SXcOmmoK7yN7Ujy4hiXwGnsT1HFMadgzL4l IKtRk/A8/a58M8O3
E7TcYAhLLMfasj/w38yOhI/ztQJFHV5YOB2g/shbG1PZvu3PKrZL45lAYhDG 76EwfVUX60AkBU+4
gycHQQkfOz8YDGvwJEzPs8G3/HOgoqFu4jK1Emc2uozw1MeedHyqiXbT5+h+ 67ZxP9FBPjYip0ow
0cFGnRAMHHtRjHUnn7YBa5tt6fxgKbB7hfbfppEdO6Ud20mf31x2FPstpp1M Lw/ZxSNRwAYV/Aof
37Fscz6fbJVYt29QURiF3c+dKkH/DSihS34fsCuaoRG0lhBMktnVVE+PAvWu MJbsCDKDzpkxgnNR
MITsGLRHWbZwYnwFl4+sQeGiYE8+/kQUnHX9uUtIe1nFOhBJwbERO01xtL/u taaw/adkbDSgNjZv
HQKxiLLnTHZFCcZYmeBxv3V9xBS251PzlnYpVjc9CIMVY3DM3Lcs533H+k5B 0L5wDfDrNhuGQex6
BkwPc/mw1aM1rXgaLHuOzWArQpjZWErtJFY7M6BMGV/r2EcS9LKtZOPyx689 k2erZzNrVlwdkZ5t
JLVs4KaKnqC6/Zceg86YSuDyJ0/fz5brZnY8puervueHbvPSubUORFLR2Agu J84Cr3t256E6a3Yz
+45jiblGOKSDQNoTcByzz7TMNNr5RKkXyGbOZ3tRMAST02bZzAq1Nmb7ToGP OigXgv3Qr9tgxKW1
i9MNGtg3QjlW114OizLleO7IeqPz5DZjnbOBh9nTodh65rdlx+X3RvvdoP/m LEjOQV7SZ258MEbs
iNKruN2unVwD01eTzaapbIByyd54qjTysdt1M+1Pg/FbND9kwS6xQAciqY33 ZqiYHMS6dZtWuqpb
5G121Y951biiM1Nk7fSBug+bXaUva6db5yXWJGWy/SQ9L+smHCNOu37HzrJK F+jbfgMdI4+ogbIJ
Gu/KjsTzbFvZ2UDSysBlfNnUlQPBQdGVcaGd9mPf1nltrGmHExb6nh+ExJZV bMkiyaTHj9/IJlvD
Sl73jTK4JjUQ2p37GZwobfUZm0n7cL4Pm3rSlJ+rNSbc2PmlpEDibWy9sev2 Abax/WBQ9pzge5vm
kDZoukrjDuZ0zsZ2GnRavy1Jl/B1c7c+O13OGE/45vdSoU4Sei601iAFwirC Tii0ll6JGvQB3W5w
5dUqSuiYvFhjJ+VNtC/ZgUjSelb/0yjtPx0XzVuauPOnXbePlNgtLsVbH04a lyTBDkMnBTGMMdTB
434TQcck6TNlYh2jzbCROBBDKqmbdd7QLrLmTPGSFEjsB1fBYPfIDsN0L3Xe 9X0T9h/b4WyAzrTj
dyd7ui9Kum9Z98nSnpmYGHU/8WNsdiQ9rfkzQJZtDJczsWen/WBDpa3r8pJB IZkt28+3ppV0IPIh
43cGP5CW62ZigOu20rH0PT9IErfEMm1FkoJr/zPE9UFN3zzrF+Yt/8/YEbtf Zl8naA7grSHgL1EO
HDN5OUycpcKm57y2cTlTYdBmukzCHz9rTpixunaLThknTKcXBSsGUQiDCnZF Pwqnc/qdzS4QS6g/
CoKdNjgcYnX9hMaS4vefWBTyjPs9LYs9PcwlU14wZJ+5HYUdqZOpYLHEjNTA f6fTOl1aPt35nqeP
ZKc1n7ZkfvCHm10rEZ3PwZ8MEwNNV/dnAL/DJ3qIP1X6fcPpw5I+KQ8klu50 FzVYHAix2CUdPt3x
0pNAg+nIT19ilDVgPnyVtiJpeI9Xr8UG59mrB4GIIFALAXuLyOyg1+L8UvxU C+cEQTGxL6Wzdd5o
2Q/cbtm8qXMPMAgBCEAAAhCAAAQGIyD/gdsykbS+vj5YDO0b4neb2zPEAgQG IMBQHQAyTbQhQBdt
Q2/4uul86XfVc9qxrdu2z2YzLrcNnz5ahAAEIAABCECgAgK9i6TSj4Qsl1ld 3i6XFa1DAAIQgEAf
BIZZiZp9bLOPeMdss61Icu5hjIU6TMqzoAfzNv355KCfQkSxYk6LQQfsusLm skgpAIGeCDgfOHda
Sb+rCgt7uG8naFlozXZSYjnWljNUnbueJZYTBPxYYjCLok74LJl5YpOzE3uQ sF3GicU3K1wFeurV
RWaL+BdZprCcQFuRpFryPwvqN9/+w5bykNIlB/PWNCTs6G0QqSYSn8gNzolt musqF9iBQOK0KjGC
7A4fHF/CQefbCVoWWnPWb8d/eVv2x+MltVr6HINZFLUjg2K5020Fk25/+l04 O/lVgrE4c6NkCRjJ
wBRyGIm3q+pGByLJRxM80dFnNsG3EucBA3Afxls9iZipJHi6o4MVIpKT0Z+/ NeUT85TcJiUh0CuB
9PKQXTwSBeyR6BcLVsw254wvferYgE+HYzPtgJlynRbtucKxYM9dZqYyLyTx 2m0F14LgUqI1jdN6
kYBLC/EGabLnUmfxCk7yQW+z87wx1X7dDC43vledUG3Dc5x1OxBJfgKMVPdj Tpxd6T6ROH3shOAS
vTVzhB+mmWL8t+wjmoB9ommO+EMuiKvDWbiTdGAEAgkCulenFY9keXaacGwG W+lqpJTayQ5krRiy
ZNL9yp9DGvdDYYB+scZTvbBFX8rYIqDUSELAORpOd0h/3rYtSOZ5u3ybddPx JOZYeyCNu9DIK3Yg
khKSSBK83XF139L/JHUblBnMW38iE87mzQg0nnEaMKQKBIYh4OwipLWO3CVn JPqtlC4YZpn05Zdw
1BvnswPZX18lgTebVWLKIDhp69lbn8V11VwwtMZISytKwDpl5E20RFS0bmbX 09IO34BMvVU6EElt
gjfTk8mimSPkva2NA0V1i7xtrMZ6JWCf9BTFTmEIjIpAf9N6V5a7stMJ9sbT UbZ127KZtP3mGsw8
elEw58zZlT7rqikwhtS0mecbrETprYcG2ZHTrr3kkkWSxhfUQ2ZI2GND8rrv lKS97bD1riYFZ0Zg
PHSYI0z1RCDY+e05wR+G6fGSNth++dTDyng1hmVYkhpnNki4bQfoBBtrqP3M 00ZJCL2SUOqqjLAT
CpuTr5uxRdZuiHUhhr0DkWS2DSV7raawTrDzp71P29NO0hi8TYTpv2Uf0X3d Pyewg7KnaX3cJ8l4
EE5DFFsWgexU4Axkx0+zCZH2P9iKb1lozffBmLJHrhmS6cGuh22zMnpqNc+O Y84cEkPdLGrd1rJm
nmy3sd3zJ9Ki3p5uy5m3YykIdgbfjTbrZmKRDXpVBGEKhduKJFvpm8XYHDQC NviWflf/M6yDR+x3
s68TaRvAW916UJfYjvlhpgnYlBxiNkafs8M2SG8KHZ0YqyOQmApiA1kyjThj 02klO0WkpxffAX/k
Zqc7yZTYoIw//zje+kum30piAvHjSszVknnJz1SDqTU4FdtZbjMu/M6TnuTl qdcl/fncrC+SDpAt
7LQSxNuGz2rUbSuSVoPC0qOoZXN+6aBwAAJLJ2BvNbXcjVh6LM6ivkrhLJ2t s4WzdH9woBmBsh+4
3bJ5U7NmqAUBCEAAAhCAAATGQED+A7dlIml9fX0M4Ql94HebhaAoBoHlEmCo Lpc/rWcJ0EWziEZV
IJ0v/a56Tvu8ddv22WzG5bZRZRZnIAABCEAAAhAYC4HeRVLwQ49jid7zoy5v R4sRxyAAgaoJMBMu
N33wXy5/u/W2Ism5hzEW2EhSPpi3ic8nO2+lP8k8no6CJxAYmID9+Xm/6fS7 qrxwzvHtBC0Lrdl+
SizH2rKba2MnMSEX3aPt+GPMmuOOk71Oa75xJztpegN34zbNNeh1bZqjbpBA W5GkjEo+Tul/DnNZ
+RjMW9OQM2J9B4Ill8WHdiEwBgJq1CTGRfrdIoXktBK03GCt8u1IjmjP7U93 S2qV+pylV9oBggZ7
ndaExjuPtJRMy/LjWTdbBlJ19Q5EkuQkT88ywdOL2CnIYFiDJ2p9eKtH7GBx 0RAE6iWQHinZcZQo
YOYifYLnIApWzDbnb7RkqwRT0+EUkXAg+JY/DWoPJQJREqyPyG5RvzZM/Lec ApKO7cBUTpomgnN+
jECiLX/xsokF17tgjAa1z6H9SmR3eNtazLKE7aTKdCCS/I7ifMWWDTRx3qZz JjxFaJykurxtHCYV
IbACBPRoTSseyQrtoHBsBlvpSq+U2sku1Xqxz5KRZN/4Fpt4TQGjMPQRs+46 8O1gHSeDtfRsb1q3
zdrbad0uCn6w9hEJN6NpfMeCSH2bpT60XDcTXnXLVk6vopIdiKSEJJKA0AMj oa8lRuRlBvNWPpHJ
S8rDpCQEVoCAWUSDsZTqD2PEWdr9Vkotx3RDqR3lYXbRigmadLp97RVUivZs XOq8U94PxOih9j1z
tHOmXLJn1XA2ofJ1U+5V+9SsnoUORFIbKGZ6MoPTDK0R5rXIW/tMKI2opW5r w5+6EKiUQOkSLg+z
K8td2ZF7nijpTDK+b/7Ea5SfxIGBg12BObPNSle0EknSR5kEgSWLJO1ZUA8Z 2eSc3JhgYsf7znfa
W6d1e6IpmnT6jgL7EBgzAWeDWbtqzwn+MAxWCU4XiYONF3tnm6SxnQGSkvbN xuhPXxp7s2B1u+k0
dRi+09YYMpLu1aWxy9fNUsuUtwl0IJLMtqHuAbpr6n8+a2eb1PnTrtvTTtLw 3voTTYIPvRMCEHCm
kdhikJ5nbFEVQxqccJwpwtgpXd0TU40tNXSxbo9kfc76ZogJZU0Qmh2aE2Oi k/sriLNM+HXtKrYY
CubXP5hes4o6j8Mttg6W+tDVutmALdNRW5Fk7xmaucwc1JOdedYv9D+N3vkz dsTuednX6eFnO+z7
0N5bY9N2w57lHQd60oL0bAjUTiA4OThj1plM7MnBfsuZgpyxGZyR0tNUkG1s mJdOd77nnRzx4SRi
dGLxp7V0sMFp1pm6bSyO/fQyEZwz/RZjS4xw3ZEMH9/PRNeyO2HWh/YrkY83 CMQfZZLAJ1WmrUia
FCyChQAEIGDvmsS2CqAEgewGGIiqIFD2A7dbNm+qIiqchAAEIAABCEAAAkEC 8h+4LRNJ6+vrFRHn
d5srShauTpkAQ3XK2a8idrpoFWkyTqbzpd9Vz+mgtm7bPpvNuNxWV+rxFgIQ gAAEIACBgQj0LpJK
PxIyUNyRZkbu7cjdU1DH7+FyOxitQ6AKAgzk5aYJ/svlb7feViQ59zDGAhtJ ygfz1v9ArCHjvCUv
2bjTZOEnfGjcaFcVx+xbVzFiJ0jApL7Bu3K97rcSbDc7iHwnJZZjbdnNtbGT mJCLbjl3/LFnM/3a
cbLXYesbd7KTplfRcGvQ6yqKrhZX24okFWfss5c2gvF80H0wb01DzohNfAeB PySCRkr7lgR+Jw2V
OiYsP2bfhCFQrJSAGguJvKffLVJITitByw3WKt+O5Ij23P5kvqRWqc9Zep0k q9dhKzTeeaSlZFqW
l0zdLZugepZAByJJeApln20klH769DEbT4MCwRO1PrzVI7aBh06V4Fld4tRN lxee2ykPjX3/7DB7
BmkXsE9Vg60H7QsXpGDWgi1ql3xoBospkKhuA2yfQSxkCaRHSnYcJQrYefeL xb6DJ+2w37uyHgYN
djVFKOMJB4JvxSZeyXiUBBscgGbE2UPPGWvCiSu4DNmOJWY2+fToT8XOpGFP NWnPszOYMSWcPB2G
zlwdnNWzbP0p2o/XnmBLJ9XsPDCGAh2IJJ9j4vupEudtuk8ITxEas6vLW2GY NrdElSK2klzEygSP
C0/ZhRNuJx3JrEkOQN9/IWFhvigmJKBHa1rxSDqMv7bZtYKtpNsV+m/mtKLy sdVOG9GLfZaMpMVg
/zerqe28URi6ilkLHfg2NMfJYC09is3gss3qt0zIpqQkrqyiTc8ewiaCs1xs Sgn2QDuo9AzTcrpL
eJVYFLKzYhCUfFIVcl56sQ5EUkISScKzx6Qeluk5QmJTIhSa2ZF7K5/IEiXl RvxB2B6jk4vgNNcm
X37d4IIXhODXdVIjyW969XUANrAv8YEy2dEaI28vyUUYnbz7C3Cp5ZhuKLWj NVBaEATX5mz4wfHi
K0UbdanzTnk/EKOHst5mCzSeGLOWWxZITCndTtHylUh3qmZxNZj0iibVZl4N XKsDkdTGYzMdmGSY
odU4r238Sdct8tY+E5KYDcbbWIA2rmi7KsmFpEwsfGHdIEmnrp+alt2gb/st 3aN66RIuJ9aV5a7s
yD3Pyk0zyfi++YPRKD+JAwMH28n8JomrvzLC2S/oQNFK1DiEvifVxo4NXHHJ IklHG9QHRjY5JzcG
UOx43wTT3jqt2xNN0aTTdxQx+8HJzpawsdmwwTlHMJUJRRVswj7Yh7Du2/6y Ej3ydtO5TvfSYGjZ
zqNrNV7snW2SxnYGyEvaN6fDB8d+s2B1u20miiI4TltjyIiwEwrDlK+bQoNm CNjl+55Ui3xbSuEO
RJLZ+dQ9QHdN/c8Pybyl0Tt/2nX7yI3d4mDe+jopwUfSCXzCaeYSm04inDzG chHLV/B4+1wbkr79
rPE0IufdrH0JUsq0IZCdCpxpx2lLj+7sepzuqKa60Jrvgz3S/bb6O2JijxFI TNrOYBfKGj8d/lSv
LWcN+kPVn50c1HYVWwwF85vGLu+06S4qn3BsLH2vm0Vs+55U5aiXW7KtSFLQ 7X86GHNEvzbPzlv+
n7EjhpE9gGOvE0AH8NYQsN1wXPX5BH12ZqsgRlPGtunPIHZd57XN3J8ftdlY LMGE+n1AeMSPN+hq
0JoffuKI0yclBhN4lzuAV7j1YAadZNn9MzjK/Kkj3cmzU0R6erGbS0+MwkEh nySdoZqeELK+BWfX
xPTrGAzad3Jhz13OtOk47//pZ8FvMUZYiFQystKOJTpw1gdnjkoDiVmLLUbO qPF7ToPO2WBSlRAe
Q5m2ImkMMeCDIpA92YISBCDQCQF71yR26t9JQxipmgBzctXpM86X/cDtls2b ViNsooAABCAAAQhA
YJoE5D9wWyaS1tfXKwLK7zZXlCxcnTIBhuqUs19F7HTRKtJknEznS7+rntNB bd22fTabcbmtrtTj
LQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFA JA0EmmYgAAEIQAAC
EKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQg AAEIQAACAxFAJA0E
mmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiL ACKprnzhLQQgAAEI
QAACAxFAJA0EmmYgAAEIQAACEKiLQNkP3G7ZvKmu8PAWAhCAAAQgAAEI2ATk P3BbJpLW19crAs3v
NleULFydMgGG6pSzX0XsdNEq0mScTOdLv6ue00Ft3bZ9Nptxua2u1OMtBCAA AQhAAAIDEUAkDQSa
ZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsA IqmufOEtBCAAAQhA
AAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAA AQhAAAIQqIsAIqmu
fOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAID EUAkDQSaZiAAAQhA
AAIQqItA2Q/cbtm8qa7w8BYCEIAABCAAAQjYBOQ/cFsmktbX1ysCze82V5Qs XJ0yAYbqlLNfRex0
0SrSZJxM50u/q57TQW3dtn02m3G5ra7U4y0EIAABCEAAAgMRQCQNBJpmIAAB CEAAAhCoiwAiqa58
4S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMR QCQNBJpmIAABCEAA
AhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0E IAABCEAAAgMRQCQN
BJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCo i0DZD9xu2byprvDw
FgIQgAAEIAABCNgE5D9wWyaS1tfXKwLN7zZXlCxcnTIBhuqUs19F7HTRKtJk nEznS7+rntNBbd22
fTabcbmtrtTjLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQg AAEIQAACAxFAJA0E
mmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiL ACKprnzhLQQgAAEI
QAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYg AAEIQAACEKiLACKp
rnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLQNkP3G7ZvKmu8PAWAhCA AAQgAAEI2ATkP3Bb
JpLW19crAs3vNleULFydMgGG6pSzX0XsdNEq0mScTOdLv6ue00Ft3bZ9Nptx ua2u1OMtBCAAAQhA
AAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAA AQhAAAIQqIsAIqmu
fOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAID EUAkDQSaZiAAAQhA
AAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEt BCAAAQhAAAIDEUAk
DQSaZiAAAQhAAAIQqItA2Q/cbtm8qa7w8BYCEIAABCAAAQjYBOQ/cFsmktbX 1ysCze82V5QsXJ0y
AYbqlLNfRex00SrSZJxM50u/q57TQW3dtn02m3G5ra7U4y0EIAABCEAAAgMR QCQNBJpmIAABCEAA
AhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0E IAABCEAAAgMRQCQN
BJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCo iwAiqa584S0EIAAB
CEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpm IAABCEAAAhCoi0DZ
D9xu2byprvDwFgIQgAAEIAABCNgE5D9wWyaS1tfXKwLN7zZXlCxcnTIBhuqU s19F7HTRKtJknEzn
S7+rntNBbd22fTabcbmtrtTjLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiL ACKprnzhLQQgAAEI
QAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYg AAEIQAACEKiLACKp
rnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAAC AxFAJA0EmmYgAAEI
QAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLQNkP3G7Z vKmu8PAWAhCAAAQg
AAEI2ATkP3BbJpLW19crAs3vNleULFydMgGG6pSzX0XsdNEq0mScTOdLv6ue 00Ft3bZ9Nptxua2u
1OMtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAID EUAkDQSaZiAAAQhA
AAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEt BCAAAQhAAAIDEUAk
DQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQ qIsAIqmufOEtBCAA
AQhAAAIDEUAkDQSaZiAAAQhAAAIQqItA2Q/cbtm8qa7w8BYCEIAABCAAAQjY BOQ/cFsmktbX1ysC
ze82V5QsXJ0yAYbqlLNfRex00SrSZJxM50u/q57TQW3dtn02m3G5ra7U4y0E IAABCEAAAgMRQCQN
BJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCo iwAiqa584S0EIAAB
CEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAAAgMRQCQNBJpm IAABCEAAAhCoiwAi
qa584S0EIAABCEAAAgMRQCQNBJpmIAABCEAAAhCoiwAiqa584S0EIAABCEAA AgMRQCQNBJpmIAAB
CEAAAhCoi0DZD9xu2byprvDwFgIQgAAEIAABCNgE5D9wWyaS1tfXKwLN7zZX lCxcnTIBhuqUs19F
7HTRKtJknEznS7+rntNBbd22fTabcbmtrtTjLQQgAAEIQAACAxFAJA0EmmYg AAEIQAACEKiLACKp
rnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAAC AxFAJA0EmmYgAAEI
QAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAACEKiLACKprnzh LQQgAAEIQAACAxFA
JA0EmmYgAAEIQAACEKiLACKprnzhLQQgAAEIQAACAxFAJA0EmmYgAAEIQAAC EKiLQNkP3G7ZvKmu
8PAWAhCAAAQgAAEI2ATkP3BbJpLW19crAs3vNleULFydMgGG6pSzX0XsdNEq 0mScTOdLv6ue00Ft
3bZ9Nptxua2u1OMtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEt BCAAAQhAAAIDEUAk
DQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQ qIsAIqmufOEtBCAA
AQhAAAIDEUAkDQSaZiAAAQhAAAIQqIsAIqmufOEtBCAAAQhAAAIDEUAkDQSa ZiAAAQhAAAIQqIsA
IqmufOEtBCAAAQhAAAIDEUAkDQSaZiAAAQhAAAIQqItA2Q/cbtm8qa7w8BYC EIAABCAAAQjYBOQ/
cFsmktbX1ysCze82V5QsXJ0yAYbqlLNfRex00SrSZJxM50u/q57TQW3dtn02 m3G5ra7U4y0EIAAB
CEAAAgMRQCQNBJpmIAABCEAAAhCoi0DB5baX/9BVdcWGtxCAAAQgAAEIQMAh IL/cJhVJyiKUIQAB
CEAAAhCAwAoQEN6TJBVJK0CEECAAAQhAAAIQgICEADduSyhRBgIQgAAEIACB iRLgxu2JJp6wIQAB
CEAAAhBIE0Ak0UMgAAEIQAACEIBAgAAiiW4BAQhAAAIQgAAEEEn0AQhAAAIQ gAAEICAjwE6SjBOl
IAABCEAAAhCYGAFE0sQSTrgQgAAEIAABCMgIIJJknCgFAQhAAAIQgMDECCCS JpZwwoUABCAAAQhA
QEYAkSTjRCkIQAACEIAABCZGAJE0sYQTLgQgAAEIQAACMgKIJBknSkEAAhCA AAQgMDECiKSJJZxw
IQABCEAAAhCQEehBJO3bcMK3jjv5tlMPfOm0Oz978udnGz/+P/f/ydadW//7 vR/5f3fMtu+8/nO7
br99//4Dh2UeikpddOnlonLlhYSWVTFhyXIXqAEBCEAAAhCAwBIIdCmS1vas nfad087ae+7aSY/+
yt7jrv32zs/dee+X7rr/7vt37dm3f/eeA9+9f/fN39jxyb+9e9sH7/jTj9z1 D1/YuWfvIUnQWoKY
R6xKe5kiaUW3brelXt9w3bXqIYmFMhCAAAQgAAEIVEGgM5H0kHtOOmftvNPO OefO4zZ88b6d9+7f
f8Lxxx933MZDhw4eOHT40IHDhw4eOnDg4IED8+f9B/Z/+Sv3ffhDX//on93x 9a/vkpDSKiStRTqR
KaaV9pJLEhdlIAABCEAAAhAYJ4FuRNJD7z3tMec8bsNZp911YP+Og4cectLx J5xw3PHHrx1/3JpS
RUoWKXW0/+BB9Th4cC6U9s910gF1ye2zn7vrTz506w033tuAjr+xpGVNcDfI KZzdlPL9CTZnhJR9
uc1vy+w82W9xha5B0qkCAQhAAAIQGIxAByLp1LtPPfvc8/afdsLODYfWTth4 wgkbNx63tramQji8
tnHDgYOHlUxSqmihjg4qYaReK9U0f7H/4L79B75+6/0f/OBXrvv7u9Mx+8oj sbHk7AaZy2F6q8n+
U75d5O8w2dta5nXQuD6oA9QlTTG5A4P1CRqCAAQgAAEIQEARaCuSTvzu8Wc+ 8uw9x63dt2+/uhNb
i6P5v8OHDx06fPDgISWOFqpovnWkXs33kPYf3L9v8awO7T2w7+DBb935wIc/ fPNXvnJfIiXZa21Z
jWUXSOwkmbeci3cNNp9Mi51cB6S/QgACEIAABCAwJIF2ImnPhkce96i1E0+4 a8ee++7f98AD+/bs
3r9v3yElhQ4cVLtHB5QYUq/me0hHrrMd0UZzqTS/AHdgrzqwV20p7f/qV7/7 5x//2gO79vcRvNm8
Mds2iTucgmrM2Yvqw0lsQgACEIAABCAwKgKtRNIpd5906mkP/faOPbd/54Gd O/fef9+eHTv27d6t
Hgd279m3b98B9aSk0Fwpza+vqc2k+bbS4kLbgYU2UirpkHpSF9327z/0F+tf /fSnv9UfneB2Dle7
+gOOZQhAAAIQgEDVBFqIpL2HH7Z2+oF9h75x986dD+zbsWPvffcpnbRbvVCC adcD+9RDHd8//1Sb
3kBSj/375tfc5ltH8xuS9s4vuykdpQ7tW7w1+8tb9+w9EATq3I6tb+uJ3fvs XDJz/rTrCi+E+c2Z
I463DYxX3YFwHgIQgAAEILCqBNbUon7hJZfdeP2nSiPc+I0N55/02LsO7f/E 7XefcOLGjRvX1H1I
6vNr+/YeVNtIO5VmuveBe+7ZvXev2jZabCDNtdChuTpSu0t6Y0kdVO8s7uBe 3NA9f/2bb3vRMy89
q9QZu7x9l3QbO9SFAAQgAAEIQGCaBLZu2z6bzZrvJJ2050SliW6/d5faOrr/ 3j333rv7nnt333fP
bvXivnt23XPPrnvvV1fb5ncnLe7YVntFatdooZCMKporJHVkoZCOqKSDN9x4 5zTzQdQQgAAEIAAB
CIyKQPOdpEd++fRTTz7tj+7fcXjD/H+HDqvnxf8PLV4fOnRo8XrxKTf1pP43 f6mLzV8feWPxan5A
H55/LO6VVz10VIxwBgIQgAAEIACBSRHQO0nNRdLZXz3rhBNOeN91t9y9Y9f8 CyPVh9jUf9Q3Rs6/
U3u+XbT48P/8k27z24/05//VvUeLS2+LC24H5p+DUx+AUztJiz8P7FcfiNv/ mPMe/sEP/MikMkGw
EIAABCAAAQiMikDby23HH3+82ve5b9fu/fOv1FbSRwkk/T3a6sYkpZCU4lnc gXT0y7UX19Pmd2jP
b9RWr+ZCaV52cS1u/uk2dVzd5v3Nb94zKkw4AwEIQAACEIDANAk030l6zNce o7478n07dswvlyl4
i/+oq2qLS2/6ktvhg+qNxSW2I5faFm/PL70dml9XWxxfXIfTB5WRxfFXvoTL bdPsjUQNAQhAAAIQ
GAWBtpfbHnXzmSeecOJ7/vamb9+7S+0cqWtl6pdsF1fZDu49cGj+cX91aL6T dPSLkZyPs82vtOnL
bHr/SV2wUxfnDj7+8Q//yLZXjIIQTkAAAhCAAAQgMEkCbS+37Tu0V+0APeLk k+ZCZ34b0lwhqctn
exefYtu7/9DexQ/Z7rU/zja/2rb4RJtWTke+CGB+qU4rJLWV9KQLHjnJdBA0 BCAAAQhAAALjItD8
ctvxXzrxUQ8544937lxcbNMX0I5cbNMfVzvmYpr+bJv+AJv6Tbf5FbajhxbX 6XTxxQfluNw2ri6C
NxCAAAQgAIGpEWh7ue3g1w4/esN5t9x933v/1+f1npC60qZ/ckT9MJvaRlJX 0RbPBxe7R/OHKqC+
Kenoz9weudCmtpHUh+I2bNCPQ+/5gx9/3uWPnVoyiBcCEIAABCAAgfEQaHu5 bePZG3bs2XnOwx76
xLNO1wJIfyfk/BLb4mra3sWf819vO/pP/Q7J4vNtBxcHlWBSXxBwUH02Tmmj DRvmz9/7vU+85JJz
xsMITyAAAQhAAAIQmCyB5t+4vXbS2gMbdxx/3NrTzzvjgPrA/5F/+sXi3qMD SgYdEUwLzaQ2ldQ3
JB39p37Sbb6JNN89Wiik+U7SS178tFNOPmGyySBwCEAAAhCAAATGQ6C5SJrH 8JgD9+++/6mPPuPi
J5ylf39NXU07+hsjag9p/iWS8wtsixu6598tOf91knmx+VW4/fsPP6iQlEg6 /AMvfcYLr3zyeNDg
CQQgAAEIQAACUybQSiQdd8rG3afuWNtw6LInP/bsR5w6vy1Jf0vk4pra/J6k Iw+tk+Z7S4ufuVUK
SX0tkt5DUs/zW76f/JQzX/7yZ53+sIdMORnEDgEIQAACEIDAeAi0EkkqjBPP X7t343fPe/hpL3nW
9zzslJPUVbbFY75dtLgnSX20X72eX2hbbDWp/8wfhw+rrSN9iW1+re2ccx72 c6/8vuc8+7zxcMET
CEAAAhCAAAQmTqCtSFL4Tr7g8H0bv/O08858+RWXPuaMh82l0ZFLbPo2pfn2 0eLnRxY/33ZQKySl
jfStSAee/JSzXvuaF1/14qdOPBOEDwEIQAACEIDAqAh0IJJUPKdccHjnQ779 lHNP/6mrLnvexRfo
X3BT19Tm3wUwF0aL75mci6WDh+efZVMbSPpZ3Yd08Rt+9aVXvfh7RgUFZyAA AQhAAAIQgEA3Iklx
PPWxGzc+bseZZ2/4sX/yrF/8kRde+tTHKpW0d/41SYsbtRcX3TbM95DmP+em FNLzL7vgP7zlB9/w
+hc/59nnk4bJErjo0ssnGzuBQwACEIDAyAk0/8btWGAH9hze+a3Du+89/ubb 7r3p1rtu+uo3v3zb
HbffeY9SSGc+6tTHP/aRF1181jOfea76PiT5p/3VUnrDddfqFu3XQrgNqjiW z
Re: Difficulty with profile API [message #468709 is a reply to message #468703] Mon, 22 January 2007 13:59 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0021_01C73E03.A0EF74A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? If =
so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however since =
my application was previously running using org.eclipse.uml2_1.1.0.jar, =
org.eclipse.uml2.common_1.1.0.jar, org.eclipse.emf.ecore_2.1.0.jar, =
org.eclipse.emf.ecore.xmi_2.1.0.jar, org.eclipse.emf.common_2.1.0.jar. I =
disabled all of the above plugins. Now my current configuration only =
contains the eclipse platform, sdk, rcp installed as a plugin (attached =
screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under development. =
So, are you saying that you are using UML2 2.0 with Eclipse 3.2 and EMF =
2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to confirm =
which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF 2.2.

How should I check the configuration? The exact same code and the =
libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a workbench. =
Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to see =
references to UML2Package or UML2Resource in code based on the latest =
API (they were replaced with UMLPackage and UMLResource as of UML2 =
2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and a =
profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a plugin =
context or not?

public static String verifyModel(String metaModelFile) throws =
IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, ResourceSet =
resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0021_01C73E03.A0EF74A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1... did=20
you mean 2.0.1? If so, you should see =
org.eclipse.uml2_2.0.1.v200609210850.jar=20
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must be a =
problem=20
with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with EMF=20
2.2.1 and UML 2.2.0.1, however since my application was previously =
running=20
using org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar,=20
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my=20
current configuration only contains the eclipse platform, sdk, rcp =
installed=20
as a plugin (attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system hangs =
when I make an=20
API call to these jars. In the attached code, the system hangs in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise on =
how to resolve=20
this and load the model and the profile from within a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2 2.1=20
is still under development. So, are you saying that you are using =
UML2 2.0=20
with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the 'Help &gt; =
About=20
Eclipse SDK' to confirm which versions of the UML2 plug-ins are=20
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in the =
platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using UML =
2.1 and not=20
UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should I =
check the=20
configuration? The exact same code and the libraries work fine in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works stand-alone =
should also=20
work in a workbench. Are you seeing any exceptions in the =
platform=20
log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using UML2 =
2.x? I=20
wouldn't expect to see references to UML2Package or UML2Resource =
in code=20
based on the latest API (they were replaced with UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am trying =
to use the=20
following code to open a model and a profile in an eclipse =
plugin=20
using the UML 2.1 API libraries. </FONT><FONT face=3DCourier=20
color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml -&gt;=20
Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on model =

elements works fine in regular java i.e. non plugin =
evironment, but=20
when I try to do this from within a plugin, the system hangs =
after=20
ResourceSet resourceSet =3D new =
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should the =
code change=20
depending on whether its in a plugin context or =
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; Resource =
resource=20
=3D resourceSet.getResource(uri, true);<BR>&nbsp;&nbsp;&nbsp; =
Model=20
model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile profile =3D =
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch =
(IOException=20
exception) {<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext()) =
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
Object currentObject =3D=20
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0021_01C73E03.A0EF74A0--
Re: Difficulty with profile API [message #468716 is a reply to message #468709] Mon, 22 January 2007 14:45 Go to previous messageGo to next message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_004E_01C73E0A.1E9E89D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, I =
copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? If =
so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF 2.2.

How should I check the configuration? The exact same code and =
the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to see =
references to UML2Package or UML2Resource in code based on the latest =
API (they were replaced with UMLPackage and UMLResource as of UML2 =
2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and a =
profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a plugin =
context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, ResourceSet =
resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_004E_01C73E0A.1E9E89D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not want =
to use the UML2=20
plugin installed within eclipse, I copied and referenced this jar from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am not =
getting this=20
error for other libraries that I referenced the same way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1...=20
did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF=20
plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must be =
a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with=20
EMF 2.2.1 and UML 2.2.0.1, however since my application was =
previously=20
running using org.eclipse.uml2_1.1.0.jar, =
org.eclipse.uml2.common_1.1.0.jar,=20
org.eclipse.emf.ecore_2.1.0.jar, =
org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above =
plugins. Now=20
my current configuration only contains the eclipse platform, sdk, =
rcp=20
installed as a plugin (attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system hangs =
when I make an=20
API call to these jars. In the attached code, the system hangs in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise on =
how to resolve=20
this and load the model and the profile from within a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2 2.1=20
is still under development. So, are you saying that you are using =
UML2 2.0=20
with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the 'Help &gt; =
About=20
Eclipse SDK' to confirm which versions of the UML2 plug-ins are=20
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in the =
platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using =
UML 2.1 and not=20
UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should I =
check the=20
configuration? The exact same code and the libraries work fine =
in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone should=20
also work in a workbench. Are you seeing any exceptions in the =

platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using =
UML2 2.x? I=20
wouldn't expect to see references to UML2Package or =
UML2Resource in=20
code based on the latest API (they were replaced with =
UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use the=20
following code to open a model and a profile in an eclipse =
plugin=20
using the UML 2.1 API libraries. </FONT><FONT face=3DCourier =

color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml -&gt;=20
Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on =
model=20
elements works fine in regular java i.e. non plugin =
evironment, but=20
when I try to do this from within a plugin, the system hangs =
after=20
ResourceSet resourceSet =3D new =
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should =
the code change=20
depending on whether its in a plugin context or =
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; Resource =

resource =3D resourceSet.getResource(uri, =
true);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile profile =3D =
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch =
(IOException=20
exception) {<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext()) =
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
Object currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_004E_01C73E0A.1E9E89D0--
Re: Difficulty with profile API [message #468721 is a reply to message #468716] Mon, 22 January 2007 14:56 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0008_01C73E0B.93BF0400
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, I =
copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? =
If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF =
2.2.

How should I check the configuration? The exact same code and =
the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to =
see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and =
a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0008_01C73E0B.93BF0400
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is obsolete =
in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in an =
Eclipse=20
environment. You'll need to migrate your application code to use the new =

APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =
message=20
<A=20
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not want =
to use the=20
UML2 plugin installed within eclipse, I copied and referenced this jar =
from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am not =
getting this=20
error for other libraries that I referenced the same way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1...=20
did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must =
be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with=20
EMF 2.2.1 and UML 2.2.0.1, however since my application was =
previously=20
running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I=20
disabled all of the above plugins. Now my current configuration =
only=20
contains the eclipse platform, sdk, rcp installed as a plugin =
(attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I make=20
an API call to these jars. In the attached code, the system hangs =
in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise =
on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2=20
2.1 is still under development. So, are you saying that you are =
using=20
UML2 2.0 with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the =
'Help=20
&gt; About Eclipse SDK' to confirm which versions of the UML2 =
plug-ins=20
are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in =
the platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using =
UML 2.1 and=20
not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should =
I check the=20
configuration? The exact same code and the libraries work fine =
in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone should=20
also work in a workbench. Are you seeing any exceptions in =
the=20
platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using =
UML2 2.x? I=20
wouldn't expect to see references to UML2Package or =
UML2Resource in=20
code based on the latest API (they were replaced with =
UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use=20
the following code to open a model and a profile in an =
eclipse=20
plugin using the UML 2.1 API libraries. </FONT><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml=20
-&gt; Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on =
model=20
elements works fine in regular java i.e. non plugin =
evironment,=20
but when I try to do this from within a plugin, the system =
hangs=20
after ResourceSet resourceSet =3D new=20
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should =
the code=20
change depending on whether its in a plugin context or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp; =

prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile =
profile =3D=20
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML >

------=_NextPart_000_0008_01C73E0B.93BF0400--
Re: Difficulty with profile API [message #468732 is a reply to message #468721] Mon, 22 January 2007 15:29 Go to previous messageGo to next message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0085_01C73E10.32291320
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, =
I copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? =
If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF =
2.2.

How should I check the configuration? The exact same code =
and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to =
see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model =
and a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0085_01C73E10.32291320
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify the =
existing code=20
as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on eclipse=20
3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what is =
a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is obsolete =
in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in an =
Eclipse=20
environment. You'll need to migrate your application code to use the =
new=20
APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not =
want to use the=20
UML2 plugin installed within eclipse, I copied and referenced this =
jar from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am =
not getting this=20
error for other libraries that I referenced the same =
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 =
as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must =
be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2=20
with EMF 2.2.1 and UML 2.2.0.1, however since my application was =

previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I=20
disabled all of the above plugins. Now my current configuration =
only=20
contains the eclipse platform, sdk, rcp installed as a plugin =
(attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create =
a project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I=20
make an API call to these jars. In the attached code, the system =
hangs=20
in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =
=3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise =
on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks =
for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2=20
2.1 is still under development. So, are you saying that you =
are using=20
UML2 2.0 with Eclipse 3.2 and EMF 2.2? I'd suggest selecting =
the 'Help=20
&gt; About Eclipse SDK' to confirm which versions of the UML2 =
plug-ins=20
are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in =
the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1 and=20
not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check the=20
configuration? The exact same code and the libraries work =
fine in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions in=20
the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2 2.x?=20
I wouldn't expect to see references to UML2Package or =
UML2Resource=20
in code based on the latest API (they were replaced with=20
UMLPackage and UMLResource as of UML2 2.0)... Could there =
be a=20
problem with your configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use=20
the following code to open a model and a profile in an =
eclipse=20
plugin using the UML 2.1 API libraries. </FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The libraries =
are added in the=20
plugin.xml -&gt; Runtime -&gt; Classpath =
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code=20
to load a model, profile and check if profile is applied =
on=20
model elements works fine in regular java i.e. non =
plugin=20
evironment, but when I try to do this from within a =
plugin, the=20
system hangs after ResourceSet resourceSet =3D new=20
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String =
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =

ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile =
profile=20
=3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BODY></HTM=
L>

------=_NextPart_000_0085_01C73E10.32291320--
Re: Difficulty with profile API [message #468735 is a reply to message #468732] Mon, 22 January 2007 16:13 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_001B_01C73E16.56D041C0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

No, you cannot use UML2 1.1.1 with Eclipse 3.2 and EMF 2.2.1. You'll =
need Eclipse 3.1.x and EMF 2.1.x.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2l90$84a$1@utils.eclipse.org...
Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in =
org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within =
eclipse, I copied and referenced this jar from =
Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean =
2.0.1? If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar =
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, =
however since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and =
the profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and =
EMF 2.2.

How should I check the configuration? The exact same code =
and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect =
to see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model =
and a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check =
if profile is applied on model elements works fine in regular java i.e. =
non plugin evironment, but when I try to do this from within a plugin, =
the system hangs after ResourceSet resourceSet =3D new =
ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, =
resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_001B_01C73E16.56D041C0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, you cannot use UML2 1.1.1 with =
Eclipse 3.2 and=20
EMF 2.2.1. You'll need Eclipse 3.1.x and EMF 2.1.x.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2l90$84a$1@utils.eclipse.org">news:ep2l90$84a$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify the =
existing code=20
as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on=20
eclipse 3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what =
is a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is =
obsolete in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in =
an=20
Eclipse environment. You'll need to migrate your application code to =
use the=20
new APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not =
want to use=20
the UML2 plugin installed within eclipse, I copied and referenced =
this jar=20
from Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am =
not getting=20
this error for other libraries that I referenced the same=20
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure =
why this error=20
is coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of =
UML2 as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of=20
the EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There =
must be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
running eclipse 3.2=20
with EMF 2.2.1 and UML 2.2.0.1, however since my application =
was=20
previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar.=20
I disabled all of the above plugins. Now my current =
configuration only=20
contains the eclipse platform, sdk, rcp installed as a plugin=20
(attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then =
create a project=20
and reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I=20
make an API call to these jars. In the attached code, the =
system hangs=20
in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =
=3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please =
advise on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks =
for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet,=20
since&nbsp;UML2 2.1 is still under development. So, are you =
saying=20
that you are using UML2 2.0 with Eclipse 3.2 and EMF 2.2? =
I'd=20
suggest selecting the 'Help &gt; About Eclipse SDK' to =
confirm which=20
versions of the UML2 plug-ins are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing =
in the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1=20
and not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check=20
the configuration? The exact same code and the libraries =
work fine=20
in standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions=20
in the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2=20
2.x? I wouldn't expect to see references to UML2Package =
or=20
UML2Resource in code based on the latest API (they were =
replaced=20
with UMLPackage and UMLResource as of UML2 2.0)... Could =
there=20
be a problem with your configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I =
am trying to=20
use the following code to open a model and a profile =
in an=20
eclipse plugin using the UML 2.1 API libraries. =
</FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The libraries =
are added in=20
the plugin.xml -&gt; Runtime -&gt; Classpath =
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following=20
code to load a model, profile and check if profile is =
applied=20
on model elements works fine in regular java i.e. non =
plugin=20
evironment, but when I try to do this from within a =
plugin,=20
the system hangs after ResourceSet resourceSet =3D new =

ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context or =

not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D =
new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D=20
loadProfile(prflPath, =
resourceSet);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D loadModel(metaModelFile,=20
resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI =
uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String =
modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; =
Profile=20
profile =3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } =
catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object =

currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return =

=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE=
></BODY></HTML>

------=_NextPart_000_001B_01C73E16.56D041C0--
Re: Difficulty with profile API [message #468741 is a reply to message #468735] Mon, 22 January 2007 18:06 Go to previous message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_00EF_01C73E26.1257C5D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Kenn,

I setup eclipse 3.1 with emf 2.2.1 and uml2 1.1.1 and it nicely solved =
all my problems.

Thanks again Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2nr7$ec0$1@utils.eclipse.org...
Praveen,

No, you cannot use UML2 1.1.1 with Eclipse 3.2 and EMF 2.2.1. You'll =
need Eclipse 3.1.x and EMF 2.1.x.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2l90$84a$1@utils.eclipse.org...
Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your =
application cannot use it if you want to run it in an Eclipse =
environment. You'll need to migrate your application code to use the new =
APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in =
org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within =
eclipse, I copied and referenced this jar from =
Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean =
2.0.1? If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar =
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, =
however since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In =
the attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and =
the profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and =
EMF 2.2.

How should I check the configuration? The exact same =
code and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect =
to see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a =
model and a profile in an eclipse plugin using the UML 2.1 API =
libraries. The libraries are added in the plugin.xml -> Runtime -> =
Classpath tab.

The following code to load a model, profile and =
check if profile is applied on model elements works fine in regular java =
i.e. non plugin evironment, but when I try to do this from within a =
plugin, the system hangs after ResourceSet resourceSet =3D new =
ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String =
metaModelFile) throws IOException {
ResourceSet resourceSet =3D new =
ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, =
resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D =
resourceSet.getResource(uri, true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_00EF_01C73E26.1257C5D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I setup eclipse 3.1 =
with emf 2.2.1=20
and uml2 1.1.1 and it nicely solved all my problems.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks again =
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2nr7$ec0$1@utils.eclipse.org">news:ep2nr7$ec0$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, you cannot use UML2 1.1.1 with =
Eclipse 3.2=20
and EMF 2.2.1. You'll need Eclipse 3.1.x and EMF 2.1.x.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2l90$84a$1@utils.eclipse.org">news:ep2l90$84a$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify =
the existing=20
code as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on=20
eclipse 3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what =
is a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is =
obsolete in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in =
an=20
Eclipse environment. You'll need to migrate your application code =
to use=20
the new APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package=20
is contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do =
not want to use=20
the UML2 plugin installed within eclipse, I copied and =
referenced this=20
jar from Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly =
am not getting=20
this error for other libraries that I referenced the same=20
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure =
why this=20
error is coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of =
UML2 as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of=20
the EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There =
must be=20
a problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked =

eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
running eclipse=20
3.2 with EMF 2.2.1 and UML 2.2.0.1, however since my =
application was=20
previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the =
above=20
plugins. Now my current configuration only contains the =
eclipse=20
platform, sdk, rcp installed as a plugin (attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then =
create a project=20
and reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
system hangs when I=20
make an API call to these jars. In the attached code, the =
system=20
hangs in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String =
str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please =
advise on how to=20
resolve this and load the model and the profile from within =
a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many =
thanks for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =

since&nbsp;UML2 2.1 is still under development. So, are =
you saying=20
that you are using UML2 2.0 with Eclipse 3.2 and EMF 2.2? =
I'd=20
suggest selecting the 'Help &gt; About Eclipse SDK' to =
confirm=20
which versions of the UML2 plug-ins are =
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are =
appearing in the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi=20
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1=20
and not UML 2.2 with eclipse 3.2 and EMF =
2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check=20
the configuration? The exact same code and the libraries =
work=20
fine in standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions=20
in the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2=20
2.x? I wouldn't expect to see references to =
UML2Package or=20
UML2Resource in code based on the latest API (they =
were=20
replaced with UMLPackage and UMLResource as of UML2 =
2.0)...=20
Could there be a problem with your =
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I =
am trying to=20
use the following code to open a model and a profile =
in an=20
eclipse plugin using the UML 2.1 API libraries. =
</FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The =
libraries are added in=20
the plugin.xml -&gt; Runtime -&gt; Classpath=20
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>The following=20
code to load a model, profile and check if profile =
is=20
applied on model elements works fine in regular java =
i.e.=20
non plugin evironment, but when I try to do this =
from within=20
a plugin, the system hangs after ResourceSet =
resourceSet =3D=20
new ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context =
or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D =
new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT=20
face=3DCourier color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D=20
loadProfile(prflPath, =
resourceSet);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D loadModel(metaModelFile,=20
resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =

ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI =
uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model) =

=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String =
modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; =
Profile=20
profile =3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; =
try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } =
catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
=
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =

}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; =
return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE=
></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_00EF_01C73E26.1257C5D0--
Re: Difficulty with profile API [message #572876 is a reply to message #468703] Mon, 22 January 2007 13:59 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0021_01C73E03.A0EF74A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? If =
so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however since =
my application was previously running using org.eclipse.uml2_1.1.0.jar, =
org.eclipse.uml2.common_1.1.0.jar, org.eclipse.emf.ecore_2.1.0.jar, =
org.eclipse.emf.ecore.xmi_2.1.0.jar, org.eclipse.emf.common_2.1.0.jar. I =
disabled all of the above plugins. Now my current configuration only =
contains the eclipse platform, sdk, rcp installed as a plugin (attached =
screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under development. =
So, are you saying that you are using UML2 2.0 with Eclipse 3.2 and EMF =
2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to confirm =
which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF 2.2.

How should I check the configuration? The exact same code and the =
libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a workbench. =
Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to see =
references to UML2Package or UML2Resource in code based on the latest =
API (they were replaced with UMLPackage and UMLResource as of UML2 =
2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and a =
profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a plugin =
context or not?

public static String verifyModel(String metaModelFile) throws =
IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, ResourceSet =
resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0021_01C73E03.A0EF74A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1... did=20
you mean 2.0.1? If so, you should see =
org.eclipse.uml2_2.0.1.v200609210850.jar=20
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must be a =
problem=20
with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with EMF=20
2.2.1 and UML 2.2.0.1, however since my application was previously =
running=20
using org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar,=20
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my=20
current configuration only contains the eclipse platform, sdk, rcp =
installed=20
as a plugin (attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system hangs =
when I make an=20
API call to these jars. In the attached code, the system hangs in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise on =
how to resolve=20
this and load the model and the profile from within a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2 2.1=20
is still under development. So, are you saying that you are using =
UML2 2.0=20
with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the 'Help &gt; =
About=20
Eclipse SDK' to confirm which versions of the UML2 plug-ins are=20
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in the =
platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using UML =
2.1 and not=20
UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should I =
check the=20
configuration? The exact same code and the libraries work fine in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works stand-alone =
should also=20
work in a workbench. Are you seeing any exceptions in the =
platform=20
log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using UML2 =
2.x? I=20
wouldn't expect to see references to UML2Package or UML2Resource =
in code=20
based on the latest API (they were replaced with UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am trying =
to use the=20
following code to open a model and a profile in an eclipse =
plugin=20
using the UML 2.1 API libraries. </FONT><FONT face=3DCourier=20
color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml -&gt;=20
Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on model =

elements works fine in regular java i.e. non plugin =
evironment, but=20
when I try to do this from within a plugin, the system hangs =
after=20
ResourceSet resourceSet =3D new =
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should the =
code change=20
depending on whether its in a plugin context or =
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; Resource =
resource=20
=3D resourceSet.getResource(uri, true);<BR>&nbsp;&nbsp;&nbsp; =
Model=20
model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile profile =3D =
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch =
(IOException=20
exception) {<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext()) =
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
Object currentObject =3D=20
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0021_01C73E03.A0EF74A0--
Re: Difficulty with profile API [message #572942 is a reply to message #468709] Mon, 22 January 2007 14:45 Go to previous message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_004E_01C73E0A.1E9E89D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, I =
copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? If =
so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF 2.2.

How should I check the configuration? The exact same code and =
the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to see =
references to UML2Package or UML2Resource in code based on the latest =
API (they were replaced with UMLPackage and UMLResource as of UML2 =
2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and a =
profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a plugin =
context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, ResourceSet =
resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_004E_01C73E0A.1E9E89D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not want =
to use the UML2=20
plugin installed within eclipse, I copied and referenced this jar from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am not =
getting this=20
error for other libraries that I referenced the same way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1...=20
did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF=20
plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must be =
a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with=20
EMF 2.2.1 and UML 2.2.0.1, however since my application was =
previously=20
running using org.eclipse.uml2_1.1.0.jar, =
org.eclipse.uml2.common_1.1.0.jar,=20
org.eclipse.emf.ecore_2.1.0.jar, =
org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above =
plugins. Now=20
my current configuration only contains the eclipse platform, sdk, =
rcp=20
installed as a plugin (attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system hangs =
when I make an=20
API call to these jars. In the attached code, the system hangs in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise on =
how to resolve=20
this and load the model and the profile from within a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2 2.1=20
is still under development. So, are you saying that you are using =
UML2 2.0=20
with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the 'Help &gt; =
About=20
Eclipse SDK' to confirm which versions of the UML2 plug-ins are=20
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in the =
platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using =
UML 2.1 and not=20
UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should I =
check the=20
configuration? The exact same code and the libraries work fine =
in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone should=20
also work in a workbench. Are you seeing any exceptions in the =

platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using =
UML2 2.x? I=20
wouldn't expect to see references to UML2Package or =
UML2Resource in=20
code based on the latest API (they were replaced with =
UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use the=20
following code to open a model and a profile in an eclipse =
plugin=20
using the UML 2.1 API libraries. </FONT><FONT face=3DCourier =

color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml -&gt;=20
Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on =
model=20
elements works fine in regular java i.e. non plugin =
evironment, but=20
when I try to do this from within a plugin, the system hangs =
after=20
ResourceSet resourceSet =3D new =
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should =
the code change=20
depending on whether its in a plugin context or =
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; Resource =

resource =3D resourceSet.getResource(uri, =
true);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile profile =3D =
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch =
(IOException=20
exception) {<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext()) =
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
Object currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_004E_01C73E0A.1E9E89D0--
Re: Difficulty with profile API [message #572983 is a reply to message #468716] Mon, 22 January 2007 14:56 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0008_01C73E0B.93BF0400
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, I =
copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? =
If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF =
2.2.

How should I check the configuration? The exact same code and =
the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to =
see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model and =
a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0008_01C73E0B.93BF0400
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is obsolete =
in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in an =
Eclipse=20
environment. You'll need to migrate your application code to use the new =

APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =
message=20
<A=20
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not want =
to use the=20
UML2 plugin installed within eclipse, I copied and referenced this jar =
from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am not =
getting this=20
error for other libraries that I referenced the same way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 as =
2.2.0.1...=20
did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must =
be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2 with=20
EMF 2.2.1 and UML 2.2.0.1, however since my application was =
previously=20
running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I=20
disabled all of the above plugins. Now my current configuration =
only=20
contains the eclipse platform, sdk, rcp installed as a plugin =
(attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create a =
project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I make=20
an API call to these jars. In the attached code, the system hangs =
in=20
NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise =
on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks for =
your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2=20
2.1 is still under development. So, are you saying that you are =
using=20
UML2 2.0 with Eclipse 3.2 and EMF 2.2? I'd suggest selecting the =
'Help=20
&gt; About Eclipse SDK' to confirm which versions of the UML2 =
plug-ins=20
are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in =
the platform=20
log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am using =
UML 2.1 and=20
not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How should =
I check the=20
configuration? The exact same code and the libraries work fine =
in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in=20
message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone should=20
also work in a workbench. Are you seeing any exceptions in =
the=20
platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are using =
UML2 2.x? I=20
wouldn't expect to see references to UML2Package or =
UML2Resource in=20
code based on the latest API (they were replaced with =
UMLPackage and=20
UMLResource as of UML2 2.0)... Could there be a problem with =
your=20
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use=20
the following code to open a model and a profile in an =
eclipse=20
plugin using the UML 2.1 API libraries. </FONT><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>The libraries are added in the =
plugin.xml=20
-&gt; Runtime -&gt; Classpath tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code to=20
load a model, profile and check if profile is applied on =
model=20
elements works fine in regular java i.e. non plugin =
evironment,=20
but when I try to do this from within a plugin, the system =
hangs=20
after ResourceSet resourceSet =3D new=20
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Should =
the code=20
change depending on whether its in a plugin context or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>public =
static String=20
verifyModel(String metaModelFile) throws IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp; =

prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile =
profile =3D=20
null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; if=20
(currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML >

------=_NextPart_000_0008_01C73E0B.93BF0400--
Re: Difficulty with profile API [message #573052 is a reply to message #468721] Mon, 22 January 2007 15:29 Go to previous message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_0085_01C73E10.32291320
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within eclipse, =
I copied and referenced this jar from Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean 2.0.1? =
If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar and =
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions of =
the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, however =
since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and the =
profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and EMF =
2.2.

How should I check the configuration? The exact same code =
and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect to =
see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model =
and a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check if =
profile is applied on model elements works fine in regular java i.e. non =
plugin evironment, but when I try to do this from within a plugin, the =
system hangs after ResourceSet resourceSet =3D new ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_0085_01C73E10.32291320
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify the =
existing code=20
as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on eclipse=20
3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what is =
a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is obsolete =
in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in an =
Eclipse=20
environment. You'll need to migrate your application code to use the =
new=20
APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not =
want to use the=20
UML2 plugin installed within eclipse, I copied and referenced this =
jar from=20
Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am =
not getting this=20
error for other libraries that I referenced the same =
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure why =
this error is=20
coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of UML2 =
as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of the=20
EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There must =
be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am running =
eclipse 3.2=20
with EMF 2.2.1 and UML 2.2.0.1, however since my application was =

previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I=20
disabled all of the above plugins. Now my current configuration =
only=20
contains the eclipse platform, sdk, rcp installed as a plugin =
(attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then create =
a project and=20
reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I=20
make an API call to these jars. In the attached code, the system =
hangs=20
in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =
=3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please advise =
on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks =
for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =
since&nbsp;UML2=20
2.1 is still under development. So, are you saying that you =
are using=20
UML2 2.0 with Eclipse 3.2 and EMF 2.2? I'd suggest selecting =
the 'Help=20
&gt; About Eclipse SDK' to confirm which versions of the UML2 =
plug-ins=20
are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing in =
the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1 and=20
not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check the=20
configuration? The exact same code and the libraries work =
fine in=20
standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions in=20
the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2 2.x?=20
I wouldn't expect to see references to UML2Package or =
UML2Resource=20
in code based on the latest API (they were replaced with=20
UMLPackage and UMLResource as of UML2 2.0)... Could there =
be a=20
problem with your configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
trying to use=20
the following code to open a model and a profile in an =
eclipse=20
plugin using the UML 2.1 API libraries. </FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The libraries =
are added in the=20
plugin.xml -&gt; Runtime -&gt; Classpath =
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following code=20
to load a model, profile and check if profile is applied =
on=20
model elements works fine in regular java i.e. non =
plugin=20
evironment, but when I try to do this from within a =
plugin, the=20
system hangs after ResourceSet resourceSet =3D new=20
ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>&nbsp;&nbsp;&nbsp;=20
String =
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D =
loadProfile(prflPath,=20
resourceSet);<BR>&nbsp;&nbsp;&nbsp; Model model =3D=20
loadModel(metaModelFile, resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =
ResourceSet=20
resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String modelFile, =

ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; Profile =
profile=20
=3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BODY></HTM=
L>

------=_NextPart_000_0085_01C73E10.32291320--
Re: Difficulty with profile API [message #573115 is a reply to message #468732] Mon, 22 January 2007 16:13 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.

------=_NextPart_000_001B_01C73E16.56D041C0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Praveen,

No, you cannot use UML2 1.1.1 with Eclipse 3.2 and EMF 2.2.1. You'll =
need Eclipse 3.1.x and EMF 2.1.x.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2l90$84a$1@utils.eclipse.org...
Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your application =
cannot use it if you want to run it in an Eclipse environment. You'll =
need to migrate your application code to use the new APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in =
org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within =
eclipse, I copied and referenced this jar from =
Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean =
2.0.1? If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar =
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, =
however since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In the =
attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and =
the profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and =
EMF 2.2.

How should I check the configuration? The exact same code =
and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect =
to see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a model =
and a profile in an eclipse plugin using the UML 2.1 API libraries. The =
libraries are added in the plugin.xml -> Runtime -> Classpath tab.

The following code to load a model, profile and check =
if profile is applied on model elements works fine in regular java i.e. =
non plugin evironment, but when I try to do this from within a plugin, =
the system hangs after ResourceSet resourceSet =3D new =
ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String metaModelFile) =
throws IOException {
ResourceSet resourceSet =3D new ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, =
resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D resourceSet.getResource(uri, =
true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_001B_01C73E16.56D041C0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.3020" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, you cannot use UML2 1.1.1 with =
Eclipse 3.2 and=20
EMF 2.2.1. You'll need Eclipse 3.1.x and EMF 2.1.x.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2l90$84a$1@utils.eclipse.org">news:ep2l90$84a$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify the =
existing code=20
as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on=20
eclipse 3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what =
is a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote =
in message=20
<A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is =
obsolete in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in =
an=20
Eclipse environment. You'll need to migrate your application code to =
use the=20
new APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package is=20
contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do not =
want to use=20
the UML2 plugin installed within eclipse, I copied and referenced =
this jar=20
from Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly am =
not getting=20
this error for other libraries that I referenced the same=20
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure =
why this error=20
is coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks =
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of =
UML2 as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of=20
the EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There =
must be a=20
problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote in =

message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked=20
eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
running eclipse 3.2=20
with EMF 2.2.1 and UML 2.2.0.1, however since my application =
was=20
previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar.=20
I disabled all of the above plugins. Now my current =
configuration only=20
contains the eclipse platform, sdk, rcp installed as a plugin=20
(attached screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then =
create a project=20
and reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The system =
hangs when I=20
make an API call to these jars. In the attached code, the =
system hangs=20
in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String str =
=3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please =
advise on how to=20
resolve this and load the model and the profile from within a =
plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many thanks =
for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in=20
message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet,=20
since&nbsp;UML2 2.1 is still under development. So, are you =
saying=20
that you are using UML2 2.0 with Eclipse 3.2 and EMF 2.2? =
I'd=20
suggest selecting the 'Help &gt; About Eclipse SDK' to =
confirm which=20
versions of the UML2 plug-ins are installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are appearing =
in the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1=20
and not UML 2.2 with eclipse 3.2 and EMF 2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check=20
the configuration? The exact same code and the libraries =
work fine=20
in standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions=20
in the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2=20
2.x? I wouldn't expect to see references to UML2Package =
or=20
UML2Resource in code based on the latest API (they were =
replaced=20
with UMLPackage and UMLResource as of UML2 2.0)... Could =
there=20
be a problem with your configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I =
am trying to=20
use the following code to open a model and a profile =
in an=20
eclipse plugin using the UML 2.1 API libraries. =
</FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The libraries =
are added in=20
the plugin.xml -&gt; Runtime -&gt; Classpath =
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
following=20
code to load a model, profile and check if profile is =
applied=20
on model elements works fine in regular java i.e. non =
plugin=20
evironment, but when I try to do this from within a =
plugin,=20
the system hangs after ResourceSet resourceSet =3D new =

ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context or =

not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D =
new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT =
face=3DCourier=20
color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D=20
loadProfile(prflPath, =
resourceSet);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D loadModel(metaModelFile,=20
resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI =
uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model)=20
=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String =
modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; =
Profile=20
profile =3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } =
catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; =
while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Object =

currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return =

=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE=
></BODY></HTML>

------=_NextPart_000_001B_01C73E16.56D041C0--
Re: Difficulty with profile API [message #573156 is a reply to message #468735] Mon, 22 January 2007 18:06 Go to previous message
Praveen is currently offline PraveenFriend
Messages: 9
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.

------=_NextPart_000_00EF_01C73E26.1257C5D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Kenn,

I setup eclipse 3.1 with emf 2.2.1 and uml2 1.1.1 and it nicely solved =
all my problems.

Thanks again Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2nr7$ec0$1@utils.eclipse.org...
Praveen,

No, you cannot use UML2 1.1.1 with Eclipse 3.2 and EMF 2.2.1. You'll =
need Eclipse 3.1.x and EMF 2.1.x.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2l90$84a$1@utils.eclipse.org...
Hi Kenn,

Thanks for your response.

I cannot modify the existing code as it is being shared by other =
resources.

Can I install uml2-1.1.1 on eclipse 3.2 with emf2.2.1?

If not, then what is a stable configuration for running uml2-1.1.1?

Regards Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2jap$hiq$1@utils.eclipse.org...
Praveen,

The UML2Package interface is obsolete in UML2 2.x - your =
application cannot use it if you want to run it in an Eclipse =
environment. You'll need to migrate your application code to use the new =
APIs.

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep2ine$orc$1@utils.eclipse.org...
Aha,

!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/uml2/UML2Package

The interface UML2Package is contained in =
org.eclipse.uml2_1.1.0.jar

Since I do not want to use the UML2 plugin installed within =
eclipse, I copied and referenced this jar from =
Plugin.xml->Runtime->ClassPath.

I certainly am not getting this error for other libraries that I =
referenced the same way.

I am not sure why this error is coming for this particular jar.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:ep2g02$qo9$1@utils.eclipse.org...
Praveen,

There is no such version of UML2 as 2.2.0.1... did you mean =
2.0.1? If so, you should see org.eclipse.uml2_2.0.1.v200609210850.jar =
and org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x versions =
of the EMF plug-ins). Please, if there are exceptions in the log =
(<workspace>/.metadata/.log) could you post them? There must be a =
problem with your configuration...

Kenn

"Praveen" <jpk4077@hotmail.com> wrote in message =
news:ep1it8$e6k$1@utils.eclipse.org...
Hi Kenn,

I checked eclipse->help->about.=20

I am running eclipse 3.2 with EMF 2.2.1 and UML 2.2.0.1, =
however since my application was previously running using =
org.eclipse.uml2_1.1.0.jar, org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar, org.eclipse.emf.ecore.xmi_2.1.0.jar, =
org.eclipse.emf.common_2.1.0.jar. I disabled all of the above plugins. =
Now my current configuration only contains the eclipse platform, sdk, =
rcp installed as a plugin (attached screenshot).

I then create a project and reference these jar files in the =
plugin.xml->Runtime->ClassPath

The system hangs when I make an API call to these jars. In =
the attached code, the system hangs in NewAction.java -> run method()

String str =3D Utils.generateModelText(location);

Please advise on how to resolve this and load the model and =
the profile from within a plugin code.

Many thanks for your support,

Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:eo0694$32d$1@utils.eclipse.org...
Praveen,

There is no UML2 2.2 yet, since UML2 2.1 is still under =
development. So, are you saying that you are using UML2 2.0 with Eclipse =
3.2 and EMF 2.2? I'd suggest selecting the 'Help > About Eclipse SDK' to =
confirm which versions of the UML2 plug-ins are installed.

So no errors are appearing in the platform log?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:env0qh$dn$1@utils.eclipse.org...
Hi Kenn,

I am using UML 2.1 and not UML 2.2 with eclipse 3.2 and =
EMF 2.2.

How should I check the configuration? The exact same =
code and the libraries work fine in standalone java programs.

Thanks Praveen.
"Kenn Hussey" <khussey@ca.ibm.com> wrote in message =
news:enma4r$92u$1@utils.eclipse.org...
Praveen,

No, code that works stand-alone should also work in a =
workbench. Are you seeing any exceptions in the platform log?

Are you sure you are using UML2 2.x? I wouldn't expect =
to see references to UML2Package or UML2Resource in code based on the =
latest API (they were replaced with UMLPackage and UMLResource as of =
UML2 2.0)... Could there be a problem with your configuration?

Kenn
"Praveen" <jpk4077@hotmail.com> wrote in message =
news:enk2fa$pck$1@utils.eclipse.org...
Hi,

I am trying to use the following code to open a =
model and a profile in an eclipse plugin using the UML 2.1 API =
libraries. The libraries are added in the plugin.xml -> Runtime -> =
Classpath tab.

The following code to load a model, profile and =
check if profile is applied on model elements works fine in regular java =
i.e. non plugin evironment, but when I try to do this from within a =
plugin, the system hangs after ResourceSet resourceSet =3D new =
ResourceSetImpl();

Should the code change depending on whether its in a =
plugin context or not?

public static String verifyModel(String =
metaModelFile) throws IOException {
ResourceSet resourceSet =3D new =
ResourceSetImpl();
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);
Map extensionToFactoryMap =3D =
resourceSet.getResourceFactoryRegistry()
.getExtensionToFactoryMap();
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);
URL prflURL =3D =
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));
String prflPath=3DprflURL.getFile();
prflPath=3DprflPath.substring(1);

Profile prfl =3D loadProfile(prflPath, =
resourceSet);
Model model =3D loadModel(metaModelFile, =
resourceSet);
}

public static Model loadModel(String modelFile, =
ResourceSet resourceSet) {
URI uri =3D URI.createFileURI(modelFile);
Resource resource =3D =
resourceSet.getResource(uri, true);
Model model =3D (Model) =
EcoreUtil.getObjectByType(resource.getContents(),
UML2Package.eINSTANCE.getModel());

return model;
}

public static Profile loadProfile(String modelFile, =
ResourceSet resourceSet) {
Profile profile =3D null;

Resource inputResource =3D =
resourceSet.createResource(URI
.createFileURI(modelFile));
try {
inputResource.load(null);
} catch (IOException exception) {
exception.printStackTrace();
}

Iterator iterator =3D =
inputResource.getAllContents();
while (iterator.hasNext()) {
Object currentObject =3D iterator.next();
if (currentObject instanceof Profile) {
profile =3D (Profile) currentObject;
break;
}
}
return profile;
}

------=_NextPart_000_00EF_01C73E26.1257C5D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1476" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I setup eclipse 3.1 =
with emf 2.2.1=20
and uml2 1.1.1 and it nicely solved all my problems.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks again =
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote in =
message=20
<A=20
=
href=3D"news:ep2nr7$ec0$1@utils.eclipse.org">news:ep2nr7$ec0$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, you cannot use UML2 1.1.1 with =
Eclipse 3.2=20
and EMF 2.2.1. You'll need Eclipse 3.1.x and EMF 2.1.x.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2l90$84a$1@utils.eclipse.org">news:ep2l90$84a$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks for your=20
response.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I cannot modify =
the existing=20
code as it is being shared by other resources.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Can I install =
uml2-1.1.1 on=20
eclipse 3.2 with emf2.2.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>If not, then what =
is a stable=20
configuration for running uml2-1.1.1?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Regards=20
Praveen.</FONT></DIV></FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2jap$hiq$1@utils.eclipse.org">news:ep2jap$hiq$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>The UML2Package interface is =
obsolete in UML2=20
2.x&nbsp;- your application cannot use it if you want to run it in =
an=20
Eclipse environment. You'll need to migrate your application code =
to use=20
the new APIs.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV>"Praveen" &lt;<A=20
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2ine$orc$1@utils.eclipse.org">news:ep2ine$orc$1@utils.ecli=
pse.org</A>...</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Aha,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>!STACK=20
0<BR>java.lang.NoClassDefFoundError:=20
org/eclipse/uml2/UML2Package<BR></FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The interface =
UML2Package=20
is contained in org.eclipse.uml2_1.1.0.jar</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Since I do =
not want to use=20
the UML2 plugin installed within eclipse, I copied and =
referenced this=20
jar from Plugin.xml-&gt;Runtime-&gt;ClassPath.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I certainly =
am not getting=20
this error for other libraries that I referenced the same=20
way.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am not sure =
why this=20
error is coming for this particular jar.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Thanks=20
Praveen.</DIV></FONT>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; =
wrote in=20
message <A=20
=
href=3D"news:ep2g02$qo9$1@utils.eclipse.org">news:ep2g02$qo9$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no such version of =
UML2 as=20
2.2.0.1... did you mean 2.0.1? If so, you should see=20
org.eclipse.uml2_2.0.1.v200609210850.jar and=20
org.eclipse.uml2.common_1.2.1.v200609210850.jar (and 2.2.x =
versions of=20
the EMF plug-ins). Please, if there are exceptions in the log=20
(&lt;workspace&gt;/.metadata/.log) could you post them? There =
must be=20
a problem with your configuration...</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:ep1it8$e6k$1@utils.eclipse.org">news:ep1it8$e6k$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi =
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I checked =

eclipse-&gt;help-&gt;about. </FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
running eclipse=20
3.2 with EMF 2.2.1 and UML 2.2.0.1, however since my =
application was=20
previously running using org.eclipse.uml2_1.1.0.jar,=20
org.eclipse.uml2.common_1.1.0.jar, =
org.eclipse.emf.ecore_2.1.0.jar,=20
org.eclipse.emf.ecore.xmi_2.1.0.jar,=20
org.eclipse.emf.common_2.1.0.jar. I disabled all of the =
above=20
plugins. Now my current configuration only contains the =
eclipse=20
platform, sdk, rcp installed as a plugin (attached=20
screenshot).</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I then =
create a project=20
and reference these jar files in the=20
plugin.xml-&gt;Runtime-&gt;ClassPath</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>The =
system hangs when I=20
make an API call to these jars. In the attached code, the =
system=20
hangs in NewAction.java -&gt; run method()</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>String =
str =3D=20
Utils.generateModelText(location);</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Please =
advise on how to=20
resolve this and load the model and the profile from within =
a plugin=20
code.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Many =
thanks for your=20
support,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt; wrote=20
in message <A=20
=
href=3D"news:eo0694$32d$1@utils.eclipse.org">news:eo0694$32d$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>There is no UML2 2.2 yet, =

since&nbsp;UML2 2.1 is still under development. So, are =
you saying=20
that you are using UML2 2.0 with Eclipse 3.2 and EMF 2.2? =
I'd=20
suggest selecting the 'Help &gt; About Eclipse SDK' to =
confirm=20
which versions of the UML2 plug-ins are =
installed.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>So no errors are =
appearing in the=20
platform log?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:env0qh$dn$1@utils.eclipse.org">news:env0qh$dn$1@utils.eclips=
e.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>Hi=20
Kenn,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I am =
using UML 2.1=20
and not UML 2.2 with eclipse 3.2 and EMF =
2.2.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>How =
should I check=20
the configuration? The exact same code and the libraries =
work=20
fine in standalone java programs.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Thanks=20
Praveen.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Kenn Hussey" &lt;<A=20
=
href=3D"mailto:khussey@ca.ibm.com">khussey@ca.ibm.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enma4r$92u$1@utils.eclipse.org">news:enma4r$92u$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Praveen,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>No, code that works =
stand-alone=20
should also work in a workbench. Are you seeing any =
exceptions=20
in the platform log?</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Are you sure you are =
using UML2=20
2.x? I wouldn't expect to see references to =
UML2Package or=20
UML2Resource in code based on the latest API (they =
were=20
replaced with UMLPackage and UMLResource as of UML2 =
2.0)...=20
Could there be a problem with your =
configuration?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Kenn</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Praveen" &lt;<A=20
=
href=3D"mailto:jpk4077@hotmail.com">jpk4077@hotmail.com</A>&gt;=20
wrote in message <A=20
=
href=3D"news:enk2fa$pck$1@utils.eclipse.org">news:enk2fa$pck$1@utils.ecli=
pse.org</A>...</DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 size=3D2>I =
am trying to=20
use the following code to open a model and a profile =
in an=20
eclipse plugin using the UML 2.1 API libraries. =
</FONT><FONT=20
face=3DCourier color=3D#000080 size=3D2>The =
libraries are added in=20
the plugin.xml -&gt; Runtime -&gt; Classpath=20
tab.</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>The following=20
code to load a model, profile and check if profile =
is=20
applied on model elements works fine in regular java =
i.e.=20
non plugin evironment, but when I try to do this =
from within=20
a plugin, the system hangs after ResourceSet =
resourceSet =3D=20
new ResourceSetImpl();</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>Should the code=20
change depending on whether its in a plugin context =
or=20
not?</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DCourier color=3D#000080 =
size=3D2>public static=20
String verifyModel(String metaModelFile) throws =
IOException=20
{<BR>&nbsp;&nbsp;&nbsp; ResourceSet resourceSet =3D =
new=20
ResourceSetImpl();<BR>&nbsp;&nbsp;&nbsp;=20
=
resourceSet.getPackageRegistry().put(UML2Package.eNS_URI,UML 2Package.eINS=
TANCE);<BR>&nbsp;&nbsp;&nbsp;=20
Map extensionToFactoryMap =3D=20
=
resourceSet.getResourceFactoryRegistry()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;=20
.getExtensionToFactoryMap();<BR>&nbsp;&nbsp;&nbsp;=20
=
extensionToFactoryMap.put(UML2Resource.FILE_EXTENSION,UML2Re source.Factor=
y.INSTANCE);<BR>&nbsp;&nbsp;&nbsp;=20
URL prflURL =3D=20
=
FileLocator.resolve(Platform.getBundle("UCSIM").getResource( "resources/Pr=
ofile.uml2"));</FONT></DIV>
<DIV><FONT face=3DCourier color=3D#000080=20
size=3D2>&nbsp;&nbsp;&nbsp; String=20
prflPath=3DprflURL.getFile();<BR>&nbsp;&nbsp;&nbsp;=20
prflPath=3DprflPath.substring(1);</FONT></DIV><FONT=20
face=3DCourier color=3D#000080 size=3D2>
<DIV><BR>&nbsp;&nbsp;&nbsp; Profile prfl =3D=20
loadProfile(prflPath, =
resourceSet);<BR>&nbsp;&nbsp;&nbsp;=20
Model model =3D loadModel(metaModelFile,=20
resourceSet);<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Model loadModel(String modelFile, =

ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; URI =
uri =3D=20
URI.createFileURI(modelFile);<BR>&nbsp;&nbsp;&nbsp; =
Resource=20
resource =3D resourceSet.getResource(uri,=20
true);<BR>&nbsp;&nbsp;&nbsp; Model model =3D (Model) =

=
EcoreUtil.getObjectByType(resource.getContents(),<BR>&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;=20
UML2Package.eINSTANCE.getModel());</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; return model;<BR>}</DIV>
<DIV>&nbsp;</DIV>
<DIV>public static Profile loadProfile(String =
modelFile,=20
ResourceSet resourceSet) {<BR>&nbsp;&nbsp;&nbsp; =
Profile=20
profile =3D null;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Resource inputResource =3D=20
=
resourceSet.createResource(URI<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
.createFileURI(modelFile));<BR>&nbsp;&nbsp;&nbsp; =
try=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
inputResource.load(null);<BR>&nbsp;&nbsp;&nbsp; } =
catch=20
(IOException exception)=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
exception.printStackTrace();<BR>&nbsp;&nbsp;&nbsp; =
}</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Iterator iterator =3D=20
=
inputResource.getAllContents();<BR>&nbsp;&nbsp;&nbsp; while=20
(iterator.hasNext())=20
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =
Object=20
currentObject =3D=20
=
iterator.next();<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;=20
if (currentObject instanceof Profile)=20
=
{<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
profile =3D (Profile)=20
=
currentObject;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
break;<BR> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; =

}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; =
return=20
=
profile;<BR>}<BR></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE></BL=
OCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE=
></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_00EF_01C73E26.1257C5D0--
Previous Topic:Re: Difficulty with profile API
Next Topic:Overview Diagram of UML2
Goto Forum:
  


Current Time: Tue Apr 07 01:10:59 GMT 2020

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

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

Back to the top