[435349] Java Model Exception: Java Model Status when validating maven parent project
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
index bce3bb1..a6ed917 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/contentmodel/tld/CMDocumentFactoryTLD.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2014 IBM Corporation and others.
+ * Copyright (c) 2004, 2017 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
@@ -23,6 +23,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -392,24 +393,33 @@
}
private IPath getExportedTagPath(IFile file, String path) {
- final IJavaProject javaProject = JavaCore.create(file.getProject());
- // http://bugs.eclipse.org/433619
- if (javaProject != null && javaProject.exists()) {
- IWorkspaceRoot root = file.getWorkspace().getRoot();
- try {
- final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
- for (int i = 0; i < packageFragmentRoots.length; i++) {
- if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
- IPath ipath = packageFragmentRoots[i].getPath().append(new Path(path));
- if (root.getFile(ipath).isAccessible()) {
- return ipath;
+ IProject project = file.getProject();
+ try {
+ // http://bugs.eclipse.org/433619
+ if (!project.hasNature(JavaCore.NATURE_ID)) {
+ return null;
+ }
+ final IJavaProject javaProject = JavaCore.create(project);
+ if (javaProject != null && javaProject.exists()) {
+ IWorkspaceRoot root = file.getWorkspace().getRoot();
+ try {
+ final IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
+ for (int i = 0; i < packageFragmentRoots.length; i++) {
+ if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
+ IPath ipath = packageFragmentRoots[i].getPath().append(new Path(path));
+ if (root.getFile(ipath).isAccessible()) {
+ return ipath;
+ }
}
}
}
+ catch (JavaModelException e) {
+ Logger.logException(e);
+ }
}
- catch (JavaModelException e) {
- Logger.logException(e);
- }
+ }
+ catch (CoreException e1) {
+ Logger.logException(e1);
}
return null;
}