void () { IdeaPluginDescriptor plugin = getDescriptorForActions(); String productCode = plugin.getProductCode(); if (plugin.isBundled() || LicensePanel.isEA2Product(productCode)) { myLicensePanel.hideWithChildren(); return; } if (productCode == null) { if (myUpdateDescriptor != null && myUpdateDescriptor.getProductCode() != null && !LicensePanel.isEA2Product(myUpdateDescriptor.getProductCode())) { myLicensePanel.setText(IdeBundle.message("label.next.plugin.version.is"), true, false); myLicensePanel.showBuyPlugin(() -> myUpdateDescriptor, true); myLicensePanel.setVisible(true); } else { myLicensePanel.hideWithChildren(); } } else if (myMarketplace) { String message; if (plugin instanceof PluginNode && ((PluginNode)plugin).getTags().contains(Tags.Freemium.name())) { message = IdeBundle.message("label.install.a.limited.functionality.for.free"); } else { message = IdeBundle.message("label.use.the.trial.for.up.to.30.days.or"); } myLicensePanel.setText(message, false, false); myLicensePanel.showBuyPlugin(() -> plugin, false); // if the plugin requires commercial IDE, we do not show trial/price message boolean requiresCommercialIde = plugin instanceof PluginNode && ((PluginNode)plugin).getSuggestedCommercialIde() != null; myLicensePanel.setVisible(!requiresCommercialIde); } else { LicensingFacade instance = LicensingFacade.getInstance(); if (instance == null) { myLicensePanel.hideWithChildren(); return; } String stamp = instance.getConfirmationStamp(productCode); if (stamp == null) { if (ApplicationManager.getApplication().isEAP()) { myTagPanel.setFirstTagTooltip(IdeBundle.message("tooltip.license.not.required.for.eap.version")); myLicensePanel.hideWithChildren(); return; } myLicensePanel.setText(IdeBundle.message("label.text.plugin.no.license"), true, false); } else { myLicensePanel.setTextFromStamp(stamp, instance.getExpirationDate(productCode)); } myTagPanel.setFirstTagTooltip(myLicensePanel.getMessage()); //myLicensePanel.setLink("Manage licenses", () -> { XXX }, false); myLicensePanel.setVisible(true); } }