Comment changer le statut d'une application personnalisée
Maintenance d'état sur une application personnalisée
Afin de maintenir le statut dans notre application personnalisée, voici les conditions suivantes:
- Objets
- domaine
- Relation
- Classe de champ
- Classes Mbo personnalisées
- Classe de gestionnaire de statut
- Des haricots
Objets:
- Créez un objet persistant et un objet non persistant pour conserver l'état autre que votre objet Application personnalisé.
- Créez des champs status, statusdate, memo dans trois objets (persistant, non persistant et objet principal (objet application personnalisée) avec la même syntaxe.
Domaine:
- Créez un domaine de synonymes à partir de la base de données db2.
1. Créez une entrée sur la table de domaine max en fonction de l'ID de domaine max et de l'ID de domaine.
2. Créez une entrée sur la table de domaine de synonymes en fonction de l'entrée d'ID de domaine sur la table de domaine max.
3. Ajoutez le domaine à votre champ Statut principal de l'objet.
Relation:
- Créer une relation entre le domaine synonyme et notre objet principal en utilisant la clause where selon l'identifiant du domaine
Exemple:
- Domain id = 'ZSTATUS' et value =: status et: & DOMAINFILTER & _STATUS Définit l'identifiant de l'objet principal dans l'objet status permanent et crée une relation entre l'objet Main et l'état persistant Object utilisant la clause where.
- Créer une relation entre Objet principal et Objet non persistant sans clause where
- Classe de champ: Crée une classe de champ qui étend le domaine Synonyme ou utilise la classe de champ existante donnée par Maximo au champ non persistant (statut) de l'objet non persistant
Il est donné dans le chemin suivant:
psdi \ app \ common \ FldChangeStatus.class
Classes Mbo personnalisées:
- Créez un objet principal qui étend Mbo stateful et implémente notre customMboRemote qui est créé pour votre application personnalisée.
- Créer des méthodes:
i. MboSetRemote protégé getStatusHistory ()
ii. StatusHandler protégé getStatusHandler ()
iii. Chaîne publique getStatusListName ()
iv. Public void changeStatus (état de chaîne, date date, chaîne mémo, long accessmodifier)
getStatusHistory ()
Qui retourne l'objet StatuHistory qui est notre objet d'état persistant.
getStatusHandler ()
Qui renvoie la classe StatusHandler personnalisée qui doit gérer l'état personnalisé.
getStatusListName ()
qui renvoie nos valeurs de domaine de synonymes personnalisées.
changeStatus (String status, Date date, String memo, long accessmodifier)
qui appelle la méthode change status de la classe Mbo stateful qui est étendue par notre objet principal.
- Classes non-persistantes:
- Créer une méthode add () dans Mbo non persistant pour obtenir les valeurs de domaine à partir de l'état de l'objet principal (qui contient un domaine de synonymes personnalisé).
Add ()
Ce qui est utilisé pour appeler la méthode d'ajout de super classe et créer un objet de statefulMbo et obtenir les valeurs de domaine à partir de l'objet principal Mbo. Créez des classes MboSet non persistantes avec les méthodes suivantes:
i. Mbo getMboInstance protégé (MboSet ms)
ii. Protégé MboSetRemote MboSetRemote getMboIntoSet (MboRemote mbo)
iii. Void protégé changeMboStatus (paramètre mboRemote m.MboRemote)
getMboInstance (MboSet ms)
Ce qui est utilisé pour retourner votre Mbo unique.
getMboIntoSet (MboRemote mbo)
Ce qui est utilisé pour retourner l'ensemble d'objets principal.
changeMboStatus (MboRemote m, paramètre MboRemote)
Ce qui est utilisé pour appeler la méthode Changestatus de l'objet principal.
Remarque: Pour changer le statut de boîte de dialogue non persistante en objet principal, cette méthode renvoie les champs status, statusdate, memo à la méthode d'état de changement d'objet principal et appelle la méthode stateful Mbo change status.
- Classe de gestionnaire de statut: Créer une classe de gestionnaire de statut qui étend la classe de gestionnaire de statut.
- Créez une matrice statusChange matricielle 2by2 [] [] en fonction des valeurs du domaine synonyme.
- Méthodes:
une. Statique int convertStatusToInt (String InternalStatus)
b. Public void checkStatusChangeAuthoriztaion (String desiredmaxstatus)
c. Vide privé possibleStatusChange (String currentmaxstatus, String desiredmaxstatus)
d. CanChangeStatus public void (String currentmaxstatus, String desiredmaxstatus, long accessmodifier)
e. Void public changeStatus (Chaîne currentmaxstatus, Chaîne desiredmaxstatus, Date date, String memo)
ConvertStatusToInt (Chaîne InternalStatus)
Qui renvoie un nombre entier d'état interne particulier.
checkStatusChangeAuthoriztaion (String desiredmaxstatus)
Ce qui est utilisé pour vérifier l'autorisation d'état, afin de faire une autorisation spécifique écrire du code personnalisé ou bien nous pouvons laisser la méthode avec des brases vides.
possibleStatusChange (String currentmaxstatus, String desiredmaxstatus) État
possible Modifie la méthode utilisée pour empêcher l'utilisateur de modifier le statut dans l'ordre.
canChangeStatus (String currentmaxstatus, String)
La méthode canChangeStatus est utilisée pour effectuer une partie de la personnalisation de l'objet principal en fonction de l'état modifié par l'utilisateur.
changeStatus (String currentmaxstatus, String desiredmaxstatus, Date date, String memo)
Ce paramètre est utilisé pour définir le statut de l'objet principal et le champ statusdate.
- Beans: Créez une classe Bean pour obtenir les valeurs dans la boîte de dialogue ou bien nous pouvons utiliser
La classe de bean existante est donnée dans le chemin suivant:
psdi.webclient.beans.common.ChangeStatusBean
lors de la création de la boîte de dialogue pour l'attribut d'objet principal nous devons mentionner la relation ainsi que datasrc = "MAINRECORD"
et créer une autre section obtenir le non champs persistants.