/** * Դ�������ƣ�ModifyColumnNullableCommand.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�ARES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.biz.stock.ui * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.jres.clearinghouse.command; import java.util.List; import com.hundsun.ares.studio.core.model.CoreFactory; import com.hundsun.ares.studio.core.model.RevisionHistory; import com.hundsun.ares.studio.jres.model.chouse.CTCNMDetail; import com.hundsun.ares.studio.jres.model.chouse.ChangeTableColumnNullableModifycation; import com.hundsun.ares.studio.jres.model.chouse.ChouseFactory; import com.hundsun.ares.studio.jres.model.chouse.IStock3Constant; import com.hundsun.ares.studio.jres.model.chouse.RevisionHistoryProperty; import com.hundsun.ares.studio.jres.model.chouse.util.StockUtils; import com.hundsun.ares.studio.jres.model.database.TableColumn; import com.hundsun.ares.studio.jres.model.database.TableResourceData; /** * @author sundl * */ public class ModifyColumnNullableCommand extends ColumnChangeCommand<CTCNMDetail>{ public ModifyColumnNullableCommand(TableResourceData tableData, List<CTCNMDetail> changes) { super(tableData, changes); } /* (non-Javadoc) * @see org.eclipse.emf.transaction.RecordingCommand#doExecute() */ @Override protected void doExecute() { for (CTCNMDetail change : changes) { TableColumn c = findColumn(change, tableData); c.setNullable(change.isNullable()); changedColumns.add(c); } RevisionHistory rh = CoreFactory.eINSTANCE.createRevisionHistory(); RevisionHistoryProperty p = ChouseFactory.eINSTANCE.createRevisionHistoryProperty(); ChangeTableColumnNullableModifycation action = ChouseFactory.eINSTANCE.createChangeTableColumnNullableModifycation(); action.getDetails().addAll(changes); p.setAction(action); rh.setModified(StockUtils.getModificationDescription(tableData, action)); rh.getData2().put(IStock3Constant.HISTORY_DATA2_KEY, p); tableData.getHistories().add(0, rh); } }