Re: Translators

Tor Norbye <[email protected]>
Newsgroups gmane.comp.java.netbeans.modules.tasklist.devel
Message-ID <1034442943.3511.15.camel@proto>
On Fri, 2002-10-11 at 23:36, Tim Lebedkov wrote:
> Hi,
> 
> I'd like to move
> 
> org.netbeans.modules.tasklist.FormatTranslator
> org.netbeans.modules.tasklist.AbstractTranslator
> org.netbeans.modules.tasklist.HTMLSupport
> org.netbeans.modules.tasklist.usertasks.KonHTMLSupport
> org.netbeans.modules.tasklist.usertasks.iCalSupport
> org.netbeans.modules.tasklist.usertasks.xCalSupport
> 
> to a new package named org.netbeans.modules.tasklist.translators and rename "*Support"-classes to "*Translator"
> 
> 1. Can I do it?

Can you explain why you want to do it?

It's going to break module encapsulation. In particular, if you do this,
then the tasklist editor module must depend on the translators module;
but since the translators module contains usertask code, it has to
depend on the usertask module. Thus, all the modules become
interdependent.

The way I've been thinking about it is that the modules.tasklist
package contains general support code, which all modules depend on
(this is the autoload/tasklist.jar module.)  This is where the
FormatTranslator interface lives (along with the SPI support class,
AbstractTranslator.)

Then each module can define additional translators. In the case
of the UserTasks module, it defines iCal and xCal formats - these
deal with usertasks (e.g. attributes like start time and end time
which make no sense in the editor scanning module context).

As another example, the HTML exporter in TaskListView is tied
to that class because it accesses private/internal data structures.
If this is abstracted into a separate package you have to expose
more of the implementation than is healthy.

> 2. Should I use release34 branch or the main one?

Use the trunk. The release34 branch should only be a merge-target;
when 4.0 comes out we'll probably abandon it.

> 3. If I use release34 branch will the changes also be made to the main branch? Should I do it myself? Which CVS command?

No, that's the whole point of branches - you work in isolation and it
does not affect other branches/the trunk. Explicit merges are necessary.

> 4. Is NB dev version good enough so I can use it for daily development and work on the main branch?

Yes, they are essentially identical. I usually merge to 3.4 immediately
after committing to the trunk; both versions should be considered beta
quality. (I'm soon ready to rearchitect for the public API so that we
can declare beta; I just haven't had good hacking time in the weekends
lately.)

-- Tor
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.