将gmf与xpand oaw集成

2020年5月6日 14点热度 0条评论

尝试将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()。希望这可以帮助 :)