diff options
Diffstat (limited to 'bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/util/XSDSchemaLocatorImpl.java')
-rw-r--r-- | bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/util/XSDSchemaLocatorImpl.java | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/util/XSDSchemaLocatorImpl.java b/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/util/XSDSchemaLocatorImpl.java deleted file mode 100644 index a8422b750f..0000000000 --- a/bundles/org.eclipse.wst.xsd.core/src-contentmodel/org/eclipse/wst/xsd/contentmodel/internal/util/XSDSchemaLocatorImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2004 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 - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.xsd.contentmodel.internal.util; - -import java.io.IOException; -import java.io.InputStream; - -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin; -import org.eclipse.xsd.XSDSchema; -import org.eclipse.xsd.util.XSDResourceImpl; -import org.eclipse.xsd.util.XSDSchemaLocator; - -public class XSDSchemaLocatorImpl extends AdapterImpl implements XSDSchemaLocator -{ - /** - * @see org.eclipse.xsd.util.XSDSchemaLocator#locateSchema(org.eclipse.xsd.XSDSchema, - * java.lang.String, java.lang.String, java.lang.String) - */ - public XSDSchema locateSchema(XSDSchema xsdSchema, String namespaceURI, String rawSchemaLocationURI, String resolvedSchemaLocationURI) - { - XSDSchema result = null; - String baseLocation = xsdSchema.getSchemaLocation(); - String resolvedURI = URIResolverPlugin.createResolver().resolve(baseLocation, namespaceURI, rawSchemaLocationURI); - if (resolvedURI == null) - { - resolvedURI = resolvedSchemaLocationURI; - } - try - { - ResourceSet resourceSet = xsdSchema.eResource().getResourceSet(); - URI uri = URI.createURI(resolvedURI); - Resource r = resourceSet.getResource(uri, false); - XSDResourceImpl resolvedResource = null; - if (r instanceof XSDResourceImpl) - { - resolvedResource = (XSDResourceImpl)r; - } - else - { - String physicalLocation = URIResolverPlugin.createResolver().resolvePhysicalLocation(baseLocation, namespaceURI, resolvedURI); - InputStream inputStream = resourceSet.getURIConverter().createInputStream(URI.createURI(physicalLocation)); - resolvedResource = (XSDResourceImpl)resourceSet.createResource(URI.createURI("*.xsd")); - resolvedResource.setURI(uri); - resolvedResource.load(inputStream, null); - } - - result = resolvedResource.getSchema(); - } - catch (IOException exception) - { - // It is generally not an error to fail to resolve. - // If a resource is actually created, - // which happens only when we can create an input stream, - // then it's an error if it's not a good schema - } - return result; - } - - public boolean isAdatperForType(Object type) - { - return type == XSDSchemaLocator.class; - } -} |