incubator-jspwiki-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Janne Jalkanen (JIRA)" <>
Subject [jira] Commented: (JSPWIKI-38) Rename packages to "org.apache.jspwiki"
Date Sun, 28 Dec 2008 10:21:44 GMT


Janne Jalkanen commented on JSPWIKI-38:

Murray, that is exactly what I am proposing - having a separate org.apache.jspwiki.api -package,
and placing a number of existing manager classes into it as interfaces. Or to be precise,
a mostly equivalent set of APIs; JCR requires some modifications which would make it complicated
to support the existing set of APIs - mainly because we need to carry state information in
a WikiContext, which the old API signatures do not mostly support.  I would also like us to
start using WikiNames wherever useful.

The idea behind this is largely the same as with our existing package structure - there is
nothing technical in preventing *everything* to be in the org.apache.jspwiki -namespace (with
no subpackages), but both aesthetics and experience tell us that it just makes sense to add
subpackages to make class management easier.

In the same vein, isolating the API interfaces into a separate package makes it a lot easier
to manage than having everything dispersed around - e.g. if we want to create a jspwiki-api.jar,
we only need to jar up the contents of a particular subdirectory.  If the developer wants
to know whether he is using any possibly unstable components, all he needs to do is to glance
at the set of import statements on the top - if he's using other classes than org.apache.jspwiki.api.*,
he knows that the classes are potentially unstable.  In addition, it makes the committer's
life easier, since there is an agreement by convention that the APIs inside *.api are not
to be touched without common agreement, whereas anything outside of this package can be treated
with more liberties.  We have so many people contributing in the code that API incompatibilities
can creep in without anyone noticing.

(There is no PageManager at all; there is a ContentManager, which will have a very similar
API, but it will manage both pages and attachments.  Check out the JCR branch.  I am not very
hot into writing bridging classes, simply because it is a lot of work which will need to be
supported for a long time, and I am running out of time already.  If you want to write a compatibility
suite, go ahead.)

> Rename packages to "org.apache.jspwiki"
> ---------------------------------------
>                 Key: JSPWIKI-38
>                 URL:
>             Project: JSPWiki
>          Issue Type: Task
>            Reporter: Janne Jalkanen
>            Assignee: Janne Jalkanen
>             Fix For: 3.0

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message