| /******************************************************************************* |
| * Copyright (c) 2001, 2006 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 |
| * Jens Lukowski/Innoopract - initial renaming/restructuring |
| * |
| *******************************************************************************/ |
| package org.eclipse.wst.xml.core.internal; |
| |
| import org.eclipse.core.resources.IWorkspace; |
| import org.eclipse.core.resources.ResourcesPlugin; |
| import org.eclipse.core.runtime.Plugin; |
| import org.eclipse.wst.xml.core.internal.catalog.Catalog; |
| import org.eclipse.wst.xml.core.internal.catalog.CatalogSet; |
| import org.eclipse.wst.xml.core.internal.catalog.provisional.ICatalog; |
| |
| |
| /** |
| * The main plugin class to be used in the desktop. |
| */ |
| public class XMLCorePlugin extends Plugin { |
| // The shared instance. |
| private static XMLCorePlugin plugin; |
| public static final String USER_CATALOG_ID = "user_catalog"; //$NON-NLS-1$ |
| public static final String DEFAULT_CATALOG_ID = "default_catalog"; //$NON-NLS-1$ |
| public static final String SYSTEM_CATALOG_ID = "system_catalog"; //$NON-NLS-1$ |
| private CatalogSet catalogSet = null; |
| private String defaultCatalogFileStateLocation; |
| |
| |
| /** |
| * Returns the shared instance. |
| */ |
| public static XMLCorePlugin getDefault() { |
| return plugin; |
| } |
| |
| /** |
| * @deprecated use ResourcesPlugin.getWorkspace() directly |
| */ |
| public static IWorkspace getWorkspace() { |
| return ResourcesPlugin.getWorkspace(); |
| } |
| |
| /** |
| * The constructor. |
| */ |
| public XMLCorePlugin() { |
| super(); |
| plugin = this; |
| } |
| |
| private String getPluginStateLocation(String fileName) { |
| String location = getStateLocation().append(fileName).toString(); |
| String file_protocol = "file:"; //$NON-NLS-1$ |
| if (location != null && !location.startsWith(file_protocol)) { |
| location = file_protocol + location; |
| } |
| return location; |
| } |
| |
| public ICatalog getDefaultXMLCatalog() { |
| if (catalogSet == null) { |
| catalogSet = new CatalogSet(); |
| |
| defaultCatalogFileStateLocation = getPluginStateLocation(Catalog.DEFAULT_CATALOG_FILE); |
| |
| catalogSet.putCatalogPersistenceLocation(DEFAULT_CATALOG_ID, defaultCatalogFileStateLocation); |
| catalogSet.putCatalogPersistenceLocation(SYSTEM_CATALOG_ID, getPluginStateLocation(Catalog.SYSTEM_CATALOG_FILE)); |
| catalogSet.putCatalogPersistenceLocation(USER_CATALOG_ID, getPluginStateLocation(Catalog.USER_CATALOG_FILE)); |
| } |
| return catalogSet.lookupOrCreateCatalog(DEFAULT_CATALOG_ID, defaultCatalogFileStateLocation); |
| } |
| |
| } |