FeaturesPluginsDocs & SupportCommunityPartners

Design Specification

This writeup gives 1000feet design view of functionality implementation. It also summarizes work that need to be done.

Module Relations

Final functionality is covered by API, core and docscan modules. In NetBeans functionality must map to modules 1:1. Module (functionality) layout must allow smooth interperability with optional modules (suggestions and its providers).

UML Component Diagram

UML Class Diagrams

The implementation classes can be divided into several parts.

Relevant ones are the framework:

Framework UML Class Diagram

and TODO functionality:

TODO UML Class Diagram

Just for reference, UserTasks then looks like:

User's Tasks UML Class Diagram

Work to be Done

Well there is already the contributed implementation. This section describes needed adjustments.

Improve framework separation to match proposal.

  • Move SuggestionManagerImpl into core module.
  • Merge editor module into core module.
  • Performance improvements: cached snapshot (DONE) and check isObserved() and isEnabled() methods.
  • Move provider classes to SPI package and replace it at API level by Object.

Create navigateable list of all tasks in project/current source containing only items based on source code notes.

  • Separate copyright functionality from docscan module
  • Implement Active TODOs action and view type (category)
  • Implement Project TODOs action and view type

Cover functionality by unit and performance tests.

  • measure big file scan to estimate live todos impact
  • measure many files scan to estimate project todos performance
  • SuggestionManagerImpl.register() test

Do not forget about open issues:

  • Process - new functinality acceptance process is not known yet and it may introduce significant amount of work (reporting and changing implementation). In particular a kind of ARCH process. Known responsibility overlap with the Search API.
    API removal request
  • Bugs - codebase was not extensively tested yet. Many bugs can appear. Fortunately supported functionality does not contain write operations so it's unlikely that critical dataloss bugs will be introduced. Threading bugs (deadlocks) may occure. Medium risk.
  • Speculativeness - this plan is based on some assumtions about final UI specification. Low risk.

Related Documents

Use Case Study
Functional Specfication
UI Specification
Implementation Plan
Test Specification
Petr Kuzel on 25th November 2003
The document is open for feedback
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by