Thursday, 22 June 2017

Command Parameter RCP (Eclipse RCP)

Command Parameter RCP (Eclipse RCP)

Open MANIFEST.MF file and right click on the Command and select "commandParameter" from "New".

After creating "commandParameter", enter the details, like "id", "name" and make optional as "false".




After adding the parameter in the command, in View (or Editor) at the time of calling the command set the parameter. Refer the following code to set the parameter at the time of execution.

Code in View (or Editor):


ICommandService commandService = (ICommandService) getSite().getService(ICommandService.class);
IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);

// Enter the ID of the Command as the argument to getCommand() method in next line.
Command sysoComm = commandService.getCommand("ResumeParser.commands.sampleCommand");

HashMap<String, String> paramsForCommand = new HashMap<String, String>();
// Enter the Command Parameter id as the Key in the following line.
paramsForCommand.put("ResumeParser.commandParameter2"text.getText());

ParameterizedCommand paramCommand = ParameterizedCommand.generateCommand(sysoCommparamsForCommand);

try {
handlerService.executeCommand(paramCommandnull);
catch (Exception ee) {
ee.printStackTrace();
}


Following is the code of execute() method of the Handler (AbstractHandler) class.


/**
* the command has been executed, so extract extract the needed information
* from the application context.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
        // Provide the id of the "Command Parameter" as the argument of the getParameter method.
String commandValue = event.getParameter("ResumeParser.commandParameter2");
System.out.println(commandValue);
return null;

}