(Difference between revisions)
(General Infrastructure Improvements)
(General Infrastructure Improvements)
Line 115: Line 115:
{{iz|144579}} (cndreq, API) Add support for child nodes to MimeLookup Preferences
{{iz|144579}} (cndreq, API) Add support for child nodes to MimeLookup Preferences
{{iz|182388}} (API) Provide api to set the DisplayName of a Library created programmatically '''(Tomas)'''
{{iz|182388}} (j2ee,API) Provide api to set the DisplayName of a Library created programmatically '''(Tomas)'''
==Usability Improvements==
==Usability Improvements==

Revision as of 10:15, 12 July 2010


Planning for NetBeans 6.10 (JET Team)

High Level Plan

Plan for previous release

Plan for further releases


Transactional index

(Issue 182653) Use data from old index while indexing is running (where possible) Some features like Lucene Indexes already lock the index only in time of index update not during the whole indexing but the index reader client is negatively affected by the IO. Improving the index caching should help, see Improve Go To Type.

Complete Transactional Index support requires several changes:

  • The threading model of parsing is changed from single dedicated parser thread to concurrent model where the indexer (parser) is called by a non dedicated thread concurrently to parser thread. This is an incompatible API change in threading which may affect existing languages depending on single threaded model. On the other hand the Indexing API never declared single threaded model.
  • The disk caches has to be transactional. Lucene index supports transactions but custom storages like Java Signature Files has to be updated. The transactional cache introduces higher IO load as the disk operations are done twice (first time in log phase, second time in commit phase - simpler).
  • The biggest problem is how to avoid OOM. Currently the dedicated parser thread uses VM telemetry to prevent OOM. This approach will not work as there will be more parsing thread consuming the memory.
  • The JavaCustomIndexer and JavaBinaryIndexer has to be rewritten to be able to handle requests before the up to date check finished.

Improve speed of Go To Type

(Issue 177274) Improve the speed of Go To Type be memory caching. Currently there is an experimental option which forces the java indexes to be loaded into the memory. The final solution should allow dynamic behavior LRU. SRef MB per msec should be the best policy as it is compatible with GC. (Tomas)

Improve speed of Go To File

The Go To File is using Lucene based index which is loaded from disk when needed. This solution is not needed as indexed file names are already part of time stamps LongMap which is always in memory. Integration of the support SPI for searching (Issue 185168) makes possible to rewrite the Go To File to be LongMap based. (Tomas)

Full text index

Find Usages and related refactorings for methods and fields can be made faster (Issue 169958, Issue 120145) - a full text index would be very helpful (Tomas)

Remove obsolete code in editor

Lower the editor memory footprint by removing the old Syntax (the former version of lexer) - this work mainly includes isolating and deprecating the old formatter API/SPI (Issue 120357), finishing Typing Hooks SPI (Issue 152655) and rewriting the existing java indenter (Vita)

Misc performance improvements

Issue 187282 (cndreq, API) Allow to exclude embedded langs for source root

Issue 172312 (cndreq) Lucene 2.4.1 consumes more memory than it should

Issue 186744 (API) Adding library causes huge I/O load - deleting files on background does not solve the problem, it's already done on background. The rename and clean up in idleIO will work fine. But the idleIO is not an API (even friend API). It's in the MasterFS FileChangeManager. This requires an idleIO to be added at least into the ProvidedExtensions like runPriorityIO. (Tomas)

Upgrade Lucene Library and supporting classes. The supporting classes for Lucene were written 5 years ago when it was impossible to do large queries (due to TooManyClausesException) and the support had to implement these queries by low level IndexReader API. Current lucene implements the standard queries using FilterQuery over IndexReader (similar to NB support). The support should be migrated to use these new API. This task also requires measurements of performance impact. (Tomas)

New features

View hierarchy

Issue 121357 New View Hierarchy (Mila)

Current list of problems (linewrap status)

Linewrap closed issues

Performance tests

Word Wrap

Issue 89894 Add word wrap for text files (Mila) --- top voted ENH.

Invisible characters

Issue 4619 Editor should allow you to view non-visible characters such as tabs, spaces, carriage returns, and EOF. (3rd top voted ENH). (Mila)

JDK 7 features

Work started in http://hg.netbeans.org/jdk7 with builds available here http://bertram.netbeans.org/hudson/job/jdk7/ .

For more info see Java_EditorJDK7.

They will have a build containing what they want to demo available during August.


Refactoring from anonymous inner class to lambda expression (hint)


http://openjdk.java.net/projects/coin/ http://wikis.sun.com/display/ProjectCoin/2009ProposalsTOC JDK7 JavaOne demos supported from NetBeans:

  • select a base for a literal (allow to say I want to have this literal in: binary, octal, decimal, hexa).
  • multi catch (basically what we have now)
  • ARM - some refactoring (hint) converting to the ARM (ARM is not yet in tl)
  • vararg changes supported (not yet in)

(most probably after J1)

  • colletions
  literals List<String> s = {"whoo", "hoo"};
  bracket support s[1].

JNLP and WebStart improvements

Issue 181260 Do not add Class-Path attribute into applet jar

Issue 181261 Provide a way to mark JNLP jars as eager or lazy.

Issue 181262 Add "indexMetaInf" attribute into jar task

Issue 181263 Provide UI to manage certificates to sign the JNLP application

Issue 181264 Add more sophisticated customizer of VM options

Issue 181265 Add filter warnings possibility into the output window

Misc Features

General Infrastructure Improvements

Issue 135492 Simplify Coloring Profiles creation (Vita)

Issue 177866 CSL SPI for allowing clients to register their own "navigator views"

Issue 170281 API for declaring item in Navigator to collapsed/expanded as default

Issue 168822 (cndreq) Allow access to Indexer storage

Issue 144579 (cndreq, API) Add support for child nodes to MimeLookup Preferences

Issue 182388 (j2ee,API) Provide api to set the DisplayName of a Library created programmatically (Tomas)

Usability Improvements

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo