// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.ui.images;
import org.eclipse.swt.graphics.Image;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.IImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.RepositoryContentManager;
/**
* ggu class global comment. Detailled comment
*/
public class RepositoryImageProvider {
public static IImage getIcon(ERepositoryObjectType type) {
if (type == ERepositoryObjectType.SVN_ROOT) {
return ECoreImage.SVN_ROOT_ICON;
} else if (type == ERepositoryObjectType.BUSINESS_PROCESS) {
return ECoreImage.BUSINESS_PROCESS_ICON;
} else if (type == ERepositoryObjectType.PROCESS) {
return ECoreImage.PROCESS_ICON;
} else if (type == ERepositoryObjectType.JOBLET) {
return ECoreImage.JOBLET_ICON;
} else if (type == ERepositoryObjectType.CONTEXT) {
return ECoreImage.CONTEXT_ICON;
} else if (type == ERepositoryObjectType.ROUTINES) {
return ECoreImage.ROUTINE_ICON;
} else if (type == ERepositoryObjectType.JOB_SCRIPT) {
return ECoreImage.JOB_SCRIPTS_ICON;
} else if (type == ERepositoryObjectType.SNIPPETS) {
return ECoreImage.SNIPPETS_ICON;
} else if (type == ERepositoryObjectType.DOCUMENTATION || type == ERepositoryObjectType.JOB_DOC
|| type == ERepositoryObjectType.JOBLET_DOC) {
return ECoreImage.DOCUMENTATION_ICON;
} else if (type == ERepositoryObjectType.METADATA) {
return ECoreImage.METADATA_ICON;
} else if (type == ERepositoryObjectType.METADATA_CONNECTIONS) {
return ECoreImage.METADATA_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_SAPCONNECTIONS || type == ERepositoryObjectType.METADATA_SAP_FUNCTION) {
return ECoreImage.METADATA_SAPCONNECTION_ICON;
} else if (type == ERepositoryObjectType.SQLPATTERNS) {
return ECoreImage.METADATA_SQLPATTERN_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_TABLE) {
return ECoreImage.METADATA_TABLE_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_COLUMN) {
return ECoreImage.METADATA_COLUMN_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_QUERY) {
return ECoreImage.METADATA_QUERY_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_VIEW) {
return ECoreImage.METADATA_VIEW_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_SYNONYM) {
return ECoreImage.METADATA_SYNONYM_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_DELIMITED) {
return ECoreImage.METADATA_FILE_DELIMITED_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_POSITIONAL) {
return ECoreImage.METADATA_FILE_POSITIONAL_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_REGEXP) {
return ECoreImage.METADATA_FILE_REGEXP_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_XML) {
return ECoreImage.METADATA_FILE_XML_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_EXCEL) {
return ECoreImage.METADATA_FILE_EXCEL_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_LDIF) {
return ECoreImage.METADATA_FILE_LDIF_ICON;
} else if (type == ERepositoryObjectType.FOLDER) {
return ECoreImage.FOLDER_OPEN_ICON;
} else if (type == ERepositoryObjectType.REFERENCED_PROJECTS) {
return ECoreImage.REFERENCED_ICON;
} else if (type == ERepositoryObjectType.METADATA_GENERIC_SCHEMA) {
return ECoreImage.METADATA_GENERIC_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_FTP) {
return ECoreImage.FTP_ICON;
} else if (type == ERepositoryObjectType.METADATA_LDAP_SCHEMA) {
return ECoreImage.METADATA_LDAP_SCHEMA_ICON;
} else if (type == ERepositoryObjectType.METADATA_WSDL_SCHEMA) {
return ECoreImage.METADATA_WSDL_SCHEMA_ICON;
} else if (type == ERepositoryObjectType.METADATA_SALESFORCE_SCHEMA) {
return ECoreImage.METADATA_SALESFORCE_SCHEMA_ICON;
} else if (type == ERepositoryObjectType.METADATA_SALESFORCE_MODULE) {
return ECoreImage.METADATA_SALESFORCE_SCHEMA_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_EBCDIC) {
return ECoreImage.METADATA_EBCDIC_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_HL7) {
return ECoreImage.METADATA_HL7_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_BRMS) {
return ECoreImage.METADATA_BRMS_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_MDMCONNECTION) {
return ECoreImage.METADATA_MDM_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_RULES) {
return ECoreImage.METADATA_RULES_ICON;
} else if (type == ERepositoryObjectType.METADATA_FILE_LINKRULES) {
return ECoreImage.METADATA_RULES_ICON;
} else if (type == ERepositoryObjectType.METADATA_VALIDATION_RULES) {
return ECoreImage.METADATA_ICON;
} else if (type == ERepositoryObjectType.RECYCLE_BIN) {
return ECoreImage.RECYCLE_BIN_EMPTY_ICON;
} else if (type == ERepositoryObjectType.METADATA_EDIFACT) {
return ECoreImage.METADATA_EDIFACT_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_CDC) {
return ECoreImage.CDC_SUBSCRIBER;
} else {
IImage image = null;
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
image = handler.getIcon(type);
if (image != null) {
return image;
}
}
return EImage.DEFAULT_IMAGE;
}
}
public static Image getImage(ERepositoryObjectType type) {
return ImageProvider.getImage(getIcon(type));
}
}