Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java173
1 files changed, 0 insertions, 173 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java b/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java
deleted file mode 100644
index f68ecf438..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facelet.core/src/org/eclipse/jst/jsf/facelet/core/internal/registry/taglib/ProjectTaglibDescriptor.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Oracle Corporation.
- * 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:
- * Cameron Bateman - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facelet.core.internal.registry.taglib;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jst.jsf.common.internal.locator.ILocatorProvider;
-import org.eclipse.jst.jsf.facelet.core.internal.FaceletCorePlugin;
-
-/**
- * Taglib descriptor for a project.
- *
- * @author cbateman
- *
- */
-public class ProjectTaglibDescriptor implements IProjectTaglibDescriptor
-{
-
- private final AtomicInteger _isInitialized = new AtomicInteger(
- 0);
- private final IProject _project;
- private final ILocatorProvider<AbstractFaceletTaglibLocator> _locatorProvider;
- private final MyChangeListener _libChangeListener;
- private final Map<String, IFaceletTagRecord> _tagRecords;
- private final TagRecordFactory _factory;
- private final AtomicBoolean _isDisposed = new AtomicBoolean(false);
-
- /**
- * @param project
- * @param factory
- * @param locatorProvider
- */
- public ProjectTaglibDescriptor(final IProject project, final TagRecordFactory factory,
- final ILocatorProvider<AbstractFaceletTaglibLocator> locatorProvider)
- {
- _project = project;
- _tagRecords = new HashMap<String, IFaceletTagRecord>();
- _locatorProvider = locatorProvider;
- _locatorProvider.initialize();
- _factory = factory;
- _libChangeListener = new MyChangeListener();
- }
-
- private void initialize()
- {
- if (_isInitialized.addAndGet(1) == 1)
- {
- synchronized (this)
- {
- for (final AbstractFaceletTaglibLocator locator : _locatorProvider.getLocators())
- {
- SafeRunner.run(new ISafeRunnable()
- {
- public void handleException(final Throwable exception)
- {
- FaceletCorePlugin
- .log(
- "While locating facelet libraries on project: " + _project.getName(), new Exception(exception)); //$NON-NLS-1$
- }
- public void run() throws Exception
- {
- locator.addListener(_libChangeListener);
- locator.start(_project);
- _tagRecords.putAll(locator.locate(_project));
- }
- });
- }
- }
- }
- }
-
- public Collection<? extends IFaceletTagRecord> getTagLibraries()
- {
- initialize();
- return Collections.unmodifiableCollection(_tagRecords.values());
- }
-
- void maybeLog(final Exception e)
- {
- if (_isInitialized.get() <= 1)
- {
- FaceletCorePlugin.log("Failed initializing taglib descriptor", e); //$NON-NLS-1$
- }
- }
-
- public IFaceletTagRecord getTagLibrary(final String uri)
- {
- initialize();
- return _tagRecords.get(uri);
- }
-
- public void addListener(final Listener listener)
- {
- for (final AbstractFaceletTaglibLocator locator : _locatorProvider.getLocators())
- {
- locator.addListener(listener);
- }
- }
-
- public void removeListener(final Listener listener)
- {
- for (final AbstractFaceletTaglibLocator locator : _locatorProvider.getLocators())
- {
- locator.removeListener(listener);
- }
- }
-
- public void checkpoint()
- {
- // do nothing
- }
-
- public void destroy()
- {
- // call dispose; there is no persistent data to cleanup.
- dispose();
- }
-
- public void dispose()
- {
- if (_isDisposed.compareAndSet(false, true))
- {
- for (final AbstractFaceletTaglibLocator locator : _locatorProvider.getLocators())
- {
- locator.stop();
- }
- _factory.dispose();
- }
- }
-
- public boolean isDisposed()
- {
- return _isDisposed.get();
- }
-
- private class MyChangeListener extends Listener
- {
- @Override
- public void changed(final TaglibChangedEvent event)
- {
- switch (event.getChangeType())
- {
- case ADDED:
- _tagRecords.put(event.getNewValue().getURI(), event
- .getNewValue());
- break;
- case CHANGED:
- _tagRecords.put(event.getNewValue().getURI(), event
- .getNewValue());
- break;
- case REMOVED:
- _tagRecords.remove(event.getOldValue());
- break;
- }
- }
- }
-}

Back to the top