/**
* @version $Id: DeleteClaimDataAction.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2012/01/12 17:44:46
* @author kousuke-morishima
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.ui.views.db.action;
import java.util.List;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.action.Action;
import com.tida_okinawa.corona.internal.ui.actions.CoronaElementDeleteOperation;
import com.tida_okinawa.corona.internal.ui.views.model.IUIElement;
import com.tida_okinawa.corona.internal.ui.views.model.impl.CoronaModel;
import com.tida_okinawa.corona.io.IoActivator;
import com.tida_okinawa.corona.io.model.IClaimData;
import com.tida_okinawa.corona.ui.UIActivator;
/**
* @author kousuke-morishima
*/
public class DeleteClaimDataAction extends Action {
public DeleteClaimDataAction() {
}
private IClaimData claim = null;
public void setClaimData(IClaimData claim) {
this.claim = claim;
}
@Override
public void run() {
List<IUIElement> uiElements = CoronaModel.INSTANCE.adapter(claim);
/* ローカルファイルシステムから削除 */
CoronaElementDeleteOperation op = new CoronaElementDeleteOperation(uiElements.toArray(new IUIElement[uiElements.size()]), "");
try {
op.execute(null, null);
} catch (ExecutionException e) {
e.printStackTrace();
}
/* DBから問い合わせデータを削除 */
if (IoActivator.getService().removeClaimData(claim.getId())) {
result = Status.OK_STATUS;
} else {
result = new Status(IStatus.ERROR, UIActivator.PLUGIN_ID, claim.getTableName() + "の削除に失敗しました");
}
}
private IStatus result;
public IStatus getResult() {
return result;
}
}