Bug 501281 - NullPointerException in JSONCatalogURIResolverExtension.resolve
Change-Id: Ib9f726d77f2e3ce6c44969dd975633ceba0f24e5
Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com>
diff --git a/bundles/org.eclipse.wst.json.core/src/org/eclipse/wst/json/core/internal/schema/catalog/JSONCatalogURIResolverExtension.java b/bundles/org.eclipse.wst.json.core/src/org/eclipse/wst/json/core/internal/schema/catalog/JSONCatalogURIResolverExtension.java
index 7006fbf..72a3823 100644
--- a/bundles/org.eclipse.wst.json.core/src/org/eclipse/wst/json/core/internal/schema/catalog/JSONCatalogURIResolverExtension.java
+++ b/bundles/org.eclipse.wst.json.core/src/org/eclipse/wst/json/core/internal/schema/catalog/JSONCatalogURIResolverExtension.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2006 IBM Corporation and others.
+ * Copyright (c) 2002, 2016 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
@@ -28,78 +28,31 @@
* Common Extensible URI Resolver. This class is referenced in the JSON Catalog
* plugin's plugin.xml file.
*/
-public class JSONCatalogURIResolverExtension implements URIResolverExtension
-{
- public String resolve(IFile file, String baseLocation, String publicId, String systemId)
- {
- // if we have catalog in a project we may add it
- // to the catalog manager first
- ICatalog catalog = JSONCorePlugin.getDefault().getDefaultJSONCatalog();
- if (catalog == null)
- {
- Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_null_catalog);
- return null;
- }
- if (publicId != null || systemId != null) {
- return null;
- }
- try
- {
- return catalog.resolveSchema(file.getName());
- }
- catch (MalformedURLException me)
- {
- Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_malformed_url);
- return null;
- }
- catch (IOException ie)
- {
- Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_io_exception);
- return null;
- }
-
-// String resolved = null;
-// if (systemId != null)
-// {
-//
-// }
-// if (resolved == null)
-// {
-// if (publicId != null)
-// {
-// // CS : this is a temporary workaround for bug 96772
-// //
-// // For schemas we always use locations where available and only use
-// // namespace when no location is specified. For JSON entities (such as DOCTYPE)
-// // default always utilize the public catalog entry.
-// //
-// // This lame test below roughly discriminate between schema and JSON entities.
-// // TODO (bug 103243) remove this lame test once we move to the new URIResolver API
-// // since the new API is explicit about namespace and publicId
-// //
-// if (!(systemId != null && systemId.endsWith(".xsd"))) //$NON-NLS-1$
-// {
-// try
-// {
-// resolved = catalog.resolveSchema(publicId, systemId);
-// if (resolved == null)
-// {
-// resolved = catalog.resolveURI(publicId);
-// }
-// }
-// catch (MalformedURLException me)
-// {
-// Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_malformed_url);
-// resolved = null;
-// }
-// catch (IOException ie)
-// {
-// Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_io_exception);
-// resolved = null;
-// }
-// }
-// }
-// }
-// return resolved;
- }
+public class JSONCatalogURIResolverExtension implements URIResolverExtension {
+ public String resolve(IFile file, String baseLocation, String publicId, String systemId) {
+ if (publicId != null || systemId != null) {
+ return null;
+ }
+ if (file == null) { // Cannot resolve schema with no file
+ Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_malformed_url);
+ return null;
+ }
+
+ // if we have catalog in a project we may add it
+ // to the catalog manager first
+ ICatalog catalog = JSONCorePlugin.getDefault().getDefaultJSONCatalog();
+ if (catalog == null) {
+ Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_null_catalog);
+ return null;
+ }
+
+ try {
+ return catalog.resolveSchema(file.getName());
+ } catch (MalformedURLException me) {
+ Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_malformed_url);
+ } catch (IOException ie) {
+ Logger.log(Logger.ERROR_DEBUG, JSONCoreMessages.Catalog_resolution_io_exception);
+ }
+ return null;
+ }
}