cz.muni.fi.cewebs.myservice.administration
Class CEWebSAdministrationPort_Impl

java.lang.Object
  extended by cz.muni.fi.cewebs.myservice.administration.CEWebSAdministrationPort_Impl
All Implemented Interfaces:
CEWebSAdministrationPort, java.rmi.Remote

public class CEWebSAdministrationPort_Impl
extends java.lang.Object
implements CEWebSAdministrationPort, java.rmi.Remote

Implementace rozhraní Administration definovaného systémem CEWebS. Slouží pro komunikaci služby s Administration Managerem (AMan). Poskytuje metody pro správu služby jako takové (vytváření a rušení instancí, nastavování přístupu pro uživatele, konfigurace služby, ...). Po ustálení nastavení je možné toto rozhraní znefunkčnit, čímž se zakonzervuje aktuální stav.


Constructor Summary
CEWebSAdministrationPort_Impl()
           
 
Method Summary
 int createInstance(java.lang.String inboundkey, java.lang.String outboundkey, java.lang.String description, java.lang.String noman)
          Metoda umožňující AManu vyzvořit novou instanci služby
 boolean deleteInstance(java.lang.String key, int instance)
          Metoda umožňující AManu zrušit instanci služby
 java.lang.String getConfigurationPart(java.lang.String key, int instance, java.lang.String identifier)
          Metoda umožňující získat od služby data daného konfiguračního fragmentu
 GCPResponseEle[] getConfigurationParts(java.lang.String key, int instance)
          Metoda umožňující získat od služby jednoznačné identifikace všech jejích konfiguračních fragmentů.
 java.lang.String getConfigurationPartSchema(java.lang.String key, int instance, java.lang.String identifier)
          Metoda umožňující získat od služby XML Schema popisující daný konfigurační fragment.
 GEPResponseEle[] getEntryPoints(java.lang.String key, int instance)
          Metoda umožňující Administration Manageru dotázat se na možné přístupové body této služby (ve smyslu jejího volání přes hypertextový odkaz v systému CEWebS, nikoliv ve smyslu přístupového bodu webové služby jako takové).
 ULEle[] getUserList(java.lang.String key, int instance)
          Metoda umožňující Administration Manageru zjištění aktuální podoby seznamu uživatelů dané instance této služby.
 boolean modifyUserList(java.lang.String key, int instance, java.lang.String operation, java.lang.String identifier, java.lang.String forename, java.lang.String surname, java.lang.String password, java.lang.String email)
          Metoda sloužící k provedení změny v seznamu uživatelů dané instance této služby týkající se jediného uživatele (přidání / odebrání / změna).
 boolean setConfigurationPart(java.lang.String key, int instance, java.lang.String identifier, java.lang.String part)
          Metoda umožňující nastavit (přepsat) službě data daného konfiguračního fragmentu.
 boolean setUserList(java.lang.String key, int instance, ULEle[] users)
          Metoda umožňující jednorázové hromadné nastavení seznamu uživatelů pro instanci služby.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CEWebSAdministrationPort_Impl

public CEWebSAdministrationPort_Impl()
Method Detail

createInstance

public int createInstance(java.lang.String inboundkey,
                          java.lang.String outboundkey,
                          java.lang.String description,
                          java.lang.String noman)
                   throws java.rmi.RemoteException
Metoda umožňující AManu vyzvořit novou instanci služby

Specified by:
createInstance in interface CEWebSAdministrationPort
Parameters:
inboundkey - Zvolený vnitřní klíč instance služby. Slouží k pozdější identifikaci volající TE/AMan/ReMan, které mají právo s vytvořenou instancí dále nakládat.
outboundkey - Zvolený vnější klíč instance služby (jedinečný v rámci všech instancí všech služeb spravovaných AManem). Slouží k identifikaci instance při přístupu k NoMan.
description - Popis instance služby. V případě nouze může být použit místo vraceného identifikátoru k identifikaci instance.
noman - URL k WSDL popisu Notification Manageru
Returns:
identifikátor instance služby (jedinečný v rámci všech existujících instancí této služby)
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

deleteInstance

public boolean deleteInstance(java.lang.String key,
                              int instance)
                       throws java.rmi.RemoteException
Metoda umožňující AManu zrušit instanci služby

Specified by:
deleteInstance in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
Returns:
true pokud byla operace úspěšná (instance byla v pořádku zrušena). Jinak false.
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

modifyUserList

public boolean modifyUserList(java.lang.String key,
                              int instance,
                              java.lang.String operation,
                              java.lang.String identifier,
                              java.lang.String forename,
                              java.lang.String surname,
                              java.lang.String password,
                              java.lang.String email)
                       throws java.rmi.RemoteException
Metoda sloužící k provedení změny v seznamu uživatelů dané instance této služby týkající se jediného uživatele (přidání / odebrání / změna).

Specified by:
modifyUserList in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
operation - Typ změny v seznamu uživatelů. V aktuální implementaci jsou podporovány tyto typy:
  • ADD_OR_CHANGE - přidání nového uživatele nebo změna údajů existujícího uživatele
  • DELETE - smazání uživatele. Všechny další parametry kromě "identifier" mohou být nevyplněny
identifier - Přihlašovací jméno (login). Musí být jedinečné v rámci TE.
forename - Křestní jméno
surname - Příjmení
password - Heslo (nezašifrované)
email - E-mailová adresa
Returns:
true pokud byla operace úspěšná (seznam uživatelů byl v pořádku změněn). Jinak false.
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

getUserList

public ULEle[] getUserList(java.lang.String key,
                           int instance)
                    throws java.rmi.RemoteException
Metoda umožňující Administration Manageru zjištění aktuální podoby seznamu uživatelů dané instance této služby.

Specified by:
getUserList in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
Returns:
pole instancí třídy ULEle obsahujících aktuální stav informací o každém známem uživateli
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

setUserList

public boolean setUserList(java.lang.String key,
                           int instance,
                           ULEle[] users)
                    throws java.rmi.RemoteException
Metoda umožňující jednorázové hromadné nastavení seznamu uživatelů pro instanci služby. Využije se zejména při její inicializaci ihned po vytvoření.

Specified by:
setUserList in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
users - Pole instancí třídy ULEle obsahujících data všech uživatelů, kteří mají mít k dané instanci této služby přístup
Returns:
true pokud byla operace úspěšná (seznam uživatelů byl v pořádku uložen). Jinak false.
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

getConfigurationParts

public GCPResponseEle[] getConfigurationParts(java.lang.String key,
                                              int instance)
                                       throws java.rmi.RemoteException
Metoda umožňující získat od služby jednoznačné identifikace všech jejích konfiguračních fragmentů. Konfigurační data každé služby jsou totiž z důvodu jednodušší správy a/nebo sdílení s ostatními službami rozdělena do tzv. fragmentů ve formátu XML.

Specified by:
getConfigurationParts in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
Returns:
pole instancí třídy GCPResponseEle s identifikacemi všech konfiguračních fragmentů, které tato služba používá. Pořadí, ve kterém jsou prvky v poli uvedeny je podstatné - fragmenty identifikované na pozici s vyšším indexem mohou předpokládat existenci fragmentů identifikovaných na pozicích s nižšími indexy.
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

getConfigurationPartSchema

public java.lang.String getConfigurationPartSchema(java.lang.String key,
                                                   int instance,
                                                   java.lang.String identifier)
                                            throws java.rmi.RemoteException
Metoda umožňující získat od služby XML Schema popisující daný konfigurační fragment. Toto schema může být (v jisté omezené verzi) do budoucna využito například ke konstrukci formuláře pro získávání konfiguračních dat od uživatele. V aktuální implementaci není využíváno nijak.

Specified by:
getConfigurationPartSchema in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
identifier - Identifikátor konfiguračního fragmentu.
Returns:
XML Schema popisující daný konfigurační fragment
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

getConfigurationPart

public java.lang.String getConfigurationPart(java.lang.String key,
                                             int instance,
                                             java.lang.String identifier)
                                      throws java.rmi.RemoteException
Metoda umožňující získat od služby data daného konfiguračního fragmentu

Specified by:
getConfigurationPart in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
identifier - Identifikátor konfiguračního fragmentu.
Returns:
data konfiguračního fragmentu (ve formátu XML)
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

setConfigurationPart

public boolean setConfigurationPart(java.lang.String key,
                                    int instance,
                                    java.lang.String identifier,
                                    java.lang.String part)
                             throws java.rmi.RemoteException
Metoda umožňující nastavit (přepsat) službě data daného konfiguračního fragmentu.

Specified by:
setConfigurationPart in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
identifier - Identifikátor konfiguračního fragmentu.
part - Data konfiguračního fragmentu
Returns:
true pokud byla operace úspěšná (konfigurace byla v pořádku změněna). Jinak false.
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan

getEntryPoints

public GEPResponseEle[] getEntryPoints(java.lang.String key,
                                       int instance)
                                throws java.rmi.RemoteException
Metoda umožňující Administration Manageru dotázat se na možné přístupové body této služby (ve smyslu jejího volání přes hypertextový odkaz v systému CEWebS, nikoliv ve smyslu přístupového bodu webové služby jako takové). Přístupové body mohou být použity jako položky menu nebo mohou být (jako součást konfigurace) poskytnuty jiným službám.

Specified by:
getEntryPoints in interface CEWebSAdministrationPort
Parameters:
key - Vnitřní klíč instance služby zadaný při jejím vytváření pomocí metody createInstance. Slouží k identifikaci volajícího Administration Manageru. Při neshodě může služba odmítnout spolupráci s AMan.
instance - Jedinečný identifikátor instance služby vrácený při jejím vytváření pomocí metody createInstance.
Returns:
pole instancí třídy GEPResponseEle popisujících jednotlivé přístupové body
Throws:
java.rmi.RemoteException - pokud vznikly problémy při komunikaci mezi službou a AMan