Skip to main content

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):



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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(sysoComm, paramsForCommand);



try {

handlerService.executeCommand(paramCommand, null);

} catch (Exception ee) {

ee.printStackTrace();

}


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



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
/**

* 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;

}



Thank you ...

Comments

Popular posts from this blog

Could not launch the product because the associated workspace is currently in use by another Eclipse application

If you are seeing following error at the beginning of the Eclipse or any RCP based product then here is the solution: Error Message: "Could not launch the product because the associated workspace is currently in use by another Eclipse application." or “Workspace in use or cannot be created chose a different one.” Solution :  go to workspace location remove file <workspace location>/.metadata/.lock Reason: Through eclipse, user can create multiple Workspace locations. One Workspace location can be edited by one user at a time. A workspace contains the data related to various project configuration and local file storage. To avoid multiple users to access the same workspace, eclipse is maintaining a ".lock" file inside the Workspace. Eclipse will remove this ".lock" file when you will close the Eclipse. But in some cases, the Eclipse will crash due to some error, due to which it could not able to remove ".lock" file from

HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException

HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException If you get following error while connecting to your Database with Spring boot, try the suggested solution below: 2018 - 11 - 25 15 : 28 : 50.078 INFO 5335 --- [ main] o. h . e . j . e . i . LobCreatorBuilderImpl : HHH000424: Disabling contextual LOB creation as createClob() method threw error : java. lang . reflect . InvocationTargetException java. lang . reflect . InvocationTargetException : null at sun. reflect . NativeMethodAccessorImpl . invoke0 (Native Method) ~[na: 1.8 . 0 _161] at sun. reflect . NativeMethodAccessorImpl . invoke (NativeMethodAccessorImpl. java : 62 ) ~[na: 1.8 . 0 _161] at sun. reflect . DelegatingMethodAccessorImpl . invoke (DelegatingMethodAccessorImpl. java : 43 ) ~[na: 1.8 . 0 _161] at java. lang . reflect . Method . invoke (Method. java : 498 ) ~[na: 1.8 . 0 _161] at org. hibernate . engin

Use these Eclipse RCP Testing tools before your code goes to LIVE

Use these Eclipse RCP Testing tools before your code goes to LIVE Testing is most important part of any software development lifecycle. There are different type of testing required before Eclipse RCP tool is released to productions. Eclipse RCP is very easy to test with the these testing tools: UI Testing: RCP Testing Tool RCP Testing Tool is a project for GUI testing automation of Eclipse-based applications. RCPTT is fully aware about Eclipse Platform's internals, hiding this complexity from end users and allowing QA engineers to create highly reliable UI tests at great pace. SWT Bot SWTBot is an open-source Java based UI/functional testing tool for testing SWT, Eclipse and GEF based applications.  SWTBot provides APIs that are simple to read and write. The APIs also hide the complexities involved with SWT and Eclipse. This makes it suitable for UI/functional testing by everyone, not just developers. SWTBot also provides its own set of ass