directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRSTUDIO-1046) EntryEditorManager constructor can throw NPE
Date Tue, 19 May 2015 09:46:59 GMT

    [ https://issues.apache.org/jira/browse/DIRSTUDIO-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14550138#comment-14550138
] 

Emmanuel Lecharny commented on DIRSTUDIO-1046:
----------------------------------------------

Something like that ?

{code}
    /**
     * Creates a new instance of EntryEditorManager.
     */
    public EntryEditorManager()
    {
        if ( PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null )
        {
            getEditorManager();
        }
    }

    
    /**
     * Get the EditorManager instance
     */
    public void getEditorManager()
    {
        initEntryEditorExtensions();
        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(
partListener );
        EventRegistry
            .addEntryUpdateListener( entryUpdateListener, BrowserCommonActivator.getDefault().getEventRunner()
);
        ConnectionEventRegistry.addConnectionUpdateListener( connectionUpdateListener, ConnectionUIPlugin.getDefault()
            .getEventRunner() );
    }

{code}

> EntryEditorManager constructor can throw NPE
> --------------------------------------------
>
>                 Key: DIRSTUDIO-1046
>                 URL: https://issues.apache.org/jira/browse/DIRSTUDIO-1046
>             Project: Directory Studio
>          Issue Type: Bug
>          Components: studio-ldapbrowser
>    Affects Versions: 2.0.0-M8 (2.0.0.v20130628)
>            Reporter: Paul Richardson
>
> Using the BrowserWidget in a wizard rather than the BrowserView can result in a NullPointerException
being thrown.
> The BrowseWidget is embedded in a WizardPage so the org.apache.directory.ldapbrowser.ui
plugin has not necessarily been activated. However, during a refresh of the BrowserWidget's
tree view, a worker-runnable calls on resources of the ldapbrowser.ui plugin and it is activated.
> The activation of the ldapbrowser.ui plugin calls
> {code}
> entryEditorManager = new EntryEditorManager();
> {code}
> The constructor of the EntryEditorManager contains
> {code}
> PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(
partListener );
> {code}
> This code only works if called from the UI thread. Otherwise, getActiveWorkbenchWindow()
returns null hence the NPE.
> Since a runnable is responsible for the plugin activation in this use-case then this
behaviour occurs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message