/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.core.workspace;
import java.net.URI;
import java.util.Map;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IPathVariableManager;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceProxy;
import org.eclipse.core.resources.IResourceProxyVisitor;
import org.eclipse.core.resources.IResourceVisitor;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourceAttributes;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.teiid.core.designer.util.CoreArgCheck;
/**
* @since 4.2
*/
public class FakeIResource implements IResource {
protected final IPath path;
protected final IPath workspaceRootPath;
protected boolean doesExist = true;
/**
* Construct an instance of FakeIResource.
*/
public FakeIResource( final String pathInWorkspace ) {
this(pathInWorkspace, null);
}
/**
* Construct an instance of FakeIResource.
*/
public FakeIResource( final String pathInWorkspace,
final String workspaceRootPath ) {
CoreArgCheck.isNotZeroLength(pathInWorkspace);
this.path = new Path(pathInWorkspace);
if (workspaceRootPath != null && workspaceRootPath.length() > 0) {
this.workspaceRootPath = new Path(workspaceRootPath);
// Assert that the pathInWorkspace starts with the workspaceRootPath
if (this.workspaceRootPath.matchingFirstSegments(this.path) != this.workspaceRootPath.segmentCount()) {
throw new IllegalArgumentException("The pathInWorkspace must start with the specified workspaceRootPath"); //$NON-NLS-1$
}
} else {
this.workspaceRootPath = null;
}
}
/**
* @see org.eclipse.core.resources.IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)
* @since 4.2
*/
@Override
public void accept( IResourceProxyVisitor visitor,
int memberFlags ) {
}
/**
* @see org.eclipse.core.resources.IResource#accept(org.eclipse.core.resources.IResourceVisitor)
* @since 4.2
*/
@Override
public void accept( IResourceVisitor visitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#accept(org.eclipse.core.resources.IResourceVisitor, int, boolean)
* @since 4.2
*/
@Override
public void accept( IResourceVisitor visitor,
int depth,
boolean includePhantoms ) {
}
/**
* @see org.eclipse.core.resources.IResource#accept(org.eclipse.core.resources.IResourceVisitor, int, int)
* @since 4.2
*/
@Override
public void accept( IResourceVisitor visitor,
int depth,
int memberFlags ) {
}
/**
* @see org.eclipse.core.resources.IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int, int)
* @since 4.2
*/
@Override
public void accept( IResourceProxyVisitor visitor,
int depth,
int memberFlags ) {
}
/**
* @see org.eclipse.core.resources.IResource#clearHistory(org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void clearHistory( IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#copy(org.eclipse.core.runtime.IPath, boolean,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void copy( IPath destination,
boolean force,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#copy(org.eclipse.core.runtime.IPath, int,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void copy( IPath destination,
int updateFlags,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#copy(org.eclipse.core.resources.IProjectDescription, boolean,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void copy( IProjectDescription description,
boolean force,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#copy(org.eclipse.core.resources.IProjectDescription, int,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void copy( IProjectDescription description,
int updateFlags,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#createMarker(java.lang.String)
* @since 4.2
*/
@Override
public IMarker createMarker( String type ) {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#delete(boolean, org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void delete( boolean force,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#delete(int, org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void delete( int updateFlags,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#deleteMarkers(java.lang.String, boolean, int)
* @since 4.2
*/
@Override
public void deleteMarkers( String type,
boolean includeSubtypes,
int depth ) {
}
/**
* @see org.eclipse.core.resources.IResource#exists()
* @since 4.2
*/
@Override
public boolean exists() {
return doesExist;
}
public void setExists( boolean exists ) {
this.doesExist = exists;
}
/**
* @see org.eclipse.core.resources.IResource#findMarker(long)
* @since 4.2
*/
@Override
public IMarker findMarker( long id ) {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#findMarkers(java.lang.String, boolean, int)
* @since 4.2
*/
@Override
public IMarker[] findMarkers( String type,
boolean includeSubtypes,
int depth ) {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getFileExtension()
* @since 4.2
*/
@Override
public String getFileExtension() {
return this.path.getFileExtension();
}
/**
* @see org.eclipse.core.resources.IResource#getFullPath()
* @since 4.2
*/
@Override
public IPath getFullPath() {
return this.path;
}
/**
* @see org.eclipse.core.resources.IResource#getLocation()
* @since 4.2
*/
@Override
public IPath getLocation() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getMarker(long)
* @since 4.2
*/
@Override
public IMarker getMarker( long id ) {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getModificationStamp()
* @since 4.2
*/
@Override
public long getModificationStamp() {
return 0;
}
/**
* @see org.eclipse.core.resources.IResource#getName()
* @since 4.2
*/
@Override
public String getName() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getParent()
* @since 4.2
*/
@Override
public IContainer getParent() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getPersistentProperty(org.eclipse.core.runtime.QualifiedName)
* @since 4.2
*/
@Override
public String getPersistentProperty( QualifiedName key ) {
return null;
}
@Override
public Map getPersistentProperties() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getProject()
* @since 4.2
*/
@Override
public IProject getProject() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getProjectRelativePath()
* @since 4.2
*/
@Override
public IPath getProjectRelativePath() {
if (this.workspaceRootPath != null) {
return this.path.removeFirstSegments(this.workspaceRootPath.segmentCount());
}
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getRawLocation()
* @since 4.2
*/
@Override
public IPath getRawLocation() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getSessionProperty(org.eclipse.core.runtime.QualifiedName)
* @since 4.2
*/
@Override
public Object getSessionProperty( QualifiedName key ) {
return null;
}
@Override
public Map getSessionProperties() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#getType()
* @since 4.2
*/
@Override
public int getType() {
return 0;
}
/**
* @see org.eclipse.core.resources.IResource#getWorkspace()
* @since 4.2
*/
@Override
public IWorkspace getWorkspace() {
return null;
}
/**
* @see org.eclipse.core.resources.IResource#isAccessible()
* @since 4.2
*/
@Override
public boolean isAccessible() {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isDerived()
* @since 4.2
*/
@Override
public boolean isDerived() {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isLocal(int)
* @since 4.2
*/
@Override
public boolean isLocal( int depth ) {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isLinked()
* @since 4.2
*/
@Override
public boolean isLinked() {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isPhantom()
* @since 4.2
*/
@Override
public boolean isPhantom() {
return false;
}
/**
* @since 4.2
*/
@Override
public boolean isReadOnly() {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isSynchronized(int)
* @since 4.2
*/
@Override
public boolean isSynchronized( int depth ) {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#isTeamPrivateMember()
* @since 4.2
*/
@Override
public boolean isTeamPrivateMember() {
return false;
}
/**
* @see org.eclipse.core.resources.IResource#move(org.eclipse.core.runtime.IPath, boolean,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void move( IPath destination,
boolean force,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#move(org.eclipse.core.runtime.IPath, int,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void move( IPath destination,
int updateFlags,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#move(org.eclipse.core.resources.IProjectDescription, boolean, boolean,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void move( IProjectDescription description,
boolean force,
boolean keepHistory,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#move(org.eclipse.core.resources.IProjectDescription, int,
* org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void move( IProjectDescription description,
int updateFlags,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#refreshLocal(int, org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void refreshLocal( int depth,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#setDerived(boolean)
* @since 4.2
*/
@Override
public void setDerived( boolean isDerived ) {
}
/**
* @see org.eclipse.core.resources.IResource#setLocal(boolean, int, org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void setLocal( boolean flag,
int depth,
IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.resources.IResource#setPersistentProperty(org.eclipse.core.runtime.QualifiedName, java.lang.String)
* @since 4.2
*/
@Override
public void setPersistentProperty( QualifiedName key,
String value ) {
}
/**
* @since 4.2
*/
@Override
public void setReadOnly( boolean readOnly ) {
}
/**
* @see org.eclipse.core.resources.IResource#setSessionProperty(org.eclipse.core.runtime.QualifiedName, java.lang.Object)
* @since 4.2
*/
@Override
public void setSessionProperty( QualifiedName key,
Object value ) {
}
/**
* @see org.eclipse.core.resources.IResource#setTeamPrivateMember(boolean)
* @since 4.2
*/
@Override
public void setTeamPrivateMember( boolean isTeamPrivate ) {
}
/**
* @see org.eclipse.core.resources.IResource#touch(org.eclipse.core.runtime.IProgressMonitor)
* @since 4.2
*/
@Override
public void touch( IProgressMonitor monitor ) {
}
/**
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
* @since 4.2
*/
@Override
public Object getAdapter( Class adapter ) {
return null;
}
@Override
public long getLocalTimeStamp() {
return 0;
}
@Override
public ResourceAttributes getResourceAttributes() {
return null;
}
@Override
public void revertModificationStamp( long value ) {
}
@Override
public long setLocalTimeStamp( long value ) {
return 0;
}
@Override
public void setResourceAttributes( ResourceAttributes attributes ) {
}
@Override
public boolean contains( ISchedulingRule rule ) {
return false;
}
@Override
public boolean isConflicting( ISchedulingRule rule ) {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#createProxy()
*/
@Override
public IResourceProxy createProxy() {
return null;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#findMaxProblemSeverity(java.lang.String, boolean, int)
*/
@Override
public int findMaxProblemSeverity( String type,
boolean includeSubtypes,
int depth ) {
return 0;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#getLocationURI()
*/
@Override
public URI getLocationURI() {
return null;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#getRawLocationURI()
*/
@Override
public URI getRawLocationURI() {
return null;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isDerived(int)
*/
@Override
public boolean isDerived( int options ) {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isHidden()
*/
@Override
public boolean isHidden() {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isLinked(int)
*/
@Override
public boolean isLinked( int options ) {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#setHidden(boolean)
*/
@Override
public void setHidden( boolean isHidden ) {
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isHidden(int)
*/
@Override
public boolean isHidden( int options ) {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isTeamPrivateMember(int)
*/
@Override
public boolean isTeamPrivateMember( int options ) {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#getPathVariableManager()
*/
@Override
public IPathVariableManager getPathVariableManager() {
return null;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#isVirtual()
*/
@Override
public boolean isVirtual() {
return false;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.resources.IResource#setDerived(boolean, org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
public void setDerived( boolean arg0,
IProgressMonitor arg1 ) throws CoreException {
}
}