| package org.eclipse.jst.jsf.designtime.internal.resources; |
| |
| import java.util.List; |
| import java.util.concurrent.CopyOnWriteArrayList; |
| |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.core.resources.IWorkspace; |
| import org.eclipse.jst.jsf.common.internal.componentcore.AbstractVirtualComponentQuery; |
| import org.eclipse.jst.jsf.common.internal.locator.ILocatorChangeListener; |
| import org.eclipse.jst.jsf.common.internal.resource.ContentTypeResolver; |
| |
| /** |
| * @author cbateman |
| * |
| */ |
| public class WorkspaceJSFResourceLocator extends AbstractJSFResourceLocator |
| { |
| private final AbstractVirtualComponentQuery _vcQuery; |
| private final ContentTypeResolver _contentTypeResolver; |
| private WorkspaceResourceManager _workspaceResourceManager; |
| |
| /** |
| * @param id |
| * @param displayName |
| * @param noResultValue |
| * @param mutableListenerList |
| * @param vcQuery |
| * @param contentTypeResolver |
| * @param workspace |
| */ |
| public WorkspaceJSFResourceLocator( |
| final String id, |
| final String displayName, |
| final List<IJSFResourceFragment> noResultValue, |
| final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList, |
| final AbstractVirtualComponentQuery vcQuery, |
| final ContentTypeResolver contentTypeResolver, |
| final IWorkspace workspace) |
| { |
| super(id, displayName, noResultValue, mutableListenerList); |
| _vcQuery = vcQuery; |
| _contentTypeResolver = contentTypeResolver; |
| } |
| |
| /** |
| * @param noResultValue |
| * @param mutableListenerList |
| * @param vcQuery |
| * @param contentTypeResolver |
| * @param workspace |
| */ |
| public WorkspaceJSFResourceLocator( |
| final List<IJSFResourceFragment> noResultValue, |
| final CopyOnWriteArrayList<ILocatorChangeListener> mutableListenerList, |
| final AbstractVirtualComponentQuery vcQuery, |
| final ContentTypeResolver contentTypeResolver, |
| final IWorkspace workspace) |
| { |
| this( |
| "", "", noResultValue, mutableListenerList, vcQuery, contentTypeResolver, workspace); //$NON-NLS-1$//$NON-NLS-2$ |
| } |
| |
| @Override |
| public void start(final IProject initialContext) |
| { |
| _workspaceResourceManager = new WorkspaceResourceManager( |
| initialContext, _vcQuery, this, _contentTypeResolver); |
| _workspaceResourceManager.initResources(); |
| super.start(initialContext); |
| } |
| |
| @Override |
| protected List<IJSFResourceFragment> doLocate(final IProject project) |
| { |
| return _workspaceResourceManager.getJSFResources(); |
| } |
| |
| } |