package org.amanzi.awe.nem.ui.testers;
import org.amanzi.awe.nem.ui.utils.MenuUtils;
import org.amanzi.awe.ui.dto.IUIItem;
import org.amanzi.neo.dto.IDataElement;
import org.amanzi.neo.models.network.INetworkModel;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.jface.viewers.IStructuredSelection;
public class NEMTester extends PropertyTester {
@Override
public boolean test(final Object receiver, final String property, final Object[] args, final Object expectedValue) {
IUIItem item;
IStructuredSelection selection;
if (receiver instanceof IStructuredSelection) {
selection = (IStructuredSelection)receiver;
} else {
return false;
}
if (selection.getFirstElement() instanceof IUIItem) {
item = (IUIItem)selection.getFirstElement();
} else {
return false;
}
final INetworkModel model = MenuUtils.getModelFromItem(item);
final IDataElement elment = MenuUtils.getElementFromItem(item);
final MenuProperties creatable = MenuProperties.findByName(property);
if (creatable != null && model != null) {
return creatable.check(model, elment);
}
return false;
}
}