use of org.talend.commons.ui.runtime.image.OverlayImage.EPosition in project tdi-studio-se by Talend.
the class UpdateLabelProvider method getColumnImage.
@Override
public Image getColumnImage(Object element, int columnIndex) {
// try to use extension first.
Object image = UpdateManagerProviderDetector.INSTANCE.getDisplayImage(element, columnIndex);
if (image == null && columnIndex == 0) {
if (element instanceof Job) {
Job job = (Job) element;
if (job.isJoblet()) {
image = ECoreImage.JOBLET_ICON;
} else if (job.isSparkJoblet()) {
image = ECoreImage.PROCESS_BATCH_SPARK_ICON;
} else if (job.isSparkStreamingJoblet()) {
image = ECoreImage.PROCESS_STREAMING_SPARK_ICON;
} else {
org.talend.core.model.properties.Item item = job.getModelItem();
if (item != null) {
image = CoreImageProvider.getIcon(item);
} else {
if (job.isMR() || job.isStreaming()) {
for (ERepositoryObjectType type : (ERepositoryObjectType[]) ERepositoryObjectType.values()) {
String alias = type.getAlias();
if (alias != null && alias.equals("HC")) {
image = CoreImageProvider.getIcon(type);
}
}
} else {
image = ECoreImage.PROCESS_ICON;
}
}
}
} else if (element instanceof Category) {
Category category = (Category) element;
IUpdateItemType type = category.getType();
if (type != null) {
if (type instanceof EUpdateItemType) {
switch((EUpdateItemType) type) {
case JOB_PROPERTY_EXTRA:
case JOB_PROPERTY_STATS_LOGS:
case JOB_PROPERTY_HEADERFOOTER:
image = ECoreImage.PROCESS_ICON;
break;
case CONTEXT:
case CONTEXT_GROUP:
// case JOBLET_CONTEXT:
image = ECoreImage.CONTEXT_ICON;
break;
case NODE_PROPERTY:
case NODE_SCHEMA:
case NODE_QUERY:
case NODE_SAP_IDOC:
case NODE_SAP_FUNCTION:
case NODE_VALIDATION_RULE:
case JOBLET_SCHEMA:
case JOBLET_RENAMED:
case JUNIT_RELOAD:
case RELOAD:
case MAP_PATH:
image = getImageFromNode(category.getNode());
break;
case JOB_PROPERTY_STORM:
case JOB_PROPERTY_MAPREDUCE:
for (ERepositoryObjectType etype : (ERepositoryObjectType[]) ERepositoryObjectType.values()) {
String alias = etype.getAlias();
if (alias != null && alias.equals("HC")) {
image = CoreImageProvider.getImage(etype);
}
}
break;
default:
}
} else {
// try to git image via type
image = UpdateManagerProviderDetector.INSTANCE.getDisplayImage(type, columnIndex);
}
}
} else if (element instanceof Item) {
Item item = (Item) element;
IUpdateItemType updateType = item.getResultObject().getUpdateType();
if (updateType instanceof EUpdateItemType) {
switch((EUpdateItemType) updateType) {
case NODE_QUERY:
image = ECoreImage.METADATA_QUERY_ICON;
break;
case NODE_SCHEMA:
case JOBLET_SCHEMA:
image = ECoreImage.METADATA_TABLE_ICON;
break;
case NODE_PROPERTY:
case NODE_VALIDATION_RULE:
case JOB_PROPERTY_EXTRA:
case JOB_PROPERTY_STATS_LOGS:
case JOB_PROPERTY_STORM:
case JOB_PROPERTY_MAPREDUCE:
ERepositoryObjectType type = RepositoryUpdateManager.getTypeFromSource(item.getRemark());
if (type != null) {
image = CoreImageProvider.getIcon(type);
}
case JOBLET_RENAMED:
case RELOAD:
// return ImageProvider.getImage(ECoreImage.TALEND_PICTO);
case CONTEXT:
case CONTEXT_GROUP:
// return ImageProvider.getImage(ECoreImage.CONTEXT_ICON);
default:
}
} else {
// try to git image via type
image = UpdateManagerProviderDetector.INSTANCE.getDisplayImage(updateType, columnIndex);
}
}
}
if (image != null) {
ECoreImage warnOverlay = ECoreImage.WARN_OVERLAY;
EPosition position = EPosition.BOTTOM_RIGHT;
if (image instanceof IImage) {
if (checkElementForUpdate(element)) {
return OverlayImageProvider.getImageForOverlay((IImage) image, warnOverlay, position);
}
return ImageProvider.getImage((IImage) image);
} else if (image instanceof Image) {
if (checkElementForUpdate(element)) {
return OverlayImageProvider.getImageForOverlay((Image) image, warnOverlay, position);
}
return (Image) image;
}
}
return null;
}
Aggregations