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を登録しました。

プロジェクトの締め切りはもうすぐです。

4

1 に答える 1

1

IAMLプロジェクトは、openArchitectureWareXPandを使用してコード生成を実装します。2つを接続する方法の例として、 GenerateCodeActionのソースコードを確認できます。関連するメソッドはdoExecute()です。お役に立てれば :)

于 2011-03-17T04:36:12.037 に答える