[
https://issues.apache.org/jira/browse/JSPWIKI-38?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659426#action_12659426
]
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: https://issues.apache.org/jira/browse/JSPWIKI-38
> 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.