}
@SuppressWarnings("unchecked")
@Override
public void execute() throws TranslatorException {
UpdateVisitor visitor = new UpdateVisitor(getMetadata());
visitor.visit((Update)command);
String[] Ids = getIDs(((Update)command).getWhere(), visitor);
if (null != Ids && Ids.length > 0) {
List<JAXBElement> elements = new ArrayList<JAXBElement>();
for (SetClause clause : ((Update)command).getChanges()) {
ColumnReference element = clause.getSymbol();
Column column = element.getMetadataObject();
String val = ((Literal) clause.getValue()).toString();
JAXBElement messageElem = new JAXBElement(new QName(column.getNameInSource()), stringClazz, Util.stripQutes(val));
elements.add(messageElem);
}
List<DataPayload> updateDataList = new ArrayList<DataPayload>();
for (int i = 0; i < Ids.length; i++) {
DataPayload data = new DataPayload();
data.setType(visitor.getTableName());
data.setID(Ids[i]);
data.setMessageElements(elements);
updateDataList.add(data);
}