私は、Javaコードスニペットを実行するメカニズムを提供するPLM Windchill Workflowをカスタマイズしています。残念ながら、彼らはをインポートする方法がないので、があるので、には完全なパッケージ名が含まれていることを意味する、準備されたサービスのメソッドに '挿入'されます。 - どのようにこのコードは、任意のより読みやすくするためにメソッドのクラスをインポートしますか?
wt.fc.QueryResult activities = wt.fc.PersistenceHelper.manager.find((wt.pds.StatementSpec) activitiesQuery);
while (activities.hasMoreElements()) {
wt.workflow.work.WfAssignedActivity activity = (wt.workflow.work.WfAssignedActivity) activities.nextElement();
if(activity.getDisplayIdentifier().toString().equals("Analyze Image Request")){
java.util.List<wt.workflow.work.WorkItem> workItems = wt.workflow.status.WfWorkflowStatusHelper.service.getWorkItems(activity);
for (wt.workflow.work.WorkItem workItem : workItems){
String action = workItem.getActionPerformed();
if(action != null && action.equals("Accepted")){
wt.org.WTPrincipalReference approver = workItem.getOwnership().getOwner();
n_approver = approver.getFullName() + " ("+approver.getDisplayName()+")";
wt.fc.collections.WTHashSet approverSet = new wt.fc.collections.WTHashSet(java.util.Arrays.asList(approver));
wt.project.Role role = wt.project.Role.toRole("APPROVER");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setChangeItemParticipants(report, role, approverSet);
break;
}
}
break;
}
}
そして、私の質問は次のとおりです。ただ、それがどのように見えるんどのように見て、以下のスニペットを理解しようとしないのですか?もちろん、メソッド内でクラスをインポートする方法はありません。このスニペットを別々のメソッド(「貼り付け」)に分割する方法はありません。他のアイデアを探しています。
カスタムクラスにコードを記述して呼び出しますか? – Andreas
@アンドレアス私は分離したクラスにいくつかのコードを抽出して呼び出すことができますが、このスニペットには多くのロジックを残さなければならないので、非常に良い選択ですが、依然として私の主な問題は解決しません。ありがとう。 – Damiano