package org.teiid.designer.transformation.ui.actions;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.core.resources.IFile;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelUtil;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.transformation.ui.UiConstants;
import org.teiid.designer.ui.viewsupport.ModelUtilities;
/**
* @since 8.0
*/
public final class TransformationUiPropertyTester extends PropertyTester {
private enum Tests {
VIRTUAL_MODEL
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[],
* java.lang.Object)
*/
@Override
public boolean test( Object receiver,
String property,
Object[] args,
Object expectedValue ) {
assert (receiver instanceof IFile) : "Receiver was not an IFile. Check plugin.xml extension."; //$NON-NLS-1$
IFile file = (IFile)receiver;
if (Tests.VIRTUAL_MODEL.toString().equals(property)) {
if (ModelUtilities.isModelFile(file)) {
try {
ModelResource modelResource = ModelUtil.getModelResource(file, false);
if (ModelUtilities.isVirtual(modelResource)) {
return true;
}
} catch (ModelWorkspaceException e) {
UiConstants.Util.log(e);
}
}
}
return false;
}
}