Workplace node and its API

Svata Dedic <[email protected]>
Newsgroups gmane.comp.java.netbeans.modules.projects.devel
Organization CollabNet Hosting
Message-ID <[email protected]>
Hi, Vito et all,

I am trying to hook another UI for Workplace in new projects; I 
encountered some problems and I would like to make sure that I 
understood the design right.

It seems that o.n.api.projects.ide.Workplace represents an 
organizational layer above o.n.api.projects.core.ProjectManager that 
organizes known projects. Is that correct ?

I marked things I consider issues with an asterisk (*). Some of them 
suggest that the organizational structure could be considered an 
implementation detail, or a detail the API client should not care of. In 
such case, should Workplace be in the API at all ? I think this is the 
central question I would like to ask.

If the organizational structure IS a public contract, then please see 
the issues explained below:

I saw there's a method open(ProjectDescriptor), which wraps a call to 
PManager.open() and in addition links the project onto the Workplace and 
a matching method close().

* I did not find an API way how to list all projects linked onto a 
Workplace; I learned that actions within the module call directly into 
WorkplaceImpl that contains such function.

* I could not find a way to listen on Workplace changes -- e.g. when a 
new project is placed onto the Workplace.

According to Projects UI spec, the Workplace node may contain items that 
are either
- project groups
- individual projects

* I could not find a way how to get list of project groups, how to 
create or remove an existing one. There's also no API to access a 
project group as a collection of projects.

* I could not find a way how to copy a project to a group, or atomically 
move a project to a group from within the Workplace node or from another 
group

Things, which are not obvious (to me) even after reading the UI spec 
(please consider these as clarifications requests for both functionality 
and the UI):

* Could an already opened projects be added onto a Workplace ?
* Could one remove a project from the Workplace without closing it first 
  ? (a counterpart operation for the first one).
* When a project is closed, should it disappear from the Workplace ?
* Seeing as "Close" operation si defined for a project group -- should 
the Project Group remain in Workplace after it is closed ?

IMHO currently "Close" on a project does not seem very consistent -- 
when the project is in a project group, its node remains on Workplace. 
If it is not, it is removed from it.

Thanks a lot,
-Svata
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.