blob: 9453fb4247c8da259b8b81f6ed1d329c77bfb230 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007 IBM Corporation 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:
* IBM Corporation - Initial API and implementation
*******************************************************************************/
package org.eclipse.ptp.core.elements.attributes;
import org.eclipse.ptp.core.attributes.ArrayAttributeDefinition;
import org.eclipse.ptp.core.attributes.BooleanAttributeDefinition;
import org.eclipse.ptp.core.attributes.EnumeratedAttributeDefinition;
import org.eclipse.ptp.core.attributes.IAttributeDefinition;
import org.eclipse.ptp.core.attributes.IntegerAttributeDefinition;
import org.eclipse.ptp.core.attributes.StringAttributeDefinition;
import org.eclipse.ptp.core.messages.Messages;
/**
* Job attributes
*/
public class JobAttributes {
public enum State {
STARTING,
RUNNING,
SUSPENDED,
COMPLETED
}
public static final int IO_FORWARDING_NONE = 0x0;
public static final int IO_FORWARDING_STDIN = 0x01;
public static final int IO_FORWARDING_STDOUT = 0x02;
public static final int IO_FORWARDING_STDERR = 0x04;
private static final String DEBUG_ARGS_ATTR_ID = "debugArgs"; //$NON-NLS-1$
private static final String DEBUG_EXEC_NAME_ATTR_ID = "debugExecName"; //$NON-NLS-1$
private static final String DEBUG_EXEC_PATH_ATTR_ID = "debugExecPath"; //$NON-NLS-1$
private static final String DEBUG_FLAG_ATTR_ID = "debug"; //$NON-NLS-1$
private static final String DEBUG_STOP_IN_MAIN_ATTR_ID = "debugStopInMain"; //$NON-NLS-1$
private static final String DEBUGGER_ID_ATTR_ID = "debugerId"; //$NON-NLS-1$
private static final String ENV_ATTR_ID = "env"; //$NON-NLS-1$
private static final String EXEC_NAME_ATTR_ID = "execName"; //$NON-NLS-1$
private static final String EXEC_PATH_ATTR_ID = "execPath"; //$NON-NLS-1$
private static final String IO_FORWARDING_ATTR_ID = "ioForwarding"; //$NON-NLS-1$
private static final String LAUNCHED_BY_PTP_FLAG_ATTR_ID = "launchedByPTP"; //$NON-NLS-1$
private static final String JOB_ID_ATTR_ID = "jobId"; //$NON-NLS-1$
private static final String NUM_PROCS_ATTR_ID = "jobNumProcs"; //$NON-NLS-1$
private static final String PROG_ARGS_ATTR_ID = "progArgs"; //$NON-NLS-1$
private static final String QUEUEID_ATTR_ID = "queueId"; //$NON-NLS-1$
private static final String STATE_ATTR_ID = "jobState"; //$NON-NLS-1$
private static final String STATUS_ATTR_ID = "jobStatus"; //$NON-NLS-1$
private static final String STATUS_MESSAGE_ATTR_ID = "jobStatusMessage"; //$NON-NLS-1$
private static final String SUBID_ATTR_ID = "jobSubId"; //$NON-NLS-1$
private static final String USERID_ATTR_ID = "userId"; //$NON-NLS-1$
private static final String WORKING_DIR_ATTR_ID = "workingDir"; //$NON-NLS-1$
private final static ArrayAttributeDefinition<String> debugArgsAttrDef =
new ArrayAttributeDefinition<String>(DEBUG_ARGS_ATTR_ID, DEBUG_ARGS_ATTR_ID,
Messages.JobAttributes_0, false, null);
private final static StringAttributeDefinition debugExecNameAttrDef =
new StringAttributeDefinition(DEBUG_EXEC_NAME_ATTR_ID, "Debugger Executable Name", //$NON-NLS-1$
Messages.JobAttributes_1, false, ""); //$NON-NLS-1$
private final static StringAttributeDefinition debugExecPathAttrDef =
new StringAttributeDefinition(DEBUG_EXEC_PATH_ATTR_ID, "Debugger Executable Path", //$NON-NLS-1$
Messages.JobAttributes_2, false, ""); //$NON-NLS-1$
private final static BooleanAttributeDefinition debugFlagAttrDef =
new BooleanAttributeDefinition(DEBUG_FLAG_ATTR_ID, DEBUG_FLAG_ATTR_ID,
Messages.JobAttributes_3, false, false);
private final static BooleanAttributeDefinition debugStopInMainAttrDef =
new BooleanAttributeDefinition(DEBUG_STOP_IN_MAIN_ATTR_ID, "Stop In Main", //$NON-NLS-1$
Messages.JobAttributes_4, false, true);
private final static StringAttributeDefinition debuggerIdAttrDef =
new StringAttributeDefinition(DEBUGGER_ID_ATTR_ID, "Debugger ID", //$NON-NLS-1$
"ID of debugger", false, ""); //$NON-NLS-1$ //$NON-NLS-2$
private final static ArrayAttributeDefinition<String> envAttrDef =
new ArrayAttributeDefinition<String>(ENV_ATTR_ID, "Environment", //$NON-NLS-1$
Messages.JobAttributes_5, true, null);
private final static StringAttributeDefinition execNameAttrDef =
new StringAttributeDefinition(EXEC_NAME_ATTR_ID, "Executable Name", //$NON-NLS-1$
Messages.JobAttributes_6, true, ""); //$NON-NLS-1$
private final static StringAttributeDefinition execPathAttrDef =
new StringAttributeDefinition(EXEC_PATH_ATTR_ID, "Executable Path", //$NON-NLS-1$
Messages.JobAttributes_7, true, ""); //$NON-NLS-1$
private final static IntegerAttributeDefinition ioForwardingAttrDef =
new IntegerAttributeDefinition(IO_FORWARDING_ATTR_ID, "I/O Forwarding", //$NON-NLS-1$
Messages.JobAttributes_8, false, IO_FORWARDING_STDOUT);
private final static BooleanAttributeDefinition launchedByPTPFlagAttrDef =
new BooleanAttributeDefinition(LAUNCHED_BY_PTP_FLAG_ATTR_ID, "Launched By PTP", //$NON-NLS-1$
Messages.JobAttributes_9, false, false);
private final static StringAttributeDefinition jobIdAttrDef =
new StringAttributeDefinition(JOB_ID_ATTR_ID, "Job ID", //$NON-NLS-1$
Messages.JobAttributes_10, false, ""); //$NON-NLS-1$
private final static IntegerAttributeDefinition numProcsAttrDef =
new IntegerAttributeDefinition(NUM_PROCS_ATTR_ID, "Procs", //$NON-NLS-1$
Messages.JobAttributes_11, true, 1);
private final static ArrayAttributeDefinition<String> progArgsAttrDef =
new ArrayAttributeDefinition<String>(PROG_ARGS_ATTR_ID, "Arguments", //$NON-NLS-1$
Messages.JobAttributes_12, true, null);
private final static StringAttributeDefinition queueIdAttrDef =
new StringAttributeDefinition(QUEUEID_ATTR_ID, QUEUEID_ATTR_ID,
Messages.JobAttributes_13, false, ""); //$NON-NLS-1$
private final static EnumeratedAttributeDefinition<State> stateAttrDef =
new EnumeratedAttributeDefinition<State>(STATE_ATTR_ID, "State", Messages.JobAttributes_14, //$NON-NLS-1$
false, State.STARTING);
private final static StringAttributeDefinition statusAttrDef =
new StringAttributeDefinition(STATUS_ATTR_ID, "Status", Messages.JobAttributes_19, //$NON-NLS-1$
true, ""); //$NON-NLS-1$
private final static StringAttributeDefinition statusMessageAttrDef =
new StringAttributeDefinition(STATUS_MESSAGE_ATTR_ID, "Status Message", //$NON-NLS-1$
Messages.JobAttributes_18, true, ""); //$NON-NLS-1$
private final static StringAttributeDefinition subIdAttrDef =
new StringAttributeDefinition(SUBID_ATTR_ID, "Job Submission ID", //$NON-NLS-1$
Messages.JobAttributes_15, false, ""); //$NON-NLS-1$
private final static StringAttributeDefinition userIdAttrDef =
new StringAttributeDefinition(USERID_ATTR_ID, "User", //$NON-NLS-1$
Messages.JobAttributes_16, true, ""); //$NON-NLS-1$
private final static StringAttributeDefinition workingDirAttrDef =
new StringAttributeDefinition(WORKING_DIR_ATTR_ID, "Working Directory", //$NON-NLS-1$
Messages.JobAttributes_17, true, ""); //$NON-NLS-1$
public static BooleanAttributeDefinition getDebugFlagAttributeDefinition() {
return debugFlagAttrDef;
}
public static ArrayAttributeDefinition<String> getDebuggerArgumentsAttributeDefinition() {
return debugArgsAttrDef;
}
public static StringAttributeDefinition getDebuggerExecutableNameAttributeDefinition() {
return debugExecNameAttrDef;
}
public static StringAttributeDefinition getDebuggerExecutablePathAttributeDefinition() {
return debugExecPathAttrDef;
}
public static BooleanAttributeDefinition getDebuggerStopInMainFlagAttributeDefinition() {
return debugStopInMainAttrDef;
}
public static StringAttributeDefinition getDebuggerIdAttributeDefinition() {
return debuggerIdAttrDef;
}
public static IAttributeDefinition<?,?,?>[] getDefaultAttributeDefinitions() {
return new IAttributeDefinition[]{
debugArgsAttrDef,
debugExecNameAttrDef,
debugExecPathAttrDef,
debugFlagAttrDef,
debugStopInMainAttrDef,
debuggerIdAttrDef,
envAttrDef,
execNameAttrDef,
execPathAttrDef,
ioForwardingAttrDef,
jobIdAttrDef,
launchedByPTPFlagAttrDef,
numProcsAttrDef,
progArgsAttrDef,
queueIdAttrDef,
stateAttrDef,
statusAttrDef,
statusMessageAttrDef,
subIdAttrDef,
userIdAttrDef,
workingDirAttrDef,
};
}
public static ArrayAttributeDefinition<String> getEnvironmentAttributeDefinition() {
return envAttrDef;
}
public static StringAttributeDefinition getExecutableNameAttributeDefinition() {
return execNameAttrDef;
}
public static StringAttributeDefinition getExecutablePathAttributeDefinition() {
return execPathAttrDef;
}
public static BooleanAttributeDefinition getLaunchedByPTPFlagAttributeDefinition() {
return launchedByPTPFlagAttrDef;
}
public static IntegerAttributeDefinition getIOForwardingAttributeDefinition() {
return ioForwardingAttrDef;
}
public static StringAttributeDefinition getJobIdAttributeDefinition() {
return jobIdAttrDef;
}
public static IntegerAttributeDefinition getNumberOfProcessesAttributeDefinition() {
return numProcsAttrDef;
}
public static ArrayAttributeDefinition<String> getProgramArgumentsAttributeDefinition() {
return progArgsAttrDef;
}
public static StringAttributeDefinition getQueueIdAttributeDefinition() {
return queueIdAttrDef;
}
public static EnumeratedAttributeDefinition<State> getStateAttributeDefinition() {
return stateAttrDef;
}
public static StringAttributeDefinition getStatusAttributeDefinition() {
return statusAttrDef;
}
public static StringAttributeDefinition getStatusMessageAttributeDefinition() {
return statusMessageAttrDef;
}
public static StringAttributeDefinition getSubIdAttributeDefinition() {
return subIdAttrDef;
}
public static StringAttributeDefinition getUserIdAttributeDefinition() {
return userIdAttrDef;
}
public static StringAttributeDefinition getWorkingDirectoryAttributeDefinition() {
return workingDirAttrDef;
}
}