package org.talend.repository.plsap.ui.viewer.tester;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.repository.model.RepositoryNode;
import org.talend.repository.tester.SubNodeTester;
public class PlSapSchemaNodeTester extends SubNodeTester {
private static final String IS_SCHEMA = "isSchema"; //$NON-NLS-1$
/*
* (non-Javadoc)
*
* @see org.talend.repository.tester.AbstractNodeTester#testProperty(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
*/
@Override
protected Boolean testProperty(Object receiver, String property, Object[] args, Object expectedValue) {
if (receiver instanceof RepositoryNode) {
RepositoryNode repositoryNode = (RepositoryNode) receiver;
if (IS_SCHEMA.equals(property)) {
return isSchema(repositoryNode);
}
}
return null;
}
public boolean isSchema(RepositoryNode repositoryNode) {
return isTypeNode(repositoryNode, ERepositoryObjectType.METADATA_SAP_FUNCTION);
}
@Override
public ERepositoryObjectType findParentItemType(RepositoryNode repositoryNode) {
final ERepositoryObjectType objectType = repositoryNode.getObjectType();
if (objectType == ERepositoryObjectType.METADATA_SAP_FUNCTION) {
if (repositoryNode.getObject() != null) {
ERepositoryObjectType parentType = ERepositoryObjectType.getItemType(repositoryNode.getObject().getProperty().getItem());
return parentType;
}
}
return null;
}
}