You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Janne Jalkanen <Ja...@ecyrd.com> on 2009/05/02 23:35:09 UTC
Re: svn commit: r770959 [2/2] - in /incubator/jspwiki/trunk: ./ src/java/org/apache/wiki/ src/java/org/apache/wiki/action/ src/java/org/apache/wiki/api/ src/java/org/apache/wiki/auth/ src/java/org/apache/wiki/content/ src/java/org/apache/wiki/event/
On May 2, 2009, at 20:10 , Andrew Jaquith wrote:
> As for page renaming -- this seems like it should really be just a
> specific application of the more general case of JCR node renaming.
> Logically, the node-renaming code should live in ContentManager, no?
Well, logically, *everything* should reside in ContentManager.
However, I really detest the fact that it's got internal classes and
dozens and dozens of methods, and it's simply becoming unwieldy -
exactly the reason I wanted to move away from PageManager and
AttachmentManager in the first place! I would be thinking of ways to
tear down the class as much as possible, if I had any energy to code
right now.
I'm thinking this from the code maintenance point of view, not from
what-goes-where point of view. Page renaming is a fairly
straightforward functionality which is why it makes sense to keep it
out of ContentManager, the same as search and references.
> would be smaller and lighter. The page-renaming code (currently parked
> in ContentManager) has already gotten slimmer because of the movement
> of re-indexing and re-referencing code into the listener methods of
> SearchManager and ReferenceManager.
But this does not come from the integration, since any class can
listen to notifications. Simplification would be true for a separate
PageRenamer as well.
> That said, I am not really convinced we need a separate PageRenamer
> class. It's called from exactly one place, RenameActionBean. If we had
> a decent JCR "prototype method" for renaming nodes in ContentManager
> that does most of the heavy lifting, we could just do it fairly
> directly.
JCR does not care about the content of the pages. JSPWiki renaming
functionality *does*. This is why it needs to be treated above the JCR
level.
JCR has a fairly straightforward method "Workspace.move()" which takes
care of all the JCR specifics. It's a matter of taste whether that
method is called from ContentManager or PageRenamer, but it should not
be public.
/Janne