/** * Adds a SyncOp record to the list of constituent SyncOp records. * * @param syncOp */ public void addSyncOp(SyncOp syncOp) { // If this is the first SyncItem being added, initialize fixed fields. if (this.syncOpList.isEmpty()) { // Init fields. this.deviceId = syncOp.getDeviceId(); this.syncTransactionId = syncOp.getSyncTransactionId(); } // ADD the column name/value pair to the dictionary. this.syncOpList.add(syncOp); }
/** * SYNC transaction xml * * @param xmlSerializer * @param syncTransaction */ public static void toXmlWriter(XmlSerializer xmlSerializer, SyncTransaction syncTransaction) throws IOException, EwpException { // Start Root tag xmlSerializer.startTag("", "SyncTransaction"); xmlSerializer.startTag("", "SyncTransactionId"); xmlSerializer.text(syncTransaction.syncTransactionId); xmlSerializer.endTag("", "SyncTransactionId"); SyncOp.listToXmlWriter(syncTransaction.syncOpList, xmlSerializer); xmlSerializer.endTag("", "SyncTransaction"); }
/** * parse the multiple SyncTransaction objects * * @param object * @return * @throws EwpException */ public static List<SyncTransaction> parseXML(XmlPullParser object) throws EwpException { try { List<SyncTransaction> syncTransactions = new ArrayList<SyncTransaction>(); int event = object.getEventType(); String text = null; SyncTransaction syncTransaction = null; SyncOp syncOp = null; while (event != XmlPullParser.END_DOCUMENT) { String name = object.getName(); switch (event) { case XmlPullParser.START_TAG: if ("SyncTransaction".equals(name)) { syncTransaction = new SyncTransaction(); syncTransactions.add(syncTransaction); } if ("SyncOp".equals(name)) { syncOp = new SyncOp(); syncTransaction.syncOpList.add(syncOp); } break; case XmlPullParser.TEXT: text = object.getText(); break; case XmlPullParser.END_TAG: if ("SyncTransactionId".equals(name)) { syncTransaction.syncTransactionId = text; } else if ("RowNumber".equals(name)) { syncTransaction.syncRowNumber = Integer.parseInt(text); } else if ("DeviceId".equals(name)) { syncOp.setDeviceId(text); } else if ("TableName".equals(name)) { syncOp.setTableName(text); } else if ("PKName".equals(name)) { syncOp.setPkName(text); } else if ("OpType".equals(name)) { syncOp.setOpType(text); } else if ("ColumnValue".equals(name)) { syncOp .getColumnValues() .put( object.getAttributeValue(null, "Name"), object.getAttributeValue(null, "Value")); } else if ("SyncTransactionId".equals(name)) { syncOp.setSyncTransactionId(text); } else if ("CreatedTime".equals(name)) { syncOp.setCreatedTime(Utils.dateFromString(text, true, true)); } break; default: break; } event = object.next(); } return syncTransactions; } catch (XmlPullParserException e) { EwpException ex = new EwpException(e); throw ex; } catch (IOException e) { EwpException ex = new EwpException(e); throw ex; } }