1 package com
.intellij
.openapi
.roots
.ui
.configuration
.packaging
;
3 import com
.intellij
.openapi
.deployment
.ContainerElement
;
4 import com
.intellij
.openapi
.deployment
.ModuleLink
;
5 import com
.intellij
.openapi
.diagnostic
.Logger
;
6 import com
.intellij
.openapi
.module
.Module
;
7 import com
.intellij
.openapi
.project
.ProjectBundle
;
8 import com
.intellij
.openapi
.roots
.ModuleOrderEntry
;
9 import com
.intellij
.openapi
.roots
.ModuleRootModel
;
10 import com
.intellij
.openapi
.roots
.impl
.OrderEntryUtil
;
11 import com
.intellij
.openapi
.roots
.ui
.configuration
.ModulesConfigurator
;
12 import com
.intellij
.openapi
.roots
.ui
.configuration
.projectRoot
.ModuleStructureConfigurable
;
13 import org
.jetbrains
.annotations
.Nullable
;
18 abstract class ModuleOutputBaseNode
extends PackagingTreeNode
{
19 private static final Logger LOG
= Logger
.getInstance("#com.intellij.openapi.roots.ui.configuration.packaging.ModuleOutputBaseNode");
20 protected final ModuleLink myModuleLink
;
22 public ModuleOutputBaseNode(final @Nullable PackagingArtifact owner
, final ModuleLink moduleLink
) {
24 myModuleLink
= moduleLink
;
27 public ModuleLink
getModuleLink() {
31 public boolean canNavigate() {
35 public void navigate(final ModuleStructureConfigurable configurable
) {
36 Module parentModule
= myModuleLink
.getParentModule();
38 PackagingArtifact owner
= getOwner();
40 owner
.navigate(configurable
, myModuleLink
);
43 ModulesConfigurator modulesConfigurator
= configurable
.getContext().getModulesConfigurator();
44 ModuleRootModel rootModel
= modulesConfigurator
.getRootModel(parentModule
);
45 ModuleOrderEntry orderEntry
= OrderEntryUtil
.findModuleOrderEntry(rootModel
, myModuleLink
.getModule(), true, modulesConfigurator
);
46 configurable
.selectOrderEntry(orderEntry
!= null ? orderEntry
.getOwnerModule() : parentModule
, orderEntry
);
50 public double getWeight() {
51 return PackagingNodeWeights
.MODULE
;
55 public String
getTooltipText() {
56 if (belongsToIncludedArtifact()) {
57 PackagingArtifact owner
= getOwner();
58 LOG
.assertTrue(owner
!= null);
59 return ProjectBundle
.message("node.text.packaging.included.from.0", owner
.getDisplayName());
64 public Object
getSourceObject() {
65 return myModuleLink
.getModule();
68 public ContainerElement
getContainerElement() {