JUDE API を JRuby から使ってみる

以前から気になっていた UML モデリングツール JUDEAPI を使ってみた。

とりあえず、適当な .jude ファイルを作成して、その中のアクターとユースケース名を列挙する簡単なサンプルを JRuby で書いてみる。

もっとスマートな方法があるかもしれないが、とりあえずアクターとユースケースは以下のようにして判断した。

  • ステレオタイプに actor を持っていればアクターと判断
  • IUseCase インターフェースを実装していればユースケースと判断
require 'java'

module Jude
    include_package "com.change_vision.jude.api.inf.project"
    include_package "com.change_vision.jude.api.inf.model"
end

pro = Jude::ProjectAccessorFactory.projectAccessor

pro.open "test.jude"

pro.project.ownedElements.each do |oe|
    puts "actor : #{oe.name}" if oe.stereotypes.include?("actor")
    puts "usecase : #{oe.name}" if oe.java_kind_of? Jude::IUseCase
end

pro.close

CLASSPATHjude-api.jar と jude-community.jar を設定し jruby で実行

>set CLASSPATH=c:\jude_community\jude-api.jar;c:\jude_community\jude-community.jar;%CLASSPATH%
>jruby usecaselistup.rb

JUDE API は、けっこう簡単に使えるので活用方法はいろいろとありそう。