The evaluation directory (where the files are generated) is specified in the launch configuration. You can update the launch configuration using Java APIs:
public static void main(String[] args) throws CoreException { ... // Load a launch configuration File file = new File("c:\\deploy\\myLaunch.launch"); LaunchConfiguration configuration = manager.loadLaunchConfiguration(file); configuration.setEvaluationDirectory(new File("c:\\generated")); ... }
Let's now assume the launch configuration is defined to execute a rule, which owner ruleset expects an input UML model. You can override the actual model reader used to load this input UML model from Java code:
public static void main(String[] args) throws CoreException { ... // Load a launch configuration File file = new File("c:\\deploy\\myLaunch.launch"); LaunchConfiguration configuration = manager.loadLaunchConfiguration(file); // change the input model of the ruleset LaunchEntryPoint entryPoint = configuration.getEntryPoint(); LaunchModelArgument argument = (LaunchModelArgument) entryPoint.getArguments().get(0); argument.setConnectorName("XMI"); argument.setURI("c:\\deploy\\myModel.xmi"); ... }
You could also override other types of arguments: an output model, a String
parameter,
a Boolean
parameter, etc.
You can optionally save the changes in the launch configuration using the
save(File)
method:
... configuration.save(configuration.getFile()); ...