/* * 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.relational.ui.util; import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.graphics.Image; import org.teiid.designer.metamodels.core.ModelType; import org.teiid.designer.relational.RelationalConstants; import org.teiid.designer.relational.ui.UiConstants; import org.teiid.designer.relational.ui.UiPlugin; /** * @since 8.0 */ public class RelationalUiUtil implements RelationalConstants { private static int WARNING = IStatus.WARNING; private static int ERROR = IStatus.ERROR; /** * @param objectType the relational object type * @param modelType the relational model type * @param status the error status object * @return the relevant Image */ public static Image getRelationalImage(int objectType, int modelType, IStatus status) { int severity = status.getSeverity(); switch(objectType) { case TYPES.AP: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.AP_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.AP_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.AP_ICON); } case TYPES.COLUMN: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.COLUMN_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.COLUMN_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.COLUMN_ICON); } case TYPES.FK: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.FK_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.FK_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.FK_ICON); } case TYPES.INDEX: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.INDEX_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.INDEX_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.INDEX_ICON); } case TYPES.PARAMETER: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.PARAMETER_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.PARAMETER_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.PARAMETER_ICON); } case TYPES.PK: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.PK_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.PK_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.PK_ICON); } case TYPES.PROCEDURE: { if( modelType == ModelType.PHYSICAL) { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.PROCEDURE_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.PROCEDURE_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.PROCEDURE_ICON); } if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_PROCEDURE_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_PROCEDURE_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_PROCEDURE_ICON); } // case TYPES.RESULT_SET: { // if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.RESULT_SET_ERROR_ICON); // if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.RESULT_SET_WARNING_ICON); // return UiPlugin.getDefault().getImage(UiConstants.Images.RESULT_SET_ICON); // } case TYPES.TABLE: { if( modelType == ModelType.PHYSICAL) { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.TABLE_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.TABLE_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.TABLE_ICON); } if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_TABLE_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_TABLE_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.VIRTUAL_TABLE_ICON); } case TYPES.UC: { if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.UC_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.UC_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.UC_ICON); } // case TYPES.VIEW: { // if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIEW_ERROR_ICON); // if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.VIEW_WARNING_ICON); // return UiPlugin.getDefault().getImage(UiConstants.Images.VIEW_ICON); // } } return null; } /** * @param status the error status object * @return the relevant description image */ public static Image getDescriptionImage(IStatus status) { int severity = status.getSeverity(); if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.EDIT_DESCRIPTION_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.EDIT_DESCRIPTION_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.EDIT_DESCRIPTION_ICON); } /** * @param status the error status object * @return the relevant native sql image */ public static Image getNativeSQLImage(IStatus status) { int severity = status.getSeverity(); if( severity == ERROR ) return UiPlugin.getDefault().getImage(UiConstants.Images.NATIVE_SQL_ERROR_ICON); if( severity == WARNING ) return UiPlugin.getDefault().getImage(UiConstants.Images.NATIVE_SQL_WARNING_ICON); return UiPlugin.getDefault().getImage(UiConstants.Images.NATIVE_SQL_ICON); } }