@@ -51,8 +51,9 @@ public final class AzureFacetTreeStructureProvider implements TreeStructureProvi
5151 public AzureFacetTreeStructureProvider (Project project ) {
5252 myProject = project ;
5353 final AbstractProjectViewPane currentProjectViewPane = ProjectView .getInstance (project ).getCurrentProjectViewPane ();
54- final JTree tree = currentProjectViewPane .getTree ();
55- ClientProperty .put (tree , ANIMATION_IN_RENDERER_ALLOWED , true );
54+ Optional .ofNullable (currentProjectViewPane )
55+ .map (AbstractProjectViewPane ::getTree )
56+ .ifPresent (tree -> ClientProperty .put (tree , ANIMATION_IN_RENDERER_ALLOWED , true ));
5657 }
5758
5859 @ Override
@@ -69,7 +70,6 @@ public Collection<AbstractTreeNode<?>> modify(@Nonnull AbstractTreeNode<?> paren
6970 final boolean defaultShow = state == null && Objects .nonNull (azureModule ) && (azureModule .hasAzureFacet () || azureModule .isInitialized () || azureModule .hasAzureDependencies ());
7071 if (!forceHide && (forceShow || defaultShow )) {
7172 addListener (parent .getProject ());
72- final AbstractProjectViewPane viewPane = ProjectView .getInstance (parent .getProject ()).getCurrentProjectViewPane ();
7373 final AbstractTreeNode <?> dotAzureDir = children .stream ()
7474 .filter (n -> n instanceof PsiDirectoryNode )
7575 .map (n -> ((PsiDirectoryNode ) n ))
@@ -110,18 +110,15 @@ private Module toModule(final AbstractTreeNode<?> node) {
110110
111111 @ RequiredArgsConstructor
112112 static class AzureProjectExplorerMouseListener extends MouseAdapter {
113- private static final Separator SEPARATOR = new Separator ();
114113 private final JTree tree ;
115- private final Project project ;
116114
117115 private IAzureFacetNode currentNode ;
118116 private List <AnAction > backupActions ;
119117
120118 @ Override
121119 public void mousePressed (MouseEvent e ) {
122120 final AbstractTreeNode <?> currentTreeNode = getCurrentTreeNode (e );
123- if (SwingUtilities .isLeftMouseButton (e ) && currentTreeNode instanceof IAzureFacetNode ) {
124- final IAzureFacetNode node = (IAzureFacetNode ) currentTreeNode ;
121+ if (SwingUtilities .isLeftMouseButton (e ) && currentTreeNode instanceof IAzureFacetNode node ) {
125122 final DataContext context = DataManager .getInstance ().getDataContext (tree );
126123 final AnActionEvent event = AnActionEvent .createFromAnAction (new EmptyAction (), e , ActionPlaces .PROJECT_VIEW_POPUP + ".click" , context );
127124 if (e .getClickCount () == 1 ) {
@@ -146,14 +143,13 @@ public void mouseExited(MouseEvent e) {
146143
147144 private void modifyPopupActions (MouseEvent e ) {
148145 final AbstractTreeNode <?> node = getCurrentTreeNode (e );
149- if (!(node instanceof IAzureFacetNode )) {
146+ if (!(node instanceof IAzureFacetNode newNode )) {
150147 if (Objects .nonNull (currentNode )) {
151148 // clean up popup menu actions
152149 resetPopupMenuActions ();
153150 }
154151 return ;
155152 }
156- final IAzureFacetNode newNode = (IAzureFacetNode ) node ;
157153 if (!Objects .equals (newNode , currentNode )) {
158154 // update popup menu actions for new node
159155 updatePopupMenuActions (newNode );
@@ -163,8 +159,6 @@ private void modifyPopupActions(MouseEvent e) {
163159
164160 private AbstractTreeNode <?> getCurrentTreeNode (MouseEvent e ) {
165161 final TreePath path = tree .getClosestPathForLocation (e .getX (), e .getY ());
166- // final int rowForLocation = tree.getRowForLocation(e.getX(), e.getY());
167- // final TreePath pathForRow = tree.getPathForRow(rowForLocation);
168162 return TreeUtil .getAbstractTreeNode (path );
169163 }
170164
@@ -201,7 +195,7 @@ private void addListener(@Nonnull final Project project) {
201195 if (!exists ) {
202196 final MouseListener [] mouseListeners = tree .getMouseListeners ();
203197 Arrays .stream (mouseListeners ).forEach (tree ::removeMouseListener );
204- tree .addMouseListener (new AzureProjectExplorerMouseListener (tree , project ));
198+ tree .addMouseListener (new AzureProjectExplorerMouseListener (tree ));
205199 Arrays .stream (mouseListeners ).forEach (tree ::addMouseListener );
206200 }
207201 }
0 commit comments