Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Equinox » confusing Declarative service!
confusing Declarative service! [message #74325] Tue, 10 October 2006 11:44 Go to next message
Eclipse UserFriend
Originally posted by: lixinhui.cn.ibm.com

------=_Part_1236_25208982.1160481353844
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

To study OSGI declarative serivce, I write an example consisting of Service provider and client to use the service. I has already download the org.eclipse.equinox.ds and start it. But no right result can be gotten. And can not find related service is registed by console command!

I attached the related jars and please help to find problems caused by my false understanding of DS specificetion.

appreciate your help!

dsexample provide a service named "NameService" which check a String wehter it is among the name sets predefined;
dsexampleclient is a client application to use above service to check the String from input end.
------=_Part_1236_25208982.1160481353844
Content-Type: application/octet-stream; name=dsexample_1.0.0.jar
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=dsexample_1.0.0.jar

UEsDBAoAAAAAAJycSjUAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoA AAAAAJycSjUAAAAA
AAAAAAAAAAADAAAAZHMvUEsDBAoAAAAAAJycSjUAAAAAAAAAAAAAAAALAAAA ZHMvZXhhbXBsZS9Q
SwMECgAAAAAAnJxKNQAAAAAAAAAAAAAAABAAAABkcy9leGFtcGxlL29zZ2kv UEsDBAoAAAAAAJyc
SjUAAAAAAAAAAAAAAAATAAAAZHMvZXhhbXBsZS9zZXJ2aWNlL1BLAwQKAAAA AACcnEo1AAAAAAAA
AAAAAAAACgAAAGRzZXhhbXBsZS9QSwMECgAAAAgAnJxKNXYdvdP/AAAAzQEA ABQAAABNRVRBLUlO
Ri9NQU5JRkVTVC5NRlWPyW7CMBRF9/4KK2vsAt2l6qJDiiIBRY3UvXFeIgsP qe2kga9vUscBVpbe
uYPvjmlRgfPkG6wTRqd4RZfotdWlBLKb4MzWkeyZghS/u6xnqpGAD7KtidAR F2d1NFLwICujLOLb
rmvbC/eiY97Y0QHBQedjVG0NZ1JcmP8PaIbeofYLflphgQRNio2tKXApGgeU GwvUttoLBYs7Mpq0
6WnpUBZOZMsu58Iz61NcMekA5aox1pMD4ydWT8nG1YJWdtj2a+zpqQtrnpMV faTLZIGuIge2E3z8
wxCjQftb8TA9QVl/n186GqdPZlSEl7zFkBR/Fpuc5PuPhzmY9kqiP1BLAwQK AAAACACcnEo1DC7U
rLYAAAATAQAAFgAAAE1FVEEtSU5GL2NvbXBvbmVudC54bWxVj80OwiAQhM+Y +A6Eu63ePND2pIkX
L+oDEFibTfhpgDb17V1sNZHTsPPNLMhudpZPEBMG34hDtRccvA4Gfd+Ix/28 O4qu3W6kDm4IHnzm
XjlohEmnWbnBgiCXSSzSka0yFXFGM6atSqmQFSxoFVKP1ZXyF7qKuuUlOsQw QMyvtRidA4Mqg+CT
siNNchyB4MImiBNqKJrTKdkJDXD0GeJTafhbt9KfjbdFrz31t4iVp8r69zty 31BLAwQKAAAACACc
nEo1An/wf9cCAAAyBQAAHgAAAGRzL2V4YW1wbGUvb3NnaS9OYW1lSW1wbC5j bGFzc5VU204TURRd
py3MtJaLAwWsiBUFS7kM4p0CikUTTUXDGJKqiZlOj3BwOlNnpgjv/oSPPvnC i0YxMZEP8Ev8CnXP
TLlJDfHhnNlnn73X3muflfnx69sOgEtYkBBh6Ku4Kt/QqzWTq7a7ItRFvcrv 01FCjKFzTV/XVVO3
VtRH5TVueBJaGQYO5LjcWRcGD9K00GZorb6w6MzQ9ay4j6B5jrBW8nQ9Iyzh zTFEsyPLDLGCXeEJ
RNGWRBwJCR2HCodpMk4ytDzUHWdTRhclPbBXLRkpci7o66Iio5eAl3RjlZsy TlHAku26cTCcTkKC
zNBRFBZfrFfL3Hmil03qTinahm4u647wzw1nzFsVLkO6+K/BEAFZNzyxrnsU Ppkt2s5KGLE7C8Ou
1myLW55a2LUKtuXxDS8/shzHeQxJuHCY46br8WoSw7hIU7HrHkMqnJyw1cfE 36MpcL2alzHCMH1g
2Jm9Epl5vyk+9kYQAyvjrfJMuW5VTJ4xxUtuCMcw+UQCoxiXMEZP0wQ+iQmo DFLNd5kWNZE9+n7+
k0lGyIdh/L/oMyQqfH94ibsbBq95wrZcCVd3ewqK7d3IuM4w05zxQoh1DGeG OKnCeLUYSLIppacJ
tCOfxAxmSUX8dV033b9CQ/1TKEkkFLfSTNtM0LpP1DS77hj8nvA11barnQk/ A+dIlVFaLbTgi5P2
GNkkftpP0Ol542449xXJnPwd7aWo0qmVYoqilVqUbq3UqvRoJUnp074g/ZEi I+inXSEcoJV2mRDi
GCL7DHmSIRoGcDaolQl68CvNU2aEvvFPGFSy28jtgyWCiyRBtQUgPWFgA8S3 Juk3QnQxRXARXG7Q
uHIU+FoT4A4C7jwG+AZuNvqsUUyUvoPR2Q9I5T4j3T81uo3pd2iJbb2NsH7f tfP+98/o1l6dHpoB
0EV7iibTi26yM0gHNTMh2l7NQczhFtWKkOd20DzDnQCp8AdQSwMECgAAAAgA nJxKNTkhC66HAAAA
pgAAACQAAABkcy9leGFtcGxlL3NlcnZpY2UvTmFtZVNlcnZpY2UuY2xhc3M7 9W/XPgYGBkMGTnYG
JkYGuZRi/dSKxNyCnFT94tSisszkVH2/xNzUYAibnYGFkUEgK7EsUT8nMS9d 3z8pKzW5hJGBMzkj
NTkbpJCRQVTDB6EguKQoMy/dWjOKkYErOL+0KDnVLTMHqEgAyVA9kHI2RgZG BmYGEGAE2sHKwAZi
MbADSSYGDgBQSwMECgAAAAgAnJxKNW78J1dJAQAAYAIAABkAAABkc2V4YW1w bGUvQWN0aXZhdG9y
LmNsYXNzlVHLTsJAFD0DpVXkoTx87TQxQRc2LlxhTJToqtGFhv1QRhwsHTId sL/lysSFH+BHGe8U
gonREBdz3/fcc+98fL69AzjBroccQ72fiJSPxpHwL0Ijp9wo7cFhWB/yKfcj Hg/8295QhMaDy7Cv
9MBXyUD6D5qPxLPST/7lJO5HYtHN4J7JWJpzhnzrsMvgdFRfFJHHWgkeVhiq gYzFzWTUE/qe9yLB
UAtUyKMu19L686BjHmXC0Ax+odhmKCSGa8Nw0Ar+JNVRsRGpaVsaxas0FGMj VZx4aNDm3wsuMgxe
OGuhVZfDEsfEqDFh36mJDsW1tLwrC5bHdgT2QJegV6CzW003ILlKnk+akS4c vaL4QkYOJZJuFnRR
JlmaFaCCKmn6FmxQVY1sh7x6BnOadVL2J0Q5g9icJecQ1mpSzE7e+g9YYwnY dla/8wVQSwECFAMK
AAAAAACcnEo1AAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1J TkYvUEsBAhQDCgAA
AAAAnJxKNQAAAAAAAAAAAAAAAAMAAAAAAAAAAAAQAO1BJwAAAGRzL1BLAQIU AwoAAAAAAJycSjUA
AAAAAAAAAAAAAAALAAAAAAAAAAAAEADtQUgAAABkcy9leGFtcGxlL1BLAQIU AwoAAAAAAJycSjUA
AAAAAAAAAAAAAAAQAAAAAAAAAAAAEADtQXEAAABkcy9leGFtcGxlL29zZ2kv UEsBAhQDCgAAAAAA
nJxKNQAAAAAAAAAAAAAAABMAAAAAAAAAAAAQAO1BnwAAAGRzL2V4YW1wbGUv c2VydmljZS9QSwEC
FAMKAAAAAACcnEo1AAAAAAAAAAAAAAAACgAAAAAAAAAAABAA7UHQAAAAZHNl eGFtcGxlL1BLAQIU
AwoAAAAIAJycSjV2Hb3T/wAAAM0BAAAUAAAAAAAAAAAAAACkgfgAAABNRVRB LUlORi9NQU5JRkVT
VC5NRlBLAQIUAwoAAAAIAJycSjUMLtSstgAAABMBAAAWAAAAAAAAAAAAAACk gSkCAABNRVRBLUlO
Ri9jb21wb25lbnQueG1sUEsBAhQDCgAAAAgAnJxKNQJ/8H/XAgAAMgUAAB4A AAAAAAAAAAAAAKSB
EwMAAGRzL2V4YW1wbGUvb3NnaS9OYW1lSW1wbC5jbGFzc1BLAQIUAwoAAAAI AJycSjU5IQuuhwAA
AKYAAAAkAAAAAAAAAAAAAACkgSYGAABkcy9leGFtcGxlL3NlcnZpY2UvTmFt ZVNlcnZpY2UuY2xh
c3NQSwECFAMKAAAACACcnEo1bvwnV0kBAABgAgAAGQAAAAAAAAAAAAAApIHv BgAAZHNleGFtcGxl
L0FjdGl2YXRvci5jbGFzc1BLBQYAAAAACwALAMMCAABvCAAAAAA=
------=_Part_1236_25208982.1160481353844
Content-Type: application/octet-stream; name=dsexampleclient_1.0.0.jar
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=dsexampleclient_1.0.0.jar

UEsDBAoAAAAAAJycSjUAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoA AAAAAJycSjUAAAAA
AAAAAAAAAAAQAAAAZHNleGFtcGxlY2xpZW50L1BLAwQKAAAAAACcnEo1AAAA AAAAAAAAAAAADgAA
AGV4YW1wbGVjbGllbnQvUEsDBAoAAAAAAJycSjUAAAAAAAAAAAAAAAATAAAA ZXhhbXBsZWNsaWVu
dC9vc2dpL1BLAwQKAAAACACcnEo1/eypR/8AAAC/AQAAFAAAAE1FVEEtSU5G L01BTklGRVNULk1G
VZDNTsMwEITveYqo53hp4RbEAUpBkdpSEYm7cTaRVf8E2wlpnx6njlN6tOeb ndndUcVrtI58obFc
qzxdwTJ56VQlkOwmcdbuo7KnEvP01W4GKluBa8FRufQguoZwFaHyJL+14CzA 1S0cof+51+Rn5nhP
nTajD4OPXXwwS5HdakYFP1N3GdP6Dr7CJ/503CAJTJ5q08A4obUITBsE0ynH JWY3ymhSeoDKJiWa
njMkay1brXxwnn6U7wUp9m93LP7BIEVS+Idx5EDZkTZTlLYNBxtGwIxnfhmY tolqduVr4w/1q83x
sQ9HeVqs4AGWi2QT+pEtPZ9KR40vU1NhMfkDUEsDBAoAAAAIAJycSjU1Lpm1 vQAAABsBAAAWAAAA
TUVUQS1JTkYvY29tcG9uZW50LnhtbD2PvQ7CIBSF55r4DoRdqptDW4dGRxf1 AQi9rTfy0wBt6tt7
qehCwuHLdw7VaTGazeADOlvzg9hzBla5Du1Q88f9sjvyU7PdVMqZ0VmwkVlp oOZdOC/SjBpajZRy
YooKU2DoKiPpWEFZobQMoebwpdVKCxcGFO0T1OtKtqwoG5Yko3cj+PjORWgM dCgjcDZLPVES/QQE
J9ZDD572QobTGcDPqAhHG8H3Uq1rRR4g8rNIxbcfStU0tir/vyT7B1BLAwQK AAAACACcnEo1nPNt
z04BAABsAgAAHwAAAGRzZXhhbXBsZWNsaWVudC9BY3RpdmF0b3IuY2xhc3OV UbtOAkEUPQPLriIP
BXyglSYmYOHGwgpjokSrjRYa+mEYcXDZIbMD8ltWJhZ+gB9lvLsQTEwIsZj7 vueee+fr++MTwBn2
PWQY6r1YTvlwFEoRKhlZ/0pYNeFWGw8Ow+aAT7gf8qjv33cHUlgPLsORNn1f x33lPxk+lK/avPjX
46gXykU3g3uhImUvGbKNZofBaeuezCOLjQI8rDGUAxXJu/GwK80j74aSoRJo wcMONyrx50HHPquY
4SBYSrTFkIstN5bhuBEspdbWkZVT20rI5G+mQo6s0lHsocZQ/V1zkWHwxKyF Fl4NS0xjq0eE/aDH
RshblbAvLVieJiNwCLoHvRx9QaLpEiTXyfNJM9K5k3fk38jIoEDSTYMuiiQL swKUUCZNn4MtqqqQ
7ZBXTWHO007K/oUophA7s+QcIrG2KZZM3v0PWG0F2F5aX/8BUEsDBAoAAAAI AJycSjXAJRB8zAMA
AAwHAAAoAAAAZXhhbXBsZWNsaWVudC9vc2dpL0NoZWNrTmFtZUNsaWVudC5j bGFzc5VUbVcbRRR+
JknZZFlpDZQWW2HbYklCk4DFt4ZWaAoa3YbaYCr1dbMZwpTNbtxsEH+K/gE+ t0fh1J7j8at+9veo
dyYJpBT19ORkdubeO/fluc+dP/765VcA86hpiDBc5rt2s+VyxxXcC/N+uyHy xS3ubJftJi8qoYYY
w5lH9o6dd22vkV+rPeJOyJDwyMSRtgymVW/ne67ybR7sCIfnpYtKd19gGFoU nghvMURT6SpDrOjX
uY4ohg1oiCfA8IqBUxhiOG0Jj5c7zRoP1u2ayxmSlu/YbtUOhDz3hLFwS7QZ pq3/L4HCx20nFDt2
SBfnUpYfNLqG/Vwdv9nyPXm/2N8VfS/ku2EhXU3gLM5pGH8Ohsr37ZA3DZzH BNXkdwiRs5ZSCz9/
LxBeWAkDbjcLcVxgWDqWkXkYxrzDVWr82neCKvLMcIubtY5Xd7npik3uiMBx eU7H65jSMMkwekIQ
AyYuMWgtKXI9SiVlDaQakrhBhcRxhWFY9q1X9zDewIyGqwyzLwGJgRTS1C+X uhL2W8xw9aSY1nHi
FDTMMkz+N1/iyDJcWKFogWmbNbq+TWB43Ax9k++KMKchzzDeR+J2Z3OTB7x+ n9t1HmiYZ5jo60pe
q9NDqauW3bxuYAFvMUSEN9i2AduCjjm8I7n5LsP51Ikm6aqOHG5II2LY6JFR N5AC/CYD4nifYaRf
jSzzhin7uWzgtmzbKdU26euOgRWsElvJf12OAcNYKv0irDo+xEcaSs8zUukM fAyLxs3lXiPcUuNW
GkYGZQNruEdj6/SZ+C8seRjHfQq7TjSUVqZoE1mDgFqXi2OdUB/UlDynp9NQ HeBmaW1l1+GtUPgE
sOZ0ecOQfanJI+Ctk1tMqpinSki+WAGDXudH464fZtLW8HU/R3VhIEe94ncC h68K+bSMHZvWnLyC
S/RGRentJNrIh4p2UdrT40Vrgk6LJKduQ88c0J/9DOMxnSIYoXVE3TQQw2my NWiVJ2WNM3hVeU1i
tOuJRcl/jGTtJxhLvraPi5nZ5OWnmI7gN2TIrxRfI/Ez5DaeYW7jCd48wNsH eO9ucrEslbf2sUQG
xXJ2Hx/8iKE9ZDI/wcg+xd0IfsCItPmEHOz9/afcVtT29z3EHjxWSX1Lv097 qa+q9EapzDGcwzim
aJ2hZy9L33lM0CBNUulTWMYVYuU00W8Gn9EL4RDptnGRPOUQ0DDJkjPdsnol y90DsmXkZ4n8bFDE
BdzEQ3yuoP2CokbwJdnF6PSVAnmZJBH6JvrQHGGsK8V1SnRBBRvvGh4GS/SC MXyj7tj/AFBLAQIU
AwoAAAAAAJycSjUAAAAAAAAAAAAAAAAJAAAAAAAAAAAAEADtQQAAAABNRVRB LUlORi9QSwECFAMK
AAAAAACcnEo1AAAAAAAAAAAAAAAAEAAAAAAAAAAAABAA7UEnAAAAZHNleGFt cGxlY2xpZW50L1BL
AQIUAwoAAAAAAJycSjUAAAAAAAAAAAAAAAAOAAAAAAAAAAAAEADtQVUAAABl eGFtcGxlY2xpZW50
L1BLAQIUAwoAAAAAAJycSjUAAAAAAAAAAAAAAAATAAAAAAAAAAAAEADtQYEA AABleGFtcGxlY2xp
ZW50L29zZ2kvUEsBAhQDCgAAAAgAnJxKNf3sqUf/AAAAvwEAABQAAAAAAAAA AAAAAKSBsgAAAE1F
VEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAgAnJxKNTUumbW9AAAAGwEA ABYAAAAAAAAAAAAA
AKSB4wEAAE1FVEEtSU5GL2NvbXBvbmVudC54bWxQSwECFAMKAAAACACcnEo1 nPNtz04BAABsAgAA
HwAAAAAAAAAAAAAApIHUAgAAZHNleGFtcGxlY2xpZW50L0FjdGl2YXRvci5j bGFzc1BLAQIUAwoA
AAAIAJycSjXAJRB8zAMAAAwHAAAoAAAAAAAAAAAAAACkgV8EAABleGFtcGxl Y2xpZW50L29zZ2kv
Q2hlY2tOYW1lQ2xpZW50LmNsYXNzUEsFBgAAAAAIAAgAGwIAAHEIAAAAAA==
------=_Part_1236_25208982.1160481353844--
Re: confusing Declarative service! [message #74679 is a reply to message #74325] Tue, 10 October 2006 18:36 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: john.eclipsefaq.org

You need to start your bundles as well as starting the DS bundle. You
can use the "start levels" section of the launch configuration in
Eclipse (Run As > OSGi Framework) to set the start levels and/or use the
console commands to start the bundles. Attaching the source code of your
sample application would also be useful.
--

lixinhui wrote:
> Hi,
>
> To study OSGI declarative serivce, I write an example consisting of Service provider and client to use the service. I has already download the org.eclipse.equinox.ds and start it. But no right result can be gotten. And can not find related service is registed by console command!
>
> I attached the related jars and please help to find problems caused by my false understanding of DS specificetion.
>
> appreciate your help!
>
> dsexample provide a service named "NameService" which check a String wehter it is among the name sets predefined;
> dsexampleclient is a client application to use above service to check the String from input end.
Re: confusing Declarative service! [message #74697 is a reply to message #74679] Wed, 11 October 2006 11:46 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: lixinhui.cn.ibm.com

------=_Part_33732_31293211.1160567707288
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Thank you for your advice.

I had already started my bundles after DS bundle by console. Still no right result is shown. Maybe some problems exit in my source code.

I attached all my source code and META-INF files and expect your help! Thanks

(My dsExample and dsExampleClient projects are built by Eclipse 3.0)
------=_Part_33732_31293211.1160567707288
Content-Type: application/octet-stream; name=sourcecodeforexample.rar
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=sourcecodeforexample.rar

UmFyIRoHAM+QcwAADQAAAAAAAAABTXQgkD8AsQAAADMBAAAC1Ryc0sJaSjUd MxoAIAAAAGRzRXhh
bXBsZUNsaWVudFwuY2xhc3NwYXRoALAqdRUJVVjMvZgRMyg6Hpc7KuNwRaIl QXBVKVzJWyFsWskZ
+EXfaJRq2UKqIuFcDoT73jp3x9qr3jvMHMXNFBd4bZmt40JIYt9u6C420MsZ hELJ22iHHbvNu4LV
kMc0SUniVLXCx7ixakcWtjGi5pRGznezz059zVPlnmRIAbCEOkYNYlAY5dX0 tegZYHtOLM/DhyPv
QfwhxUdNI6lFuWScLPMuRkE/lcy1H6PSaqT8EFz5/cmStXQgkD0AAAEAAKQC AAACoDd8yMJaSjUd
MxgAIAAAAGRzRXhhbXBsZUNsaWVudFwucHJvamVjdACwKnUVCZkQzM/dF7Wh PB4PvE7ed4ONhZbe
dpAkngCiW11QTTQknCe+ThIEcbIkonKMZQvCl8A3M3cX6Et8e3MW7qBYZiPz 7/w2SbdQfHtBSzUo
yxeIvCLGCCUlMievatPtk8oppcXfIlVOwCM9AWRRksbja73SIHQEpV+u7lpO GY5rOMkj47r1pFFD
WZeZXUudhwlvRHeTrqMcuhNf4IKzNnhoK9mBFKpxWDttSsBbCsFa6ptA9o3y uhv30LYB2MqcUuC4
77HCwDP1HqbZxe/PzfILZ5/9ndBPoLB/xG4M3e5aPsqUEMfVGAzOeqcyPh9x xb8v8ZV75iME5dW4
jtoK/rZvQFy2dCCQWQBeAAAAXgAAAAL5VvlswlpKNR0wNAAgAAAAZHNFeGFt cGxlQ2xpZW50XC5z
ZXR0aW5nc1xvcmcuZWNsaXBzZS5wZGUuY29yZS5wcmVmcwCwVOoqI1R1ZSBP Y3QgMTAgMTE6MjI6
MDQgQ1NUIDIwMDYNCmVjbGlwc2UucHJlZmVyZW5jZXMudmVyc2lvbj0xDQpw bHVnaW5Qcm9qZWN0
LmV4dGVuc2lvbnM9ZmFsc2UNCpiqdOCQPgAAAAAAAAAAAAIAAAAAwlpKNRQw GQAQAAAAZHNFeGFt
cGxlQ2xpZW50XC5zZXR0aW5ncwCwVOoqsJ10IJBYAGQBAABsAgAAApzzbc+M nEo1HTMzACAAAABk
c0V4YW1wbGVDbGllbnRcYmluXGRzZXhhbXBsZWNsaWVudFxBY3RpdmF0b3Iu Y2xhc3MA8FTqKggV
URDJvRgRbk+yZFjIxZI/iLqUEJ86HB0OqIgqLqwXQpN9zMtjccmZDMuLPLXU g6HwB8oRLkFmXdwq
8iRBCCPgV1/O12qvx+jgV0vtX2ijnDh3d3wH19vP0F8m+LYmilyhVXYiXx3L rxHHikfM1xuGL3jN
BCjmD6VsccaeG/aa6bNtIzIVk+2jY/BFaK12Qp2Twj3c1yXn3VCZb1JGeEr5 TcUY/1b/2MSxywOk
nRwWhPEoTOPRbR5Oi9cskh6x2U6QNJuBwb1gcJVv/URg3aWLFbLeaN6ujZkR k1Ni9ys3mi4r9NFA
mrrJJ3NfcJdT9BRYy6h6f3sssnCTXMlgb1+4oDPGJBdAf9UF6FQfOVZ90cpr 3l4BbQg4cHpgfAtY
cGCc8HWvhlHmbvkoLxBiWKeCWZImEoYGfkqlKCogsPmC0wq6R2D05AXBJbCb +QKGC1ckzDls6gQ1
5et/EJUwd15K6r7ogQd04JBIAAAAAAAAAAAAAgAAAACMnEo1FDAjABAAAABk c0V4YW1wbGVDbGll
bnRcYmluXGRzZXhhbXBsZWNsaWVudADwVOoq17B0IJBhAN8DAAAMBwAAAgyo SayMnEo1HTM8ACAA
AABkc0V4YW1wbGVDbGllbnRcYmluXGV4YW1wbGVjbGllbnRcb3NnaVxDaGVj a05hbWVDbGllbnQu
Y2xhc3MA8FTqKhGBURDIz81BlsBNgkDY4mNNkcg9bZG0IaSCNzpYDgNMJFJo hxohIOdWrVgGsRuk
S1OOeKR+Av/DqdFSSqlT+yf6ePSSs3Wlu7m4XmJJsYySU/AFSS3by+nnL5ee OX0ZfMvsr7mXl3l5
4P/H9fn+oWTJClehd3Qc4neW2tuoReowRlua1W12Js7Yf2zQgYk5LQx4heN3 Fu6tNqLM683SpdyD
24Cisi6Loen2orTrTbcpm1iVe6wu9oklGx3KMLh5bDLDfWfF5JxtR5iTmqZI z8C/wAhhvooQFxHz
wjGe8FUySUK+1SNvTWpQoOo6rS61TUWqsI97bSI3sMVnrFV//Ag12+WPmx4j Yw+RJhOq69p3uXUu
1CE0yiOnXPF8WeFo2z2nc5Ack8kjyiBR+ytB20fLlBhiFWq4knyFbFMNTeye k3KLdUlhlXwcuCs3
fWmp46BTsETbJOl9bAhNlR4IpSrs03ShdY1WKu6ySZGD0w5hw8QvH4CnjjKB zS3u2hlUZGyZKu8u
lsW2uIHsOeW/Rj/bH+/D1A6MKvQLj+cEpDbJDGLxKg4WbuZkf/Q4Gqq79G+V DdjlxP+0XHoll5ee
NMqqLKUhjdkSLOEo20oazDcyESaWRcIjr19bWdEp9oi1N7gvJLhuZPZ269sp rXMjJnT3QuoHrFu2
Gd7jG8esqMGQHsIU17Jg8qTwTpjahiTA6rnBTHx3dWqOk8sxwDz7ZeLcBiBD qqIydnGz10YxwnKR
Kuw4zw0C3wz6mjQD6wpON5poMv3Q96HWf5ak08br3wVLw6hH23sJ1tn34Sgo QRpB2SxV7iiP9ETd
tx2hqNMVAQ7KMVhVXVOgu3MgnTLIc+nsr2+M5upvFNT9LP7y5Ntt9CcV6vaR /fMvzrXgT3V4PMg8
URlIEj+aA4EjUyeTe2N47IrHj+hzEwTu41FqvVfugwjpZwt9tZMRCBzR6pbw ezoUYR1TgA+ohscu
ia1iZYtxzZCVK/Eft194YG4ACz4pXSIjAPqGCEUf/BT6pfA4wegmbRztWpRd Xgz6IWt4TlR/R/AP
SlY8fnfkGK6/YJQz+ht0nJ+gTNWz5Gq//Vhy9eze1ox8ugjk6zjNFynUJbx7 nfPX4DWlfca8uEPR
L9pzUOvwDIvB/f8o8qLlfuYsTR3E2++ofnw2750E26drdmwg5ISA5g/vRHrx LH/yQwx1HxBHMC5w
c8VLYop9g34x6I1xT+2YVxlEwKo6loGkq0EO2jx+IXqHGEfNcmq7HnMDth8i TZ+UatAPzeKGq/fn
Sd7Ocl2WLcJnyHLGTwdMbn6iaXItO7vorl2X6Uwq3+KEVnTgkEsAAAAAAAAA AAACAAAAAIycSjUU
MCYAEAAAAGRzRXhhbXBsZUNsaWVudFxiaW5cZXhhbXBsZWNsaWVudFxvc2dp APBU6iovM3TgkEYA
AAAAAAAAAAACAAAAAIycSjUUMCEAEAAAAGRzRXhhbXBsZUNsaWVudFxiaW5c ZXhhbXBsZWNsaWVu
dADwRsMjXm104JA4AAAAAAAAAAAAAgAAAACMnEo1FDATABAAAABkc0V4YW1w bGVDbGllbnRcYmlu
APBGwyNXZXQgkEUAUAAAAFAAAAAC0ltg+8JaSjUdMyAAIAAAAGRzRXhhbXBs ZUNsaWVudFxidWls
ZC5wcm9wZXJ0aWVzALD6hygJVBDL5M70HB+wBe7AmhoUGhlUsamMoQRUnSb+ giJ3Uwa3B/0fo9nP
vYefEoOeIhYBoCpoTx59vgz137z4+HbS0ec0xubbXgy8qslsP8Kj0kFEdCCQ SwDTAAAAGwEAAAI1
Lpm191tKNR0zJgAgAAAAZHNFeGFtcGxlQ2xpZW50XE1FVEEtSU5GXGNvbXBv bmVudC54bWwA8BgN
jwnVVMyb1cETNfgdDwmdlXG4I24E+cjhV0BC2WsGX+CStK77SopZJaeg1dHT B33DnezUMJ6eDp33
eTxwPxzRZY7qEitOpaKqdo9ZNQxHpkqlRTOzc+W/TsHHFo/itKitwW1YKk1B 75V/9xvUk+5KAlGB
UBUPgbrMawF8UARwSJMtbnn+BJ5EqXOgm7ozdeAIzXYYhPXq1VV5H2d86WKe DkbigfJi0yewQ2Kw
QI8xR5nKDWn97/VtG1F7nIxTYpjXv0EzxwmfYj7XH6MLYahYf36wZ4SKtXQg kEYAFwEAAL8BAAAC
/eypRxdbSjUdMyQAIAAAAGRzRXhhbXBsZUNsaWVudFxNRVRBLUlORlxNQU5J RkVTVC5NRgDADdkQ
zMn9kXu/Cqr2s0tDmCOB/pQUSLSoiR3f91yJqyN0bchLfehKUESRyyDjlDw6 T77czXvkLzcW5je7
r1fksxZwzwbSM5oSqW96lSoyD9eLMGUX+lPsjK9pvJgPpcHUOQtO71aJ6Rup +eMxTrxa45YnjHcm
DfJ/0VSRreyjvnfu1zvvcRZphrQm7EWikogYCc15IIPi4VF+RNaLA7dB6F9p TJ4msVNW6ILo5uYa
BKZ9iaorhYvk/gbsJ0TgzMUH0ms6YBnQzti9ttgfnB4vvP6vDoI79hPJGJ+3 4St7WMm0cV9eQqwQ
FNgBg/ZYxgL/GOLk5uwpt5P3p23smbxPbjzB1Blxi0N13lUPhvgWNlrJYeWd QC+EB2x04JA9AAAA
AAAAAAAAAgAAAAD5Wko1FDAYABAAAABkc0V4YW1wbGVDbGllbnRcTUVUQS1J TkYAsAI3WOGudCCQ
VwDSAAAAGgIAAAIqlpyewlpKNR0zMgAgAAAAZHNFeGFtcGxlQ2xpZW50XHNy Y1xkc2V4YW1wbGVj
bGllbnRcQWN0aXZhdG9yLmphdmEAsITXFwmVUMyf1cFT2fwOh8B8aoNugL4q /h8XRcZI1ha2Qsjb
QR3ugoUZJWUlEF8X+B0B3wwznDmosOnc7nTvfDD7Qf2gUCHKKQoESWsW5ExR zGLOqPD/WJuvPQoL
OSE6ZDQ7KGBLV10sOjfORis41GpEpYR+v7/nao2F75G/W2QYNpElId0Qcgw7 KdC08n4cLhYIsjsD
IEE7TMuoS6IceN/LNb8X2KeJKhWywc89mJ231KTmIDy+HvsHeYCttB6reNNY yoUZa3WMHH89o6Pu
vXE+ay7OSOLudOCQSAAAAAAAAAAAAAIAAAAAwlpKNRQwIwAQAAAAZHNFeGFt cGxlQ2xpZW50XHNy
Y1xkc2V4YW1wbGVjbGllbnQAsITXFyYIdCCQYABdAgAApQUAAALXlhxwYYpK NR0zOwAgAAAAZHNF
eGFtcGxlQ2xpZW50XHNyY1xleGFtcGxlY2xpZW50XG9zZ2lcQ2hlY2tOYW1l Q2xpZW50LmphdmEA
8PQPUQ2ZUMzM/RQRdygE8HIepKCAu7qxdEss0MCC0Cu+AplFtmowlVIp9Aon u90yPoRKwlFJPolo
mm7mmmc5nM5zhJfjmYTnXwnmD7/R/4XNGSWPOURdcflMcpDmKhQ00ZzYuvq2 puCJnUL8x6YxmSP5
05sxZyyfcscm7xdFfH9vDWQsyt6R7FRE1KsiqvLpuvdrhwvEbfONudmoLu/1 SZCdY5KB9mLmHWpA
806xC6t+ldXfVAfeyBrDn0mYSP6gIyWe94m4ntDkSFBDX12OT1k+Vg5BMMjo oF36GKytKe90I/fD
oGH/5ChIFbphgu4ijV9KXcILYLiadv6KLiSwkekRt6L5b3Sc+KwXYZ0pNIKO wnLD32qfeEehca/b
PuJpmCBU+yz0gybKOD+VcVNZ4Z5UM6IcHOrtxeF9Cuwpe3UZWipotwxXLSz8 +6qVmqqaeuUo8EWJ
xjjVsPEyorUfGdJI1W6y+G2j5pcXf7KXwCzPXavs8aJQzjHGFJCQMVuz7l45 EZDY2LqFy68LdLo4
3oXEt2cq3E82ANvmd2xQEcGC1XcOEXilMzAWwZRQfYN2tq0GCG4aqUlfPThn dRK6O6QcHLl7PtOL
Lroe17+Nkn4itc8D0ZUIYLMniEFwtpXYGPNfjHYmvnkjntbWRcC2TjrQ4ML0 AywoXJysuvvha313
+r4XNSDKGbleg+fX1cts7f0ZLeKrtOK+x7O778aLOfFagdIpnW6S/ddcDIj1 l++vcaCdBL6/m3ys
4OQjHWV8X9HwgZ6kaON+c3WeQvuOtKtE6dTALzdxr/36xc2A8fxAXah04JBL AAAAAAAAAAAAAgAA
AADKWko1FDAmABAAAABkc0V4YW1wbGVDbGllbnRcc3JjXGV4YW1wbGVjbGll bnRcb3NnaQDwasBh
0RF04JBGAAAAAAAAAAAAAgAAAADKWko1FDAhABAAAABkc0V4YW1wbGVDbGll bnRcc3JjXGV4YW1w
bGVjbGllbnQA8DIkRUDRdOCQOAAAAAAAAAAAAAIAAAAAylpKNRQwEwAQAAAA ZHNFeGFtcGxlQ2xp
ZW50XHNyYwDwMiRFACR04JA0AAAAAAAAAAAAAgAAAACcnEo1FDAPABAAAABk c0V4YW1wbGVDbGll
bnQA8MQiZOe9dCCQOQCxAAAAMwEAAALVHJzStVpKNR0zFAAgAAAAZHNFeGFt cGxlXC5jbGFzc3Bh
dGgA8KAlJglVWMy9mBEzKDoelzsq43BFoiVBcFUpXMlbIWxayRn4Rd9olGrZ Qqoi4VwOhPveOnfH
2qveO8wcxc0UF3htma3jQkhi327oLjbQyxmEQsnbaIcdu827gtWQxzRJSeJU tcLHuLFqRxa2MaLm
lEbOd7PPTn3NU+WeZEgBsIQ6Rg1iUBjl1fS16Blge04sz8OHI+9B/CHFR00j qUW5ZJws8y5GQT+V
zLUfo9JqpPwQXPn9yXHjdCCQNwD+AAAAngIAAALKeJpPtVpKNR0zEgAgAAAA ZHNFeGFtcGxlXC5w
cm9qZWN0ALAmNJYJ2RDMz9XBF7WhfB4PvU7ed4ONhf552lCWeAKNbXVBPWhJ OE98vB8I/4kSUUlG
MoXhS+AbmbuL5CW+PbuLcSBYZmnx+4feFSTbaUZtgKWeoc8XaTsizAM9RjjR btPv59fdFNL1dMiV
VawnZ4gudR0sbja70SCWkJTL8tu7SgJI3rdYwCptIsluKzc7DgreiPEnVWdB tCbfYgrwbPlEz2YB
VKoJeNG8JYE1mYTB1TaC7CvlcB/voGyy3srcUuC48bFlkB/UfJwnJ6Xef4Bb O//s90T/IXj/iOQZ
5e4aNZWoIY+KMhnsiug4+r7ji35n4ysXzByTnKtxvnoLHq79IP2edCCQUwBe AAAAXgAAAAL8+P99
tVpKNR0wLgAgAAAAZHNFeGFtcGxlXC5zZXR0aW5nc1xvcmcuZWNsaXBzZS5w ZGUuY29yZS5wcmVm
cwDwYhEyI1R1ZSBPY3QgMTAgMTE6MjE6NDMgQ1NUIDIwMDYNCmVjbGlwc2Uu cHJlZmVyZW5jZXMu
dmVyc2lvbj0xDQpwbHVnaW5Qcm9qZWN0LmV4dGVuc2lvbnM9ZmFsc2UNCmFN dOCQOAAAAAAAAAAA
AAIAAAAAtVpKNRQwEwAQAAAAZHNFeGFtcGxlXC5zZXR0aW5ncwDwYhEyJ2V0 IJBRAOwCAAAyBQAA
AgJ/8H8UfUo1HTMsACAAAABkc0V4YW1wbGVcYmluXGRzXGV4YW1wbGVcb3Nn aVxOYW1lSW1wbC5j
bGFzcwDwVOoqDd2REQi9FBVreQ1BBzTQERHQUHTTgwR4zQFEFkGaiw1hIKyM zc20MHd3NdzNEO98
Jex6npOlY8EjIngD4k+FKzMxhuZt5lZmacKhIvgWXKuuD6q+q/pnjl1f1XV1 9dfXVT/+6Ku+mrl+
A/b8fTaDbOgGbCB68C4nJGk1zqFKeQ1FLTQNz12TOHsxr9S01TtY42edR0ze /N1SHpsLBUu99QSJ
T1kDyOVEx1tag0PLROoCxF8cveBpidNCrShjZFXQTylp9IwNGqv8xGcSIvAs rELAIhYrPgXl2ohh
yFqB3jqdPYXUUafuo6lFcxheZtZSE5atxGdA4/UJPXfJGdaDRyRTlxyiqlSh qWcsoxM+pQmsy+E6
az0wJktE86folTQb713j9PUQSq1zL4nTIk1DLMmh+5MZvFkFEp6bstuaKPRr GRLXRTNzNxlcbeU1
OU1eylzQvmUOdwTDYSY6gzRfhz1HyNROqxndZQRN8AnxMdHCMgSmmsBTH325 R9224+W3i5ML0oCR
qMeqMXNqUZzP0eeh5iHoUz11iRAwQwy+4SkXhBtkDEA1SFSbdT6I4PI/vzxv z3CPdJi5w/+j3WfE
nE3taidvXWqS9Y1JlPpq8cst2C1j1VMhXxmkO/wOK3rAUPD/O2A4gu/FEDjh Ka+yAyVIJPRUOnpf
xPnV+LFp+6tRnCraeID9nCX0xGoX0ncQbSiy3EdYjdMF4Knj4foCgNqUPL8H ja9LOMPXyV4d/J+Y
WMmH9WXdJ8ZaTNJ+YZVIBlqpBMtlIRlxM+IXPuGS9C6HkwQ6tQVUMQYp98Lf LWWLofC7DmOWqOF5
XscsaL1Sw94Xpkj5BJ3gURyBW0UqycB7Z2ZWxtnFH8kCawxhC2L6NckdL+xn qK62aq0V+9YOvXy7
SVPlL19k+0I0n4Na3WNglVx/W1O/2fU9eXTbra9n5+77Z3bdKvAVRR5jDpNu FqLbXNy5cR3Q+t1c
5QdhZWywPZczS77TgHM/SAAfdOCQQgAAAAAAAAAAAAIAAAAAFH1KNRQwHQAQ AAAAZHNFeGFtcGxl
XGJpblxkc1xleGFtcGxlXG9zZ2kA8FTqKjIrdCCQVwCaAAAApgAAAAI5IQuu FH1KNR0zMgAgAAAA
ZHNFeGFtcGxlXGJpblxkc1xleGFtcGxlXHNlcnZpY2VcTmFtZVNlcnZpY2Uu Y2xhc3MA8FTqKg2R
FMy9mA09IAwhUUlpdCkaLi8qEFDrK3HPIHCH4TkIjmxQcAOUCEUEccaUalAc I2rKMWbyPUsyjKtS
++4f59d/AUmcIL4PvBkjmKPY/HpKJZhVQlC/XVhNadY7vzFIeg5ZT8txdkUg onYUCN6/g5qnjh1f
nGnUldoy7WPhNz6qaFpS1qyH9XM55GHS3AdnrOLwEcINw+nwwe0KkHTgkEUA AAAAAAAAAAACAAAA
ABR9SjUUMCAAEAAAAGRzRXhhbXBsZVxiaW5cZHNcZXhhbXBsZVxzZXJ2aWNl APBU6ir2HHTgkD0A
AAAAAAAAAAACAAAAABR9SjUUMBgAEAAAAGRzRXhhbXBsZVxiaW5cZHNcZXhh bXBsZQDwOJwcq0l0
4JA1AAAAAAAAAAAAAgAAAAAUfUo1FDAQABAAAABkc0V4YW1wbGVcYmluXGRz APAqdRUtP3QgkEwA
XQEAAGACAAACbvwnVxR9SjUdMycAIAAAAGRzRXhhbXBsZVxiaW5cZHNleGFt cGxlXEFjdGl2YXRv
ci5jbGFzcwDw+ocoCBVREMvVQRbkcmRYyMWeD461BCLobHQ6oiCourBdCk33 mS2NxkzIZlxZ9a6k
HQ/AP1CJcwWZd5CryJEEUR+CuvTtdqr+fo7265R2/As5w4d3d+B9PXy8xfBv C15opcoVOzAXAS7e
uFHxOHN3EO8+mGEaNskUHcI7aH0N2yptKso2U7F3oLRh9b6ql74t2j477tlX st+URngM6Y/DEMyt
t2MSxyPWSzooLPnijEzUUWk+Xnv3Wyv9RG1aSNJp5wlywR8y3/mIwfsNBiqr X4GVdLzIDqefF7VZ
r9i6j5dOrZ66yE7lwOFvK+koMYtQN59bVlkwk1zJaDbf9iAZ4xHrwDzpevvx h8xlnzQymvdXhC2B
BwgemB3FrDgwTnA6P3ZSJm54xheAMSxTwSzJEhKGFn5KqNQVEFh8gtIKukhh FOQDfkuBN+4KhhtP
JMhy2aoQ15mp/kO1MPdWSv63smFWdOCQPAAAAAAAAAAAAAIAAAAAFH1KNRQw FwAQAAAAZHNFeGFt
cGxlXGJpblxkc2V4YW1wbGUA8PqHKHShdOCQMgAAAAAAAAAAAAIAAAAAFH1K NRQwDQAQAAAAZHNF
eGFtcGxlXGJpbgDwKnUV2it0IJA/AFAAAABQAAAAAtJbYPu1Wko1HTMaACAA AABkc0V4YW1wbGVc
YnVpbGQucHJvcGVydGllcwDw+ocoCVQQy+TO9BwfsAXuwJoaFBoZVLGpjKEE VJ0m/oIid1MGtwf9
H6PZz72HnxKDniIWAaAqaE8efb4M9d+8+Ph20tHnNMbm214MvKrJbD/Co9II 03QgkEUAxwAAABMB
AAACDC7UrM9cSjUdMyAAIAAAAGRzRXhhbXBsZVxNRVRBLUlORlxjb21wb25l bnQueG1sALDSSWsJ
mRDMvhF7RB8HhO7KvN4Vt5KDxeKvgELY0gSyUsjSvvaUELZYmxtUHwecsm5/ mbJ5FvLf9zNzdPvv
D45baUjsPWxC1bibC6yDOqZc6FUYbr04atpJZNOiNxU1YhdTRqNSe6dm+03o k5AdFGiCnO7jNCgY
gximSZjIGFPkIq2UILyCfxDsSKQcIqq11P/b4zseTev9eM9j2sZPcMLa70DY DZiixEx4LGHIR4ec
40P4dPY139rsyfN1zyXnVxfaBQ9LDfvsB3yggfB0IJBDABMBAADNAQAAAnYd vdM7W0o1HTMeACAA
AABkc0V4YW1wbGVcTUVUQS1JTkZcTUFOSUZFU1QuTUYA8DrTdAmY1MzP3Ve9 +FUvdW9dt17G6Ltr
sQNbqaBe951yDLI3c45NLfesaQxZJyEmcktvhjDiS/TXkLYlxHG+JHD5Aj/w rQVKHjxMHrOuJCk9
2LrJlF4xp2QHHouUwT7L0dJYT0bzizy0DdR8WqCN8aE3rO74flUCDNa2TU9z 1nKpmMxEhWKXbOnm
5MOl7r2UYoM8KS/xyoQb2Wvg/1Ghc5rFLVOfIc1RtwDkNROIumP5WXk6EbYU qlIFos7eQOl4b3WF
WwA3gmpATlYtUmD1FNtK/cfKiDMjy7M590bb3yNxPDHM7f3HkFyZABciDW/B YEk87nbyzYOJek7W
WS/f7oxOt9H5Xg1F93fVwbmn06sDZJYYBfiAaZx04JA3AAAAAAAAAAAAAgAA AAAyW0o1FDASABAA
AABkc0V4YW1wbGVcTUVUQS1JTkYAsPy+gElVdCCQUAC6AQAAaQMAAALJ79pX I1tKNR0zKwAgAAAA
ZHNFeGFtcGxlXHNyY1xkc1xleGFtcGxlXG9zZ2lcTmFtZUltcGwuamF2YQDw TnJTDdkQzMz9HBF7
OgXwfQuSdkCk7qThRZeFoFvCOc2GICyinCIWSqSU42IH7vODQbSJT1fxW1Ly tvYgpHUtzcObuePn
dxYd3Vp3NH7PhnhkxC+ZNBgkZEbWTTMg0SmaDx/H4b09OUtuGUwy9Ry8P80D ZLo4+Qjf6LavkCVQ
yEmS2L5Wls0+dFTgVBGMCwn+wn8B7DrSILAwH0PVz8QdXUHh5Ut6AnkoJGc4 j1XKId60jspBozSL
WTZXG54DrI1dTaMuYNPjYEHbu9F6hB+BF7IOmkfdXkmznuI+ySi7yFeUi2Hi GyANsd1Td7mWppit
HsalOe/GlH1Ep0P0/dzUhNDW0C3c47VrFkrWpumJU7Ypt2ahMMGG4cqQfOw2 N0+h+KF9pzzpkRwk
HlfwdZRz+gxikYto+X5JtRchv6EY9DiB6MD6636TNPUv+qV3GJ/yrmdSkbjn Dl/L52HUNzKtcq/E
LngetwdvgXsF0mlldw49xzbuVSwhFT1aHaHXGPHZe80T4XoVnj+ujox4Hvc4 qKuR3rhuU+aI36nI
hkNqDj94n+KizSzNnWN4XOaP3zdvP6wRXjZR6c1+Hg79kLJedOCQQgAAAAAA AAAAAAIAAAAAI1tK
NRQwHQAQAAAAZHNFeGFtcGxlXHNyY1xkc1xleGFtcGxlXG9zZ2kA8E5yUyja dCCQVwCZAAAAowAA
AALADtp5I1tKNR0zMgAgAAAAZHNFeGFtcGxlXHNyY1xkc1xleGFtcGxlXHNl cnZpY2VcTmFtZVNl
cnZpY2UuY2xhc3MA8NJJaw3RWQi9nA0+BUUamkqOAjSbwBvamLRtbXps+gaI /xNRI82aHgDyhhGg
NNNkNjQvCPVZRkz3I/SZlGVek/fuH+vfjyFpGD+UHXAhHubj0oEnUU1IOr23 YS/TvBj+aJzVGJQb
lKTdJOJ6Vk+eZXwa1zgi2fnFpShVq071vnLz7JYFrQxrCH9WNr3lna4gbnMO MgPNEGYWHQzVoAFO
dCCQVgD6AAAApwEAAAJLrBfDI1tKNR0zMQAgAAAAZHNFeGFtcGxlXHNyY1xk c1xleGFtcGxlXHNl
cnZpY2VcTmFtZVNlcnZpY2UuamF2YQDw0klrDZUMzM/VgRN0oF4OdlqFDnAL psE3vTOBJuFSoRxJ
hJuW0UXu9FcAriZjSTbkeqcCOpJHM8cIXH8CGH8peQI+zR7OFUnn3n3CG1sg /J+FNAyNFnFM4+vj
4aTGtAAwagamFsLIEqq5lB7NV7nqu6KHCLQOCiD6qJMmZ/TAZ9BxsJuoLXhO MuktJBT7q0PDl/sG
G021Nc1F2M2eQvbMR/7d+jGUvorNZG3oAhbO8aiu+1/bHBhEgiWPBYTWs8BA 7cy8waq2KdzK37iO
y0n3xuPbpGVXp1ayrphRfwXr0mfFjl461ox1uZa6BOrDLgX5bCm5N0Y55v+J /P+/UA9AdOCQRQAA
AAAAAAAAAAIAAAAAI1tKNRQwIAAQAAAAZHNFeGFtcGxlXHNyY1xkc1xleGFt cGxlXHNlcnZpY2UA
8NJJa4nxdOCQPQAAAAAAAAAAAAIAAAAAI1tKNRQwGAAQAAAAZHNFeGFtcGxl XHNyY1xkc1xleGFt
cGxlAPAehWbV5HTgkDUAAAAAAAAAAAACAAAAACNbSjUUMBAAEAAAAGRzRXhh bXBsZVxzcmNcZHMA
8E5yU+Z+dCCQSwDQAAAAFAIAAAJSTKnYtVpKNR0zJgAgAAAAZHNFeGFtcGxl XHNyY1xkc2V4YW1w
bGVcQWN0aXZhdG9yLmphdmEA8PqHKAnZEQyX1cETdPA8HsHTGAycAmlXx7S8 LxzMY4SMzCZc/gEe
7oKEJkkcjEQXSvvHuAVosv74+5FZRV1dFVos/cD/cBUQsZIjgZZ6ib1SHhyf VaiwpmEK+J9K4kP7
ZmWemzRv6p5TWk0lFFBBYEPv+/aZRubHs+VPskQUCyEWsPCINQtPbToYno/D hgJyB5uA8DstxmfW
RlGSXNjy0X8H+CnlWJL5XeexZgbvepQlBgxL5e+ofcwB3TJpv4/KinUKGLhY c4/72kq/tetJ+6y3
OSCrvXTgkDwAAAAAAAAAAAACAAAAAClbSjUUMBcAEAAAAGRzRXhhbXBsZVxz cmNcZHNleGFtcGxl
APDSSWsIZnTgkDIAAAAAAAAAAAACAAAAACNbSjUUMA0AEAAAAGRzRXhhbXBs ZVxzcmMA8PQPUZl0
dOCQLgAAAAAAAAAAAAIAAAAAnJxKNRQwCQAQAAAAZHNFeGFtcGxlAPDEImTE PXsAQAcA
------=_Part_33732_31293211.1160567707288--
Re: confusing Declarative service! [message #74732 is a reply to message #74697] Thu, 12 October 2006 21:00 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: john.eclipsefaq.org

You aren't specifying the "immediate" property correctly. Here is a
corrected component declaration:

<?xml version="1.0" encoding="UTF-8"?>
<component name="dsExample" immediate="true">
<implementation
class="ds.example.osgi.NameImpl"/>
<service>
<provide interface="ds.example.service.NameService"/>
</service>
</component>

There may be errors in your code as well, but I can't read the "rar"
file format.
--


lixinhui wrote:
> Thank you for your advice.
>
> I had already started my bundles after DS bundle by console. Still no right result is shown. Maybe some problems exit in my source code.
>
> I attached all my source code and META-INF files and expect your help! Thanks
>
> (My dsExample and dsExampleClient projects are built by Eclipse 3.0)
Re: confusing Declarative service! [message #74801 is a reply to message #74697] Fri, 13 October 2006 03:38 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: lixinhui.cn.ibm.com

OK, Maybe we can choose a simpler example to recognize my errors. That is just about a service out of following 4 files, installed it in Equinox and then started it and expected to see "com.sample.service.SampleService" among installed services, but it is not there. I am definitely doing something wrong but cannot figure out what.

I copy some important files here:

==========================================
package "com.sample.service" include two file, one is service interface named as "SampleService", another is the related implement named as "SampleServiceImpl"! Following is source code:
(1)
public interface SampleService {
public void service();
}
(2)
import org.osgi.service.component.ComponentContext;
import org.eclipse.equinox.ds.*;

public class SampleServiceImpl implements SampleService {

public SampleServiceImpl(){
super();
System.out.println("SampleServiceImpl is constructed!");
}

public void service() {
System.out.println("Sample service is called");
}

protected void activate(ComponentContext context) {
System.out.println("SampleService Component Active,within the bundle lifecircle.");
}
protected void deactivate(ComponentContext context) throws Exception {
System.out.println("SampleService Component Deactive,within the bundle lifecircle.");
}

}

===================================================
package mysampleservice has one file implementing BundleActivator to activate the related bundle:

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.sample.service.*;

public class Activator implements BundleActivator {

/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework. BundleContext)
*/
public void start(BundleContext context) throws Exception {
//SampleServiceImpl ss = new SampleServiceImpl();
System.out.println("BundleActivator is started!");
}

/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.B undleContext)
*/
public void stop(BundleContext context) throws Exception {

System.out.println("BundleActivator is stopped!");
}

}
=======================================================
Related META-INF has two files:
(1)activator.xml
<?xml version="1.0" encoding="UTF-8"?>
<component name="sample.service" immediate="true">
<implementation class="com.sample.service.SampleServiceImpl"/>
<service>
<provide interface= "com.sample.service.SampleService"/>
</service>
<component>
(2)Manifest for bundle
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MySampleService Plug-in
Bundle-SymbolicName: MySampleService
Bundle-Version: 1.0.0
Bundle-Activator: mysampleservice.Activator
Bundle-Localization: plugin
Service-Component: /META-INF/activator.xml
Bundle-Description: Immediate component activator
Import-Package: org.osgi.framework, org.eclipse.equinox.ds, org.osgi.service.component
Require-Bundle: org.eclipse.osgi, org.eclipse.osgi.services, org.eclipse.core.runtime
Bundle-Vendor: CRL
Export-Package: com.sample.service
Eclipse-AutoStart: false
Re: confusing Declarative service! [message #74924 is a reply to message #74801] Tue, 17 October 2006 06:24 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: constantine.plotnikov.gmail.com

lixinhui wrote:
> OK, Maybe we can choose a simpler example to recognize my errors. That is just about a service out of following 4 files, installed it in Equinox and then started it and expected to see "com.sample.service.SampleService" among installed services, but it is not there. I am definitely doing something wrong but cannot figure out what.
>
> I copy some important files here:
>
.......
> (1)activator.xml
> <?xml version="1.0" encoding="UTF-8"?>
> <component name="sample.service" immediate="true">
> <implementation class="com.sample.service.SampleServiceImpl"/>
> <service>
> <provide interface= "com.sample.service.SampleService"/>
> </service>
> <component>
......
If you have copied XML file exactly, there is an error in XML. Component
tag is not closed correctly.

Constantine
Re: confusing Declarative service! [message #74945 is a reply to message #74924] Tue, 17 October 2006 08:33 Go to previous message
Eclipse UserFriend
Originally posted by: lixinhui.cn.ibm.com

Thank you! That is the reason! So shamed to acknowledge that but appreciate your help!
Previous Topic:EclipseCon presentation on OSGi server/command line programs?
Next Topic:IO Connector Service
Goto Forum:
  


Current Time: Fri Apr 26 07:36:41 GMT 2024

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

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

Back to the top