diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java index fb575fe9590a..176abb62cc4c 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java @@ -75,13 +75,15 @@ public class IntentionManagerSettings implements PersistentStateComponent getMetaData() { + @NotNull + public synchronized List getMetaData() { IntentionManager.getInstance(); // TODO: Hack to make IntentionManager actually register metadata here. Dependencies between IntentionManager and IntentionManagerSettings should be revised. return new ArrayList(myMetaData.values()); } - public synchronized boolean isEnabled(IntentionActionMetaData metaData) { + public synchronized boolean isEnabled(@NotNull IntentionActionMetaData metaData) { return !myIgnoredActions.contains(getFamilyName(metaData)); } - private static String getFamilyName(final IntentionActionMetaData metaData) { + private static String getFamilyName(@NotNull IntentionActionMetaData metaData) { return StringUtil.join(metaData.myCategory, "/") + "/" + metaData.getFamily(); } - private static String getFamilyName(final IntentionAction action) { + private static String getFamilyName(@NotNull IntentionAction action) { return action instanceof IntentionActionWrapper ? ((IntentionActionWrapper)action).getFullFamilyName() : action.getFamilyName(); } - public synchronized void setEnabled(IntentionActionMetaData metaData, boolean enabled) { + public synchronized void setEnabled(@NotNull IntentionActionMetaData metaData, boolean enabled) { if (enabled) { myIgnoredActions.remove(getFamilyName(metaData)); } @@ -135,10 +138,10 @@ public class IntentionManagerSettings implements PersistentStateComponent entry : myMetaData.entrySet()) { if (entry.getValue().getAction() == intentionAction) { myMetaData.remove(entry.getKey()); diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java b/platform/platform-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java index feed4bcf836b..ce3916fb98d6 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java @@ -95,27 +95,33 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { private List myModules = null; - public IdeaPluginDescriptorImpl(File pluginPath) { + public IdeaPluginDescriptorImpl(@NotNull File pluginPath) { myPath = pluginPath; } - public void setPath(File path) { + public void setPath(@NotNull File path) { myPath = path; } + @Override public File getPath() { return myPath; } - protected static StringInterner ourInterner = new StringInterner(); + private static final StringInterner ourInterner = new StringInterner(); - public void readExternal(Document document, final URL url) throws InvalidDataException, FileNotFoundException { + @NotNull + public static String intern(@NotNull String s) { + return ourInterner.intern(s); + } + + public void readExternal(@NotNull Document document, @NotNull URL url) throws InvalidDataException, FileNotFoundException { document = JDOMXIncluder.resolve(document, url.toExternalForm()); JDOMUtil.internElement(document.getRootElement(), ourInterner); readExternal(document.getRootElement()); } - public void readExternal(final URL url) throws InvalidDataException, FileNotFoundException { + public void readExternal(@NotNull URL url) throws InvalidDataException, FileNotFoundException { try { Document document = JDOMUtil.loadDocument(url); readExternal(document, url); @@ -131,13 +137,13 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { } } - private void readExternal(Element element) { + private void readExternal(@NotNull Element element) { final PluginBean pluginBean = XmlSerializer.deserialize(element, PluginBean.class); url = pluginBean.url; myName = pluginBean.name; String idString = pluginBean.id; - if (idString == null || idString.length() == 0) { + if (idString == null || idString.isEmpty()) { idString = myName; } myId = PluginId.getId(idString); @@ -179,12 +185,12 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { if (pluginBean.dependencies != null) { for (PluginDependency dependency : pluginBean.dependencies) { String text = dependency.pluginId; - if (text != null && text.length() > 0) { + if (text != null && !text.isEmpty()) { final PluginId id = PluginId.getId(text); dependentPlugins.add(id); if (dependency.optional) { optionalDependentPlugins.add(id); - if (dependency.configFile != null && dependency.configFile.length() > 0) { + if (dependency.configFile != null && !dependency.configFile.isEmpty()) { myOptionalConfigs.put(id, dependency.configFile); } } @@ -242,58 +248,70 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { void registerExtensions() { if (myExtensions != null || myExtensionsPoints != null) { Extensions.getRootArea().getExtensionPoint(Extensions.AREA_LISTENER_EXTENSION_POINT).registerExtension(new AreaListener() { + @Override public void areaCreated(String areaClass, AreaInstance areaInstance) { if (PluginManager.shouldSkipPlugin(IdeaPluginDescriptorImpl.this)) return; final ExtensionsArea area = Extensions.getArea(areaInstance); area.registerAreaExtensionsAndPoints(IdeaPluginDescriptorImpl.this, myExtensionsPoints, myExtensions); } + @Override public void areaDisposing(String areaClass, AreaInstance areaInstance) { } }); } } + @Override public String getDescription() { return myDescription.getValue(); } + @Override public String getChangeNotes() { return myChangeNotes; } + @Override public String getName() { return myName; } + @Override @NotNull public PluginId[] getDependentPluginIds() { return myDependencies; } + @Override @NotNull public PluginId[] getOptionalDependentPluginIds() { return myOptionalDependencies; } + @Override public String getVendor() { return myVendor; } + @Override public String getVersion() { return myVersion; } + @Override public String getResourceBundleBaseName() { return myResourceBundleBaseName; } + @Override public String getCategory() { return myCategory; } @SuppressWarnings({"HardCodedStringLiteral"}) + @NotNull public List getClassPath() { if (myPath.isDirectory()) { final List result = new ArrayList(); @@ -325,34 +343,41 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { } } + @Override @Nullable public List getActionsDescriptionElements() { return myActionsElements; } + @Override @NotNull public ComponentConfig[] getAppComponents() { return myAppComponents; } + @Override @NotNull public ComponentConfig[] getProjectComponents() { return myProjectComponents; } + @Override @NotNull public ComponentConfig[] getModuleComponents() { return myModuleComponents; } + @Override public String getVendorEmail() { return myVendorEmail; } + @Override public String getVendorUrl() { return myVendorUrl; } + @Override public String getUrl() { return url; } @@ -392,11 +417,13 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { return myName != null ? myName.hashCode() : 0; } + @Override @NotNull public HelpSetPath[] getHelpSets() { return myHelpSets; } + @Override public PluginId getPluginId() { return myId; } @@ -421,6 +448,7 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { myDownloadCounter = dwnlds; } + @Override public String getDownloads(){ return myDownloadCounter; } @@ -455,14 +483,17 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { url = val; } + @Override public ClassLoader getPluginClassLoader() { return myLoader != null ? myLoader : getClass().getClassLoader(); } + @Override public String getVendorLogoPath() { return myVendorLogoPath; } + @Override public boolean getUseIdeaClassLoader() { return myUseIdeaClassLoader; } @@ -504,18 +535,22 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { myDependencies = deps; } + @Override public boolean isEnabled() { return myEnabled; } + @Override public void setEnabled(final boolean enabled) { myEnabled = enabled; } + @Override public String getSinceBuild() { return mySinceBuild; } + @Override public String getUntilBuild() { return myUntilBuild; } @@ -562,11 +597,11 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { private static ComponentConfig[] mergeComponents(ComponentConfig[] first, ComponentConfig[] second) { if (first == null) { return second; - } else if (second == null) { - return first; - } else { - return ArrayUtil.mergeArrays(first, second); } + if (second == null) { + return first; + } + return ArrayUtil.mergeArrays(first, second); } public Boolean getSkipped() { @@ -577,6 +612,7 @@ public class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor { mySkipped = skipped; } + @Override public boolean isBundled() { return getPath().getAbsolutePath().startsWith(PathManager.getPreinstalledPluginsPath()); }