尝试将gmf与xpand集成。
我创建了一个菜单,并使用gmf清单文件中的扩展名命令。并试图调用xpand生成器。
该命令的代码如下所示
public class customCommand extends AbstractHandler implements IHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
// TODO Auto-generated method stub
Shell s=HandlerUtil.getActiveShell(event);
MessageBox mb=new MessageBox(s,SWT.None);
WorkflowRunner runner = new WorkflowRunner();
Bundle bundle=Platform.getBundle("MistScriptGenerator");
URL wfUrl = bundle.getEntry("src/workflow/generator.oaw");
String wfFile = "";
try {
wfFile = FileLocator.toFileURL(wfUrl).getFile();
mb.setMessage(wfFile);
mb.open();
Map<String, String> properties = new HashMap<String, String>();
//properties.put("model", $diagramFile$.getLocation().toOSString());
properties=null;
boolean isSuccess = runner.run(wfFile,new org.openarchitectureware.workflow.monitor.NullProgressMonito r(), properties, null);
}
catch (Exception e)
{
}
return null;
}
}
我已经能够成功获取工作流程的路径。
现在,在调用工作流程时,我必须将gmf图文件输入到工作流程中。但是,如何提供文件的路径?
我通过打开另一个工作台来执行我的gmf图:
但是,现在,我如何获取gmf图文件的路径?
我已经在工作流程中注册了epackage。
您能指导我该项目的截止日期很快吗?
最佳答案
IAML project使用openArchitectureWare XPand来实现代码生成。作为如何将两者连接在一起的示例,您可以签出GenerateCodeAction的源代码-相关方法是doExecute()
。希望这可以帮助 :)