/*************************************************************************************
* Copyright (c) 2015 Red Hat, Inc. and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* JBoss by Red Hat - Initial implementation.
************************************************************************************/
package org.jboss.tools.batch.ui;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
import org.jboss.tools.batch.core.BatchArtifactType;
import org.jboss.tools.batch.core.BatchConstants;
import org.jboss.tools.batch.ui.editor.internal.model.Job;
import org.jboss.tools.common.ui.CommonUIImages;
/**
* Builds images for Sapphire model of Batch Job XML.
*
* @author Viacheslav Kabanovich
*
*/
public class JobImages {
public static final String ANALYZER_IMAGE = "partition.png"; //$NON-NLS-1$
public static final String BATCHLET_IMAGE = "batchlet.png"; //$NON-NLS-1$
public static final String CHECKPOINT_ALGORITHM_IMAGE = "checkpoint-algorithm.png"; //$NON-NLS-1$
public static final String COLLECTOR_IMAGE = "partition.png"; //$NON-NLS-1$
public static final String DECISION_IMAGE = "decision.png"; //$NON-NLS-1$
public static final String FLOW_IMAGE = "flow.png"; //$NON-NLS-1$
public static final String JOB_LISTENER_IMAGE = "listener.png"; //$NON-NLS-1$
public static final String JOB_IMAGE = "job.png"; //$NON-NLS-1$
public static final String MAPPER_IMAGE = "partition.png"; //$NON-NLS-1$
public static final String PROCESSOR_IMAGE = "processor.png"; //$NON-NLS-1$
public static final String PROPERTY_IMAGE = "property.png"; //$NON-NLS-1$
public static final String READER_IMAGE = "reader.png"; //$NON-NLS-1$
public static final String REDUCER_IMAGE = "partition.png"; //$NON-NLS-1$
public static final String STEP_LISTENER_IMAGE = "listener.png"; //$NON-NLS-1$
public static final String WRITER_IMAGE = "writer.png"; //$NON-NLS-1$
public static final String NEW_JOB_XML_IMAGE = "BatchXMLWizBan.png"; //$NON-NLS-1$
public static final String NEW_ARTIFACT_IMAGE = "BatchArtifactWizBan.png"; //$NON-NLS-1$
public static final String QUICKFIX_EDIT_IMAGE = "batch_edit.png"; //$NON-NLS-1$
private JobImages() {}
/**
* Returns image by short name. Works only for images placed with Sapphire model interface Job.
* @see Job
*
* @param key
* @return
*/
public static Image getImage(String key) {
return getImage(getImageDescriptor(key));
}
public static ImageDescriptor getImageDescriptor(String key) {
ImageDescriptor descriptor = getImageRegistry().getDescriptor(key);
if(descriptor == null) {
descriptor = ImageDescriptor.createFromFile(Job.class, key);
getImageRegistry().put(key, descriptor);
}
return descriptor;
}
static ImageRegistry getImageRegistry() {
return BatchUIPlugin.getDefault().getImageRegistry();
}
static Image getImage(ImageDescriptor descriptor) {
return CommonUIImages.getImage(descriptor);
}
/**
* Returns image by batch artifact type.
*
* @param element
* @return
*/
public static Image getImageByElement(BatchArtifactType element) {
return getImage(getImageDescriptorByElement(element));
}
/**
* Returns image descriptor by batch artifact type.
*
* @param element
* @return
*/
public static ImageDescriptor getImageDescriptorByElement(BatchArtifactType element) {
if(element == BatchArtifactType.BATCHLET) {
return getImageDescriptor(BATCHLET_IMAGE);
} else if(element == BatchArtifactType.CHECKPOINT_ALGORITHM) {
return getImageDescriptor(CHECKPOINT_ALGORITHM_IMAGE);
} else if(element == BatchArtifactType.DECIDER) {
return getImageDescriptor(DECISION_IMAGE);
} else if(element == BatchArtifactType.ITEM_READER) {
return getImageDescriptor(READER_IMAGE);
} else if(element == BatchArtifactType.ITEM_WRITER) {
return getImageDescriptor(WRITER_IMAGE);
} else if(element == BatchArtifactType.ITEM_PROCESSOR) {
return getImageDescriptor(PROCESSOR_IMAGE);
} else if(element == BatchArtifactType.PARTITION_MAPPER) {
return getImageDescriptor(MAPPER_IMAGE);
} else if(element == BatchArtifactType.PARTITION_COLLECTOR) {
return getImageDescriptor(COLLECTOR_IMAGE);
} else if(element == BatchArtifactType.PARTITION_ANALYZER) {
return getImageDescriptor(ANALYZER_IMAGE);
} else if(element == BatchArtifactType.PARTITION_REDUCER) {
return getImageDescriptor(REDUCER_IMAGE);
} else if(element == BatchArtifactType.JOB_LISTENER) {
return getImageDescriptor(JOB_LISTENER_IMAGE);
} else if(element.getTag().equals(BatchConstants.TAG_STEP)) {
return getImageDescriptor(STEP_LISTENER_IMAGE);
}
return null;
}
}