diff options
author | Vikas Chandra | 2014-07-08 21:57:05 +0000 |
---|---|---|
committer | Dani Megert | 2014-09-02 15:34:27 +0000 |
commit | c853fb3f574909de4732bc8715ea475c611e1b67 (patch) | |
tree | ffbda3ae93f4508dba720c85628a46384e1c52a4 | |
parent | 2c0c62f8a9a1982b2c1fb8b28bd848a4f6aa721d (diff) | |
download | eclipse.pde.ui-c853fb3f574909de4732bc8715ea475c611e1b67.tar.gz eclipse.pde.ui-c853fb3f574909de4732bc8715ea475c611e1b67.tar.xz eclipse.pde.ui-c853fb3f574909de4732bc8715ea475c611e1b67.zip |
Bug 435872 - NullPointerException when importing a project or openingR4_4_1M20140925-0400M20140910-2310M20140910-0900M20140903-1600M20140903-0800M20140902-1430
MANIFEST.MF/plugin.xml
Change-Id: I430506f0ed16a25063969e88377e826add8e2a00
2 files changed, 13 insertions, 3 deletions
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionsErrorReporter.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionsErrorReporter.java index ef03f1f4f6..ef442994ec 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionsErrorReporter.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionsErrorReporter.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2013 IBM Corporation and others. + * Copyright (c) 2005, 2014 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -30,6 +30,9 @@ import org.xml.sax.SAXException; public class ExtensionsErrorReporter extends ManifestErrorReporter { + /** + * PDE model object for the project. May be <code>null</code> if there is no backing model. + */ private IPluginModelBase fModel; private IBuild fBuildModel; @@ -88,9 +91,11 @@ public class ExtensionsErrorReporter extends ManifestErrorReporter { } } + if (fModel != null) { IExtensions extensions = fModel.getExtensions(); if (extensions != null && extensions.getExtensions().length == 0 && extensions.getExtensionPoints().length == 0) report(PDECoreMessages.Builders_Manifest_useless_file, -1, IMarker.SEVERITY_WARNING, PDEMarkerFactory.P_USELESS_FILE, PDEMarkerFactory.CAT_OTHER); + } } } @@ -212,6 +217,8 @@ public class ExtensionsErrorReporter extends ManifestErrorReporter { if (schemaElement instanceof ISchemaRootElement) { ISchemaRootElement rootElement = (ISchemaRootElement) schemaElement; String epid = schemaElement.getSchema().getPluginId(); + if (fModel == null || fModel.getPluginBase() == null) + return; String pid = fModel.getPluginBase().getId(); if (epid == null || pid == null) return; @@ -547,6 +554,9 @@ public class ExtensionsErrorReporter extends ManifestErrorReporter { severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_DISCOURAGED_CLASS); if (severity != CompilerFlags.IGNORE && javaProject.isOpen()) { + if (fModel == null) { + return; + } BundleDescription desc = fModel.getBundleDescription(); if (desc == null) return; diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionElementDetails.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionElementDetails.java index 92cecff3d4..6e3a581a09 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionElementDetails.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/plugin/ExtensionElementDetails.java @@ -253,12 +253,12 @@ public class ExtensionElementDetails extends AbstractPluginElementDetails { String label = null; if (0 == input.getAttributeCount()) { label = PDEUIMessages.ExtensionElementDetails_descNoAttributes; - } else if (schemaElement.hasDeprecatedAttributes()) { + } else if (schemaElement != null && schemaElement.hasDeprecatedAttributes()) { label = NLS.bind(PDEUIMessages.ExtensionElementDetails_setDescDepr, iname); } else { label = NLS.bind(PDEUIMessages.ExtensionElementDetails_setDesc, iname); } - if (schemaElement.isDeprecated()) { + if (schemaElement != null && schemaElement.isDeprecated()) { label += "\n\n"; //$NON-NLS-1$ label += NLS.bind(PDEUIMessages.ElementIsDeprecated, iname); } |