/* * 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.mapping.ui.choice; import org.eclipse.emf.ecore.EObject; import org.teiid.designer.mapping.ui.PluginConstants; import org.teiid.designer.mapping.ui.UiConstants; import org.teiid.designer.metadata.runtime.MetadataRecord; import org.teiid.designer.metamodels.transformation.MappingClass; import org.teiid.designer.metamodels.transformation.MappingClassColumn; import org.teiid.designer.metamodels.transformation.MappingClassObject; import org.teiid.designer.query.sql.lang.ILanguageObject; import org.teiid.designer.query.sql.symbol.IElementSymbol; import org.teiid.designer.transformation.util.TransformationHelper; import org.teiid.query.ui.builder.util.CriteriaStrategy; /** * ChoiceCriteriaStrategy * * @since 8.0 */ public class ChoiceCriteriaStrategy extends CriteriaStrategy implements PluginConstants, UiConstants { public static final String EMPTY_STRING = ""; //$NON-NLS-1$ // ======================================================= // CONSTRUCTORS // ======================================================= public ChoiceCriteriaStrategy() { } // ======================================================= // METHODS // ======================================================= /* (non-Javadoc) * @see org.teiid.query.ui.builder.util.ICriteriaStrategy#getNode(org.teiid.query.sql.LanguageObject) */ @Override public Object getNode( ILanguageObject theLangObj ) { Object result = null; if (isValid(theLangObj)) { if (theLangObj instanceof IElementSymbol) { Object obj = ((IElementSymbol)theLangObj).getMetadataID(); if (obj != null) { if (obj instanceof MetadataRecord) { result = ((MetadataRecord)obj).getEObject(); } else if (obj instanceof EObject) { result = obj; } } } } return result; } @Override public boolean isValid( Object o ) { return super.isValid( o ); } @Override public String getRuntimeFullName(Object theObject) { String result = EMPTY_STRING; if ((theObject instanceof MappingClassColumn) || (theObject instanceof MappingClass)) { result = TransformationHelper.getSqlEObjectFullName((MappingClassObject)theObject); } return result; } }