Hlavní menu
Nástroje |
UvodDoKomponent.ParkovisteDS HistoryHide minor edits - Show changes to markup 16 December 2009, 15:07
by
- Added lines 1-69:
Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564 Parkoviště v Declarative ServicesImplementace v DS vychází z ParkovisteOsgi. Odstranili jsme ale Activatory a přidali jsme komponentové definiční soubory. Proto zde budou informace pouze k těmto definičnímsouborům. O eventách si přečtěte v ParkovisteOsgi. Základ všech konfiguračních souborůV každém bundlu se samozřejmě vytvoří jedna komponenta, která se pak musí zaregistrovat podobně jako Konfigurace. <service> <provide interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IKonfigurace"/> </service> Každá služba se pak samozřejmě musí získat přes referenci, aby se mohla použít a nabindovat do vytvářené komponenty. Podobně jako Konfigurace. <reference bind="setKapacita" cardinality="1..1" interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IKonfigurace" name="Konfigurace" policy="dynamic"/> Získání EventAdmina?Abychom mohli používat eventy, musíme si zavolat službu na rozhranní EventAdmina?. Provede se to naprosto stejně, jako volání jakékoliv jiné služby v DS. Tedy: <reference bind="setMessageService" cardinality="1..1" interface="org.osgi.service.event.EventAdmin" name="EventAdmin" policy="dynamic"/> Eventy v konfiguračních souborechProtože konfigurační soubory nahrazují Activatory a v těch jsme si registrovali listenery, určitě budeme muset něco registrovat i zde. Při registraci EventHandlera? jsme v Activatoru používali vytvořenou instanci listeneru a parametry. Zde pouze zaregistrujeme službu na rozhraní EventHandler? a nezapomeneme do komponenty přidat propertu <service> <provide interface="org.osgi.service.event.EventHandler"/> </service> <property name="event.topics" value="parkoviste/*"/> Registrace služby na víc rozhranníStejně jako v OSGi implementaci, i zde Brana implementuje dvě rozhranní - IZapVyp? a IPrijeloOdjelo?. Navíc implementuje i rozhranní EventHandler?, aby mohla zpracovávat Eventy. Není tedy nic jednoduššího, než do <service> <provide interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IZapVyp"/> <provide interface="org.osgi.service.event.EventHandler"/> <provide interface="cz.zcu.kiv.cosi.parkoviste.brana.IPrijeloOdjelo"/> </service> <property name="type" value="brana"/> <property name="event.topics" value="parkoviste/plne"/> Použití filtru při výběru službyPodobně jako v OSGi i zde můžeme použít filtr, když máme na jednom rozhranní zaregistrováno více služeb. Použití je ještě jednodušší - použije se atribut <reference bind="setBrana" cardinality="1..1" interface="cz.zcu.kiv.cosi.parkoviste.konfigurace.IZapVyp" name="Brana" policy="dynamic" target="(type=brana)"/> |