[ 
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.

Reply via email to