I have a situation here: one application page can be rendered using either
one or two parameters in context. What I was expecting is calling onActivate
with signature that exactly matches the number of context parameters.
Instead, framework calls all onActivate methods. I've already found relevant
place in documentation, but I must say this is very confusing.

If I assign context variables to instance fields, I must check (in each
onActivate method) that  this particular field was not assigned already. I
guess that calling only one onActivate (the one with method parameters count
exactly matching context parameters count) would be much more consistent.

So, instead of

    public void onActivate ( String book ) {
        this.bookCode = book;
        if ( this.topicId == null ) this.topicId = "";
    }

    public void onActivate ( String book, String topicId ) {
        this.bookCode   = book;
        this.topicId    = topicId;
    }

we would have

    public void onActivate ( String book ) {
        this.bookCode = book;
    }

    public void onActivate ( String book, String topicId ) {
        this.bookCode   = book;
        this.topicId    = topicId;
    }

-- 
Ilya Obshadko

Reply via email to