use of org.talend.core.model.update.IUpdateItemType 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;
}
use of org.talend.core.model.update.IUpdateItemType in project tdi-studio-se by Talend.
the class UpdateJunitNodeCommand method execute.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.commands.Command#execute()
*/
@Override
public void execute() {
Object job = result.getJob();
if (job == null) {
return;
}
if (job instanceof IProcess2) {
Item item = ((IProcess2) job).getProperty().getItem();
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister.getDefault().getService(ITestContainerProviderService.class);
if (testContainerService != null) {
boolean isTestContainer = testContainerService.isTestContainerItem(item);
if (!isTestContainer) {
return;
}
IUpdateItemType updateType = result.getUpdateType();
if (updateType instanceof EUpdateItemType) {
switch((EUpdateItemType) updateType) {
case JUNIT_RELOAD:
List<Node> junitsNodes = (List<Node>) result.getUpdateObject();
if (junitsNodes != null && !junitsNodes.isEmpty()) {
for (Node node : junitsNodes) {
testContainerService.reloadJunitsNodes(node);
}
}
default:
}
}
}
}
}
}
Aggregations