sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sdx-users] Comportement bizarre Cocoon?


From: AVRIL Simon
Subject: [sdx-users] Comportement bizarre Cocoon?
Date: Wed, 5 Apr 2006 16:00:40 +0200

Bonjour,

 

J’ai un peu de mal à choisir un titre pour ma remarque parce-que j’avoue que c’est un peu flou pour moi aussi.

 

Voila :

 

Je veux une application SDX qui se connecte à une API d’un de mes projets par RMI.

 

Je veux donc changer le comportement par défaut d’UNE des applications de SDX.

 

Je change donc la classe FrameworkImpl afin de dire « quand tu trouves une application SDX avec le nom MySdxApplication

c’est une SpecialApplication (qui hérite de Application) »

 

OK- Jusque là tout va bien. Sans surcharger aucune méthode, l’application fonctionne normalement avec le comportement par défaut d’une Application normale.

 

Bon, maintenant je veux changer le comportement par défaut d’une identification.

 

1- Je récupère le service rmi dans le constructeur de ma SpecialApplication (ca ca marche aussi)

2- Je surcharge la méthode validateUser du style

 

 

public boolean validateUser(String username, String password) throws SDXException

    {

        try

        {

           System.out.println("avant");

            this.session = remoteApi.login(username, password);

            System.out.println("apres");

            return true;

        }

        catch (RemoteException e)

        {

            e.printStackTrace();

            return false;

        }

        catch (Exception e)

        {

            e.printStackTrace();

            return false;

        }

 

 

Explication : ma méthode remoteApi.login renvoie un objet si elle fonctionne, et lance une exception de type Remote Exception sinon. Cette méthode se connecte à un LDAP.

 

VOILA c’est la que c’est bizarre.

 

En fait, quand je rentre un login qui ne correspond a aucun user dans le LDAP, une remoteException est bien lancé et tout fonctionne correctement.

 

MAIS, quand les login password sont corrects, la console affiche la chaine de caractères « avant », mais jamais celle « après ».

 

En fait après avoir exécuté l’instruction login (en mode debug) je me trouve dans la classe ServerPagesGenerator dans la méthode générate.

 

Je ne comprends vraiment pas. Est-ce lié a un comportement obscur de cocoon ??

 

Si quelqu’un a une idée……

 

Merci d’avance

 

Simon


reply via email to

[Prev in Thread] Current Thread [Next in Thread]