use of com.marketo.mktows.LeadChangeRecord in project components by Talend.
the class MarketoSOAPClient method convertLeadChangeRecords.
private List<IndexedRecord> convertLeadChangeRecords(List<LeadChangeRecord> value, Schema schema, Map<String, String> mappings) {
List<IndexedRecord> results = new ArrayList<>();
for (LeadChangeRecord input : value) {
IndexedRecord record = new Record(schema);
for (Field f : schema.getFields()) {
// find matching marketo column name
String col = mappings.get(f.name());
if (col == null) {
LOG.warn("[convertLeadChangeRecords] Couldn't find mapping for column {}.", f.name());
continue;
}
switch(col) {
case FIELD_ID:
record.put(f.pos(), input.getId().getValue());
break;
case FIELD_MARKETO_GUID:
record.put(f.pos(), input.getMarketoGUID());
break;
case FIELD_ACTIVITY_DATE_TIME:
record.put(f.pos(), input.getActivityDateTime() != null ? input.getActivityDateTime().toGregorianCalendar().getTimeInMillis() : null);
break;
case FIELD_ACTIVITY_TYPE:
record.put(f.pos(), input.getActivityType());
break;
case FIELD_MKTG_ASSET_NAME:
record.put(f.pos(), input.getMktgAssetName() != null ? input.getMktgAssetName().getValue() : null);
break;
case FIELD_MKT_PERSON_ID:
record.put(f.pos(), input.getMktPersonId());
break;
case FIELD_CAMPAIGN:
record.put(f.pos(), input.getCampaign());
break;
default:
if (!input.getActivityAttributes().isNil()) {
for (Attribute attr : input.getActivityAttributes().getValue().getAttributes()) {
if (attr.getAttrName().equals(col)) {
record.put(f.pos(), attr.getAttrValue());
}
}
}
}
}
results.add(record);
}
return results;
}
use of com.marketo.mktows.LeadChangeRecord in project components by Talend.
the class MarketoSOAPClientTest method getLeadChangeResult.
public SuccessGetLeadChanges getLeadChangeResult() {
SuccessGetLeadChanges result = new SuccessGetLeadChanges();
ResultGetLeadChanges res = new ResultGetLeadChanges();
res.setReturnCount(1);
res.setRemainingCount(0);
StreamPosition sp = new StreamPosition();
sp.setOffset(objectFactory.createStreamPositionOffset(""));
res.setNewStartPosition(sp);
//
ArrayOfLeadChangeRecord lcr = new ArrayOfLeadChangeRecord();
LeadChangeRecord lc = new LeadChangeRecord();
lc.setId(objectFactory.createLeadChangeRecordId(123456L));
lc.setMarketoGUID("ABC-123-DEF");
lc.setMktgAssetName(objectFactory.createLeadChangeRecordMktgAssetName("mktgAssetName"));
lc.setActivityDateTime(factory.newXMLGregorianCalendar(gcDateTest));
lc.setActivityType("activityType");
lc.setCampaign("campaign");
lc.setMktPersonId("mktPersonId");
ArrayOfAttribute aoa = objectFactory.createArrayOfAttribute();
Attribute attr = new Attribute();
attr.setAttrName("attrName");
attr.setAttrValue("attrValue");
aoa.getAttributes().add(attr);
lc.setActivityAttributes(objectFactory.createActivityRecordActivityAttributes(aoa));
lcr.getLeadChangeRecords().add(lc);
//
res.setLeadChangeRecordList(objectFactory.createResultGetLeadChangesLeadChangeRecordList(lcr));
result.setResult(res);
return result;
}
Aggregations