cz.muni.fi.cewebs.myservice.delivery
Class CEWebSDeliveryPort_Impl

java.lang.Object
  extended by cz.muni.fi.cewebs.myservice.delivery.CEWebSDeliveryPort_Impl
All Implemented Interfaces:
CEWebSDeliveryPort, java.rmi.Remote

public class CEWebSDeliveryPort_Impl
extends java.lang.Object
implements CEWebSDeliveryPort, java.rmi.Remote

Implementace rozhraní Delivery definovaného systémem CEWebS. Slouží pro komunikaci služby s Transformation Engine (TE). Provádí se zde běžné zpracování uživatelských HTTP dotazů přetransformovaných na volání této webové služby.


Constructor Summary
CEWebSDeliveryPort_Impl()
           
 
Method Summary
 DCResponse doCommand(java.lang.String key, int instance, java.lang.String user, java.lang.String identifier, ParametersEle[] parameters, java.util.Calendar modified, java.lang.String[] language)
          Metoda realizující vlastní funkcionalitu služby pokud byla služba volána s volbou "document" (odkazem s cílem "CEWebS:///document/...").
 DDResponse doDownload(java.lang.String key, int instance, java.lang.String user, java.lang.String identifier, ParametersEle[] parameters, java.util.Calendar modified, java.lang.String[] language)
          Metoda realizující vlastní funkcionalitu služby pokud byla služba volána s volbou "download" (odkazem s cílem "CEWebS:///download/...").
 PResponse prepare(java.lang.String key, int instance, java.lang.String user, java.lang.String identifier, ParametersEle[] parameters, java.lang.String[] language)
          Metoda volaná z TE před doCommand nebo doDownload.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CEWebSDeliveryPort_Impl

public CEWebSDeliveryPort_Impl()
Method Detail

prepare

public PResponse prepare(java.lang.String key,
                         int instance,
                         java.lang.String user,
                         java.lang.String identifier,
                         ParametersEle[] parameters,
                         java.lang.String[] language)
                  throws CEWebSFault,
                         java.rmi.RemoteException
Metoda volaná z TE před doCommand nebo doDownload. Slouží k inicializaci zpracování dotazu.

Specified by:
prepare in interface CEWebSDeliveryPort
Parameters:
key - Vnitřní klíč služby zadaný při vytváření instance pomocí metody {CEWebSAdministrationPort_Impl#createInstance createInstance}. Slouží k identifikaci volající TE. Při neshodě může služba odmítnout spolupráci s TE.
instance - Jedinečný identifikátor instance služby. Je nutný například u služby realizující několik navzájem nezávislých diskuzních fór (každé fórum jako jednu instanci). Pokud existuje pouze jediná instance služby, může být ignorován.
user - Řetězec identifikující přistupujícího uživatele (pokud byl autentizován TE). Defaultně obsahuje jméno, příjmení a e-mailovou adresu.
identifier - Příkaz použitý při volání služby (typicky např. "show").
parameters - Parametry předávané v původním HTTP dotazu (metodou GET nebo POST). Každý parametr má název, hodnotu a může obsahovat binární data (při uploadu souboru - jako hodnota parametru je pak uložen název souboru). Binární data parametrů nemusí být této metodě předávány!!!
language - Pole řetězců určujících jazykové preference uživatele (s kódy podle RFC 1766 - např. "cz", "en-us", "en") tak, jak jsou specifikovány v uživatelově prohlížeči. Umožňuje přizpůsobit výstup služby jazykovým preferencím uživatele.
Returns:
instanci třídy PResponse obsahující kešovací klíč a informaci o tom, jestli je pro tuto službu při dané kombinaci parametrů vyžadována autentizace.
Throws:
CEWebSFault - pokud se ve službě vyskytla chyba. Při produkčním nasazení by k vyhození této vyjímky nemělo nikdy dojít.
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a TE

doCommand

public DCResponse doCommand(java.lang.String key,
                            int instance,
                            java.lang.String user,
                            java.lang.String identifier,
                            ParametersEle[] parameters,
                            java.util.Calendar modified,
                            java.lang.String[] language)
                     throws CEWebSFault,
                            java.rmi.RemoteException
Metoda realizující vlastní funkcionalitu služby pokud byla služba volána s volbou "document" (odkazem s cílem "CEWebS:///document/..."). Tato volba se použije, pokud má být výsledkem volání webová stránka. Parametry jsou totožné s metodou prepare pouze s několika rozdíly:
  • u parametrů jsou již předávána případná binární data
  • je přidán parametr "modified"

Specified by:
doCommand in interface CEWebSDeliveryPort
Parameters:
key - Vnitřní klíč služby zadaný při vytváření instance pomocí metody {CEWebSAdministrationPort_Impl#createInstance createInstance}. Slouží k identifikaci volající TE. Při neshodě může služba odmítnout spolupráci s TE.
instance - Jedinečný identifikátor instance služby. Je nutný například u služby realizující několik navzájem nezávislých diskuzních fór (každé fórum jako jednu instanci). Pokud existuje pouze jediná instance služby, může být ignorován.
user - Řetězec identifikující přistupujícího uživatele (pokud byl autentizován TE). Defaultně obsahuje jméno, příjmení a e-mailovou adresu.
identifier - Příkaz použitý při volání služby (typicky např. "show").
parameters - Parametry předávané v původním HTTP dotazu (metodou GET nebo POST). Každý parametr má název, hodnotu a může obsahovat binární data (při uploadu souboru - jako hodnota parametru je pak uložen název souboru).
modified - Časová známka záznamu v keši TE, který byl nalezen podle kešovacího klíče vráceného metodou prepare. Pokud takový záznam nalezen nebyl nebo nebylo kešování použito, má hodnotu 1.1.1970.
language - Pole řetězců určujících jazykové preference uživatele (s kódy podle RFC 1766 - např. "cz", "en-us", "en") tak, jak jsou specifikovány v uživatelově prohlížeči.
Returns:
instanci třídy DCResponse obsahující dokument pro zobrazení uživateli, metadata, přílohy dokumentu a instrukce pro TE
Throws:
CEWebSFault - pokud se ve službě vyskytla chyba. Při produkčním nasazení by k vyhození této vyjímky nemělo nikdy dojít.
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a TE

doDownload

public DDResponse doDownload(java.lang.String key,
                             int instance,
                             java.lang.String user,
                             java.lang.String identifier,
                             ParametersEle[] parameters,
                             java.util.Calendar modified,
                             java.lang.String[] language)
                      throws CEWebSFault,
                             java.rmi.RemoteException
Metoda realizující vlastní funkcionalitu služby pokud byla služba volána s volbou "download" (odkazem s cílem "CEWebS:///download/..."). Tato volba se použije, pokud má být výsledkem volání stažení souboru. Parametry jsou zcela totožné s metodou doCommand.

Specified by:
doDownload in interface CEWebSDeliveryPort
Parameters:
key - Vnitřní klíč služby zadaný při vytváření instance pomocí metody {CEWebSAdministrationPort_Impl#createInstance createInstance}. Slouží k identifikaci volající TE. Při neshodě může služba odmítnout spolupráci s TE.
instance - Jedinečný identifikátor instance služby. Je nutný například u služby realizující několik navzájem nezávislých diskuzních fór (každé fórum jako jednu instanci). Pokud existuje pouze jediná instance služby, může být ignorován.
user - Řetězec identifikující přistupujícího uživatele (pokud byl autentizován TE). Defaultně obsahuje jméno, příjmení a e-mailovou adresu.
identifier - Příkaz použitý při volání služby (typicky např. "show").
parameters - Parametry předávané v původním HTTP dotazu (metodou GET nebo POST). Každý parametr má název, hodnotu a může obsahovat binární data (při uploadu souboru - jako hodnota parametru je pak uložen název souboru).
modified - Časová známka záznamu v keši TE, který byl nalezen podle kešovacího klíče vráceného metodou prepare. Pokud takový záznam nalezen nebyl nebo nebylo kešování použito, má hodnotu 1.1.1970.
language - Pole řetězců určujících jazykové preference uživatele (s kódy podle RFC 1766 - např. "cz", "en-us", "en") tak, jak jsou specifikovány v uživatelově prohlížeči.
Returns:
instanci třídy DDResponse obsahující data stahovaného souboru, metadata a instrukce pro TE
Throws:
CEWebSFault - pokud se ve službě vyskytla chyba. Při produkčním nasazení by k vyhození této vyjímky nemělo nikdy dojít.
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a TE