Rational Software Architect を使用して Java 成果物をモデル化し、生成しています。現時点では、変換を 1 つずつ手動で実行しています。
ここでの要件は、変換を自動化することです。複数の変換を一緒に実行し、エラーがあればログに記録したいということです。
以下のコードから変換を実行しようとしました。しかし、実行すると、次のエラーが表示されます。
現在のワークスペースに存在しない service.tc を読み込もうとしています。
IPath path = new Path("**D://RSA_NewWorkSpace//UML_MODEL_POC/service.tc**");
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
System.out.println("file >> "+file);
ITransformConfig config = TransformConfigUtil.loadConfiguration(file);
System.out.println("inside testExecute 3 config >> "+config);
IStatus status = TransformController.getInstance().execute(config, null, false, null);
System.out.println("status >> "+status);
エラー :
file >> L/RSA_NewWorkSpace/UML_MODEL_POC/service.tc
IOException >>java.io.FileNotFoundException: The transformation configuration file /RSA_NewWorkSpace/UML_MODEL_POC/service.tc does not exist. Verify the correct file path was specified.
(現在のワークスペースではなく) 他のワークスペースから変換ファイルを参照し、ロードして実行することはできますか?
D://RSA_NewWorkSpace//UML_MODEL_POC/service.tcから変換ファイルを読み込もうとしています。
以下は、ワークスペース外とSOPから変換ファイル(service.tc)をロードしようとしている最新のコードです
for.eg ワークスペースのディレクトリ構造
D:\RSA_NewWorkSpace\UML_MODEL_POC\ . 事業
D:\RSA_NewWorkSpace\UML_MODEL_POC\service.tc
config is nullを取得しています。config の値を取得する方法を教えてください。
public static void getsLink() {
try {
String projectName = "UML_MODEL_POC";
IProject project = getIProject(getWorkspaceFullPath() + IPath.SEPARATOR + projectName,projectName);
IFile linkFile = project.getFile("service.tc");
if(linkFile.exists())
linkFile.refreshLocal(1, null);
else {
createLink(project, linkFile);
}
**ITransformConfig config = TransformConfigUtil.loadConfiguration(linkFile);**
IStatus status = TransformController.getInstance().execute(config, null, false, null);
System.out.println("status >> "+status);
}
catch(Exception e) {
throw new WrappedException(e);
}
}
public static IProject getIProject(String projectFullPath, String projectName) {
IProjectDescription の説明。
try {
File projectFile = new File(projectFullPath + IPath.SEPARATOR + ".project");
if (projectFile.exists()) {
description = ResourcesPlugin.getWorkspace().loadProjectDescription(new Path(getWorkspaceFullPath() + IPath.SEPARATOR + projectName + IPath.SEPARATOR + ".project"));
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(description.getName());
return project;
}
} catch (CoreException e) {
MessageDialog.openError(null, "Project already exists", "Issue when trying to add project \"" + projectName + "\" to workspace.");
e.printStackTrace();
}
return null;
}
public static String getWorkspaceFullPath() {
return ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
}
SOP:
プロジェクト = P/UML_MODEL_POC
linkFile = L/UML_MODEL_POC/service.tc
構成 = ヌル
status = Status CANCEL: unknown code=1 null