|
|
|
@ -3,40 +3,55 @@ import org.eclipse.core.commands.AbstractHandler;
|
|
|
|
|
import org.eclipse.core.commands.ExecutionEvent;
|
|
|
|
|
import org.eclipse.core.commands.ExecutionException;
|
|
|
|
|
|
|
|
|
|
import com.connor.chint.sap2.util.ChintPreferenceUtil;
|
|
|
|
|
import com.teamcenter.rac.aif.AbstractAIFApplication;
|
|
|
|
|
import com.teamcenter.rac.aifrcp.AIFUtility;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponent;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponentFolder;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponentItem;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponentItemRevision;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCSession;
|
|
|
|
|
import com.teamcenter.rac.util.MessageBox;
|
|
|
|
|
|
|
|
|
|
public class TXDPHandler extends AbstractHandler {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object execute(ExecutionEvent arg0) throws ExecutionException {
|
|
|
|
|
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
|
|
|
|
|
TCSession session = (TCSession) app.getSession();
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String type = ChintPreferenceUtil.getPreference("CHINT_IRON_TYPE", session);
|
|
|
|
|
if(type == null || type.isEmpty()) {
|
|
|
|
|
MessageBox.post("首选项CHINT_IRON_TYPE配置不正确", "提示", MessageBox.WARNING);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
TCComponent target = (TCComponent) app.getTargetComponent();
|
|
|
|
|
if(target instanceof TCComponentItem && !target.isTypeOf(type)) {
|
|
|
|
|
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
|
|
|
|
|
return null;
|
|
|
|
|
}else if(target instanceof TCComponentItemRevision
|
|
|
|
|
&& !((TCComponentItemRevision)target).getItem().isTypeOf(type)) {
|
|
|
|
|
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
|
|
|
|
|
return null;
|
|
|
|
|
}else if(!(target instanceof TCComponentFolder)) {
|
|
|
|
|
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
new Thread() {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
new TXDPFram(session);
|
|
|
|
|
new TXDPFram(session, target, type);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// TODO Auto-generated catch block
|
|
|
|
|
// Auto-generated catch block
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}.start();
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// TODO: handle exception
|
|
|
|
|
// : handle exception
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|