Craig R. McClanahan wrote:

So, this is a long-winded case of asking "why can't we do this"?

* Move all the functionality of ApplicationConfig to ModuleConfig.

* Make ApplicaitonConfig a subclass of ModuleConfig with no
  extra methods of its own.

* Deprecate the ApplicationConfig class itself.

* Modify all source references from ApplicationConfig to ModuleConfig
  (which is a fairly large, but fairly mechanical, exercise) -- and
  don't forget the unit tests :-).

Craig
I should also mention that last night when I was looking over the code
I told IntelliJ to do the refactoring for just the above actions,
'extract super class'.
I then reviewed what it intended to do, in about 30 instances. I told it not to change the return signatures on the methods. Based on that I realized that composition offered a clearer solution. Composition is more work because there isn't a refactoring button
for 'replace object with facade'.

I don't want to repeat myself but at the same time I feel like there is some key piece of information I am leaving out that would help you see that composition is the way to go. I'll wait until others have the chance to look it over more. You can always download a 30 trial
of IntelliJ at www.intelliJ.net.

-Rob


--
To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>

Reply via email to