Hello.
I want to create hierachical expression to access at every level.
An example would says it better :
<?xml version="1.0"?>
<j:jelly xmlns:j="jelly:core" xmlns:s="jelly:myPackage.jelly.SamaTagLibrary">
     <s:configuration>
        <s:declaration name="declaration"> 
                <s:domain name="referential">
                        <s:entity name="personne">
                            <s:attribute name="name"/>
                            <s:attribute name="forname"/>
                        <s:entity>
                </s:domain>     
                <s:domain name="ldap">
                        <s:entity name="person"/>
                            <s:attribute name="surname"/>
                            <s:attribute name="givenname"/>
                        <s:entity>
                </s:domain>
        </s:declaration>
     </s:configuration>
</j:jelly>

After the <declaration> tag I would access to some data
with expression like :
${referential.personne.name}
${referential.personne.forname}
${ldap.person.surname}  
 but also 
${ldap.person}  to designate the set of attribute under 
//s:[EMAIL PROTECTED]'ldap']/s:[EMAIL PROTECTED]'person']

I have first try this

DomainTag.dotTag ==>
...
                        HashMap myHashMap = new HashMap();
                        JellyContext myContext = this.getContext();
                        myContext.setVariable(getName(), myHashMap);
...

and EntityTag.doTag ==>
...
                        HashMap domainMap = (HashMap)( this.getContext
().getVariable(((SamaDomainTag)domainTag).getName()) );
                        if ( domainMap != null )
                        {
                                if (domainMap.containsKey(getName()) == true )
                                {
                                        throw new JellyTagException
("Entity "+getName()+" already exists !"); 
                                }
                                else
                                {
                                        domainMap.put(getName(),this);
                                }
                        }
...

but it's no really pretty.


If I put for each of them
this.getContext().setVariable(getName(), this);

do the Expression evalutation scan from parent to child contexts
to evaluate ${domain.entity.attribute} ?

Can somebody explain "softly" :) the context hierachie between nested elements ?

Thanks a lot :)

PS : setExport(true) implies NullPointerException, and with the first try it 
works better without.
There's something I don't understood with JellyContext ?

Marc DeXeT (at home)




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to