Java コード スニペットを実行するメカニズムを提供する PLM Windchill ワークフローをカスタマイズしています。残念ながら、それらは準備されたサービスのメソッドに「挿入」されます。つまり、クラスをインポートする方法がないため、使用するには完全なパッケージ名を含める必要があります。以下のスニペットを理解しようとしないでください。どのように見えるかを見てください。
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;
}
}
私の質問は、このコードを読みやすくするにはどうすればよいですか? もちろん、メソッド内にクラスをインポートする方法はありません。このスニペットを個別のメソッドに分割する方法さえありません (1 つに「貼り付け」されるため)。他のアイデアを探しています。