「UML 要素を置換する」オプションを選択して UML モデルを Java コードに変換すると、その UML モデル内のオブジェクトが、それぞれ対応する、生成された Java ファイルへのショートカットで置き換えられます。 「キャンセル」ボタンを使用すれば、操作を取り消せます。 ただし、そのとき「やり直し」ボタンをクリックすると、当該モデルは、それまでに生成された Java ファイルへのショートカットをすべて失います。 この問題を解決するには、「やり直し」ボタンを使用しないでください。 代わりに、UML から Java への変換をもう一度実行してください。
Java 要素の前に Javadoc コメントが 2 つあると、UML から Java への変換時にその Java 要素が更新されないことがあります。
例えば、Javadoc に @generated タグを含む Java 要素が変換時に生成された場合に、その Java 要素の前に別の Javadoc コメントがあると、変換の再適用時にその要素 (transformGenerated() など) は更新されません。
/**
* A commented user-created method
*/
// private void userCreated() {
// }
/**
* @generated "..."
*/
public void transformGenerated() {
}この問題を解決するには、Java 要素全体 (メソッド、フィールド、クラス、またはインターフェース定義全体) をコメント化し、その要素を (先行するコメントも含めて) Java ソース・ファイルの末尾にある最後の中括弧 (}) の前に移動します。 そうすると、元の例は次のようになります。
/**
* @generated "..."
*/
public void transformGenerated() {
}
... end of source file, before final brace ...
/**
* A commented user-created method
*/
// private void userCreated() {
// }
UML から Java への変換時に、もはやソース・モデルに指定されていない Java 要素がソース・コードから除去されることがあります。
例えば、変換の再適用時に、ソース・モデルに定義されていないメソッド (importantUserCreated() など) があると、そのメソッドが、Javadoc を含むコメント化されたコードとともに、ソース・コードから除去されます。
/**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }
private void importantUserCreated() {
}この問題を解決するには、Java 要素全体 (メソッド、フィールド、クラス、またはインターフェース定義全体) をコメント化し、その要素と先行するコメントを Java ソース・ファイルの末尾にある最後の中括弧 (}) の前に移動します。そうすると、元の例は次のようになります。
private void importantUserCreated() {
}
... end of source file, before final brace ...
/**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }