1 package com
.intellij
.openapi
.roots
.ui
.configuration
.packaging
;
3 import com
.intellij
.openapi
.deployment
.ContainerElement
;
4 import com
.intellij
.openapi
.deployment
.LibraryLink
;
5 import com
.intellij
.openapi
.project
.ProjectBundle
;
6 import com
.intellij
.openapi
.roots
.ui
.configuration
.projectRoot
.ModuleStructureConfigurable
;
7 import com
.intellij
.openapi
.roots
.ui
.configuration
.ModulesConfigurator
;
8 import com
.intellij
.openapi
.roots
.ModuleRootModel
;
9 import com
.intellij
.openapi
.roots
.LibraryOrderEntry
;
10 import com
.intellij
.openapi
.roots
.impl
.OrderEntryUtil
;
11 import com
.intellij
.openapi
.diagnostic
.Logger
;
12 import com
.intellij
.openapi
.module
.Module
;
13 import org
.jetbrains
.annotations
.NotNull
;
14 import org
.jetbrains
.annotations
.Nullable
;
19 abstract class LibraryNodeBase
extends PackagingTreeNode
{
20 private static final Logger LOG
= Logger
.getInstance("#com.intellij.openapi.roots.ui.configuration.packaging.LibraryNodeBase");
21 protected final LibraryLink myLibraryLink
;
23 public LibraryNodeBase(final @Nullable PackagingArtifact owner
, @NotNull LibraryLink libraryLink
) {
25 myLibraryLink
= libraryLink
;
29 public ContainerElement
getContainerElement() {
33 public boolean canNavigate() {
38 public String
getTooltipText() {
39 if (belongsToIncludedArtifact()) {
40 PackagingArtifact owner
= getOwner();
41 LOG
.assertTrue(owner
!= null);
42 return ProjectBundle
.message("node.text.packaging.included.from.0", owner
.getDisplayName());
47 public void navigate(final ModuleStructureConfigurable configurable
) {
48 Module parentModule
= myLibraryLink
.getParentModule();
50 final PackagingArtifact owner
= getOwner();
52 owner
.navigate(configurable
, myLibraryLink
);
55 ModulesConfigurator modulesConfigurator
= configurable
.getContext().getModulesConfigurator();
56 ModuleRootModel rootModel
= modulesConfigurator
.getRootModel(parentModule
);
57 LibraryOrderEntry orderEntry
= OrderEntryUtil
.findLibraryOrderEntry(rootModel
, myLibraryLink
.getLibrary(), true, modulesConfigurator
);
58 configurable
.selectOrderEntry(orderEntry
!= null ? orderEntry
.getOwnerModule() : parentModule
, orderEntry
);
62 public Object
getSourceObject() {
63 return myLibraryLink
.getLibrary();
66 public LibraryLink
getLibraryLink() {