Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/contentmodel/annotation/internal/CMAnnotationFileRegistry.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/contentmodel/annotation/internal/CMAnnotationFileRegistry.java191
1 files changed, 0 insertions, 191 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/contentmodel/annotation/internal/CMAnnotationFileRegistry.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/contentmodel/annotation/internal/CMAnnotationFileRegistry.java
deleted file mode 100644
index 58d8ed6bc..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/contentmodel/annotation/internal/CMAnnotationFileRegistry.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 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 - Initial API and implementation
- * Jens Lukowski/Innoopract - initial renaming/restructuring
- * Gerry Kessler/Oracle - code borrowed and repurposed for JSF subproject
- *
- *******************************************************************************/
-package org.eclipse.jst.jsf.contentmodel.annotation.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.JSFCommonPlugin;
-import org.eclipse.jst.jsf.contentmodel.annotation.ICMAnnotationSourceFileInfo;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * This internal class is used to associate one or more annotation files with a grammar
- * file mapped by a key (uri).
- *
- * Using the CMAnnotationFileRegistryReader, extenders of <code>org.eclipse.jst.jsf.contentmodel.annotations.annotationFiles</code> are loaded
- * into the annotationFilesMap keyed by uri. There can be multiple annotationFiles mapped to the same uri.
- *
- * This registry should only be accessed by clients using the <code>org.eclipse.jst.jsf.contentmodel.annotation.CMAnnotationHelper</code>.
- * Only when the system attempts to access an annotation for a content model, will the file be parsed and cached.
- *
- * When queried, CMAnnotationPropertyValue objects are returned for each named property found in each annotation file for a particular uri.
- *
- * also see org.eclipse.jst.jsf.contentmodel.annotations.annotationFiles extension-point
- * @see CMAnnotationFileRegistryReader
- * @see CMAnnotationMap
- * @see org.eclipse.jst.jsf.contentmodel.annotation.ICMAnnotationSourceFileInfo
- *
- * @deprecated see common.metadata package
- */
-public final class CMAnnotationFileRegistry {
- //all annotation files registered using "org.eclipse.jst.jsf.contentmodel.annotations.annotationFiles" ext-pt. and keyed by uri.
- private Map annotationFilesMap = new HashMap(1);
- //will return list of CMAnnotationMap (parsed annotation files) objects keyed by uri
- private Map parsedFilesMap = new HashMap(1);
-
- private static CMAnnotationFileRegistry reg;
-
- private static final boolean DISABLED = true;
-
- /**
- * @return return the singleton instance of the registry
- */
- public static CMAnnotationFileRegistry getInstance() {
- if (reg == null){
- reg = new CMAnnotationFileRegistry();
- }
- return reg;
-
- }
-
- //constructor reads the annotationFile registry and populates the annotationFilesMap
- private CMAnnotationFileRegistry() {
- if (!(DISABLED))
- new CMAnnotationFileRegistryReader(this).readRegistry();
- }
-
- private synchronized List getAnnotationFilesInfos(String uri) {
- List theList = (List) annotationFilesMap.get(uri);
- return theList != null ? theList : new ArrayList();
- }
-
- /**
- * For use by registry reader only
- * @param uri
- * @param fileInfo
- */
- public synchronized void addAnnotationFileInfo(String uri, ICMAnnotationSourceFileInfo fileInfo) {
- List fileInfos = (List) annotationFilesMap.get(uri);
- if (fileInfos == null) {
- fileInfos = new ArrayList();
- annotationFilesMap.put(uri, fileInfos);
- }
- fileInfos.add(fileInfo);
- }
-
- private synchronized void addParsedFileToMap(String uri, CMAnnotationMap map) {
- List maps = (List) parsedFilesMap.get(uri);
- if (maps == null) {
- maps = new ArrayList();
- parsedFilesMap.put(uri, maps);
- }
- maps.add(map);
- }
-
- /**
- * Return list of CMAnnotationMaps for a given uri.
- * By calling this method, unparsed annotation files for the given
- * uri will be parsed.
- *
- * @param uri
- * @return List of CMAnnotationMaps
- */
- public synchronized List getAnnotationMaps(String uri) {
- if (DISABLED){
- JSFCommonPlugin.log(IStatus.ERROR, "Attempted metadata access using CMAnnotationFiles for uri: "+uri+". Use org.eclipse.jst.jsf.common.metadata, instead." );
- return Collections.EMPTY_LIST;
- }
-
- List list = (List)parsedFilesMap.get(uri);
- if (list == null){
- loadAnnotationsForGrammar(uri);
- list = (List)parsedFilesMap.get(uri);
- }
- return list;
- }
-
-
- /**
- * Does this bundle define an annotationFile extension for the given uri.
- *
- * @param bundleId
- * @param uri
- * @return boolean
- */
- public boolean hasAnnotations(String bundleId, String uri) {
-// if (DISABLED){
-//
-// }
- List maps = (List)annotationFilesMap.get(uri);
- if (maps == null || maps.size() ==0)
- return false;
-
- for (int i=0;i<maps.size();i++){
- if (((ICMAnnotationSourceFileInfo)maps.get(i)).getBundleId().equals(bundleId))
- return true;
- }
- return false;
- }
- /**
- * Are there any annotationFile extensions defined for the given uri.
- * @param uri
- * @return boolean
- */
- public boolean hasAnnotations(String uri){
- if (DISABLED){
- JSFCommonPlugin.log(IStatus.ERROR, "Attempted metadata access using CMAnnotationFiles for uri: "+uri+". Use org.eclipse.jst.jsf.common.metadata, instead." );
- return false;
- }
- if (annotationFilesMap.get(uri) != null)
- return true;
- return false;
- }
-
- private boolean areAnnotationsParsed(String uri) {
- if (hasAnnotations(uri)){
- if (parsedFilesMap.get(uri) != null)
- return true;
- }
- return false;
- }
-
- private void loadAnnotationsForGrammar(String uri) {
- if (areAnnotationsParsed(uri))
- return;
-
- if (DISABLED)
- return;
-
- List annotationFiles = getAnnotationFilesInfos(uri);
- for (Iterator i = annotationFiles.iterator(); i.hasNext();) {
- try {
- CMAnnotationFileInfo annotationFileInfo = (CMAnnotationFileInfo) i.next();
- CMAnnotationMap map = new CMAnnotationMap(annotationFileInfo);
- CMAnnotationFileParserHelper parserHelper = new CMAnnotationFileParserHelper();
- parserHelper.parse(map);
- addParsedFileToMap(uri, map);
- }
- catch (Exception e) {
- JSFCommonPlugin.log(e, NLS.bind(Messages.CMAnnotationFileRegistry_load_error, new String[]{uri}));
- }
- }
- }
-
-}

Back to the top