package com.netifera.platform.tools; import com.netifera.platform.api.dispatcher.ProbeMessage; import com.netifera.platform.api.tools.IToolConfiguration; public class ToolLaunchMessage extends ProbeMessage { private static final long serialVersionUID = -6356480222400163080L; public final static String ID = "ToolLaunch"; String taskTitle; String className; IToolConfiguration configuration; long spaceId; long taskId; public ToolLaunchMessage(String className, IToolConfiguration configuration, long spaceId) { this(null, className, configuration, spaceId); } public ToolLaunchMessage(String taskTitle, String className, IToolConfiguration configuration, long spaceId) { super(ID); this.taskTitle = taskTitle; this.className = className; this.configuration = configuration; this.spaceId = spaceId; } public ToolLaunchMessage(String taskTitle, String className, IToolConfiguration configuration) { this(taskTitle, className, configuration, 0); } public ToolLaunchMessage(long taskId, int sequence) { super(ID); this.taskId = taskId; setSequenceNumber(sequence); markAsResponse(); } public ToolLaunchMessage createResponse(long taskId) { return new ToolLaunchMessage(taskId, getSequenceNumber()); } public long getTaskId() { return taskId; } public long getSpaceId() { return spaceId; } @Override public String toString() { if(isResponse()) { return super.toString() + " taskId = " + taskId; } else { return super.toString() + (taskTitle != null ? " task:\"" + taskTitle + "\", ": "") + " class:" + className + ", options:" + configuration.getOptions(); } } public IToolConfiguration getConfiguration() { return configuration; } public String getClassName() { return className; } public String getTaskTitle() { return taskTitle; } }