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