Yes, that's what I have done.
But still - let's assume I have something like

public abstract class LogAwareBasePage extends BasePage implements PageBeginRenderListener {
   Log log;
   public void setLog(Log log) { ... }
   public Log getLog() { ... }
}

I still don't have the log property initialized.
Sure, I could do this:

public abstract class LogAwareBasePage extends BasePage implements PageBeginRenderListener {
   Log log = new SomeClassThatImplementsLog("param1", "param2", ...);
   public void setLog(Log log) { ... }
   public Log getLog() { ... }
}

But this is not runtime-configurable...


Or I could do it in my .page file:

<property name="log">ognl:Some OGNL expression</property>

So I could plug it in the .page files, but that would have to be done in each .page file again and again. So if I want to switch the Log implementation, at least I don't have to modify my java code, but I will have to change every single .page file.

So I am hoping that I could somehow use Hivemind instead to configure the injection of the Log implementation, but I don't know how.


Also, as an additional challenge: My application architecture is using Spring for the configuration and property injection on all the other layers, so ideally, I would like to use Spring to initialize the log property, so that I do not have to define all the beans twice (once in Spring and once in Hivemind). Maybe the bridge from the tapestry-spring project can be used for that???

Thanks for the help,

MARK







Sam Gendler wrote:
Define a MyBasePage which has all the properties you want, and then
make all your pages inherit from that.

--sam


On 4/9/06, Mark <[EMAIL PROTECTED]> wrote:
Hello,

is there a way to "globally" inject certain properties in a large number
of pages, without having to do it in each page specification file?
For example, I expect all my pages to have a "log" Property which is an
implementation of the commons-logging Log interface.
But I want to plug the particular implementation of the Log interface
using injection at runtime, just like all the other page properties are
plugged at runtime based on the .page specification file as well.
However, I don't want to have to include the same property definition in
every single page-descriptor, since it is not very well maintainable.
Imagine I have 100 pages and now want to change the implementation of
the Log interface - I have to change 100 different .page files.

So is there a way to do this in a better way?

Thanks,

MARK

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



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






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

Reply via email to