2016-09-15 23 views
1

以下のような単純なドメインモデルを持つApache Isisプロジェクトがある場合、新規作成時に使用可能なすべてのオフィスのドロップダウン選択を表示する作成ダイアログの絶対最小要件は何ですか?人?Apache Isis:参照されたオブジェクトのドロップダウンでダイアログを作成

現在の状態:オフィスオブジェクトを作成してすべてのオフィスオブジェクトを一覧表示できますが、作成するときは作成可能なオフィスのドロップダウンは表示されず、「(なし)」と表示されます。 (スクリーンショットを参照)。

は、現在の人のための対話を作成し、私は次のようになります。

Person create dialog

は、どのように私はこの会話で使用可能なすべての事務所のドロップダウンを表示することができますか?ここで

は(JDO注釈は省略)私が持っているDOMコードのラフなレイアウトです:

あなたがサポートする選択肢を使用することができます
public class Office { 
    private String name; 
    // getter/setter ... 
} 

public class Person { 
    private String name; 
    private Office office; 
    // getter/setter... 
} 

と、このような

public class OfficeRepository { 
    public List<Office> listAll() { 
     // ... 
    } 
} 

public class PersonRepository { 
    public Person create(String name, final Office office) { 
     // ... 
    } 
} 

public class PersonMenu { 
    public static class CreateDomainEvent extends ActionDomainEvent<Person> {}  
    @Action(domainEvent = CreateDomainEvent.class)   
    public Person create(
     @ParameterLayout(named="Name") 
     final String name, 
     final Office office) { 
     return personRepository.create(name, office); 
    }  
} 

答えて

1

として対応するメニュー/リポジトリのクラスメソッド、autoCompleteをサポートするメソッド、または参照されるクラスに@DomainObject(bounded = true)というアノテーションを付けます。後者は、限定された(すなわち限定された)数のインスタンスを有する参照データオブジェクトに最適である。

例:

public List<Office> choices1Create() 
    return officerRepository.findAll(); 
} 

は(リンク)は、さらにdetaliのためにこれらのapache isis docsを参照してください。

その他のご質問がある場合は、apache.isis mailing listにお申し込みいただくことをおすすめします。

thx dan

+0

Thx Dan。以前はドキュメントを調べてみましたが、ドキュメントのこの部分は空で、「TODO」としか書かれていません。 – mwhs

+0

ドキュメント...よく、リファレンスガイドの関連部分へのリンクを持っているため、それらは空ではありません。しかし、一見してそこに情報がないように見えることは認めています。 Re:コードスニペットが修正されました(私の悪い)。 –

+0

ダンを明確にしてくれてありがとう。サイドノートでは、実際にJavaコードから構築されたisisメタモデルのリファレンスですか?私は[プロジェクトアイデア](https://cwiki.apache.org/confluence/display/ISIS/ProjectIdeasForStudents)を読んでいましたが、プログラミングモデルについて語っていましたが、メタモデル自体のドキュメントを見つけることができませんでした。ちょうどあなたがどこかで私を指すことができれば興味がある、コード内の場所。 – mwhs

関連する問題