use of com.marketo.mktows.ArrayOfAttribute in project components by Talend.
the class MarketoSOAPClientTest method getLeadActivityResult.
public SuccessGetLeadActivity getLeadActivityResult() throws Exception {
SuccessGetLeadActivity result = new SuccessGetLeadActivity();
LeadActivityList res = new LeadActivityList();
res.setReturnCount(1);
res.setRemainingCount(0);
StreamPosition sp = new StreamPosition();
sp.setOffset(objectFactory.createStreamPositionOffset(""));
res.setNewStartPosition(sp);
ArrayOfActivityRecord arecords = new ArrayOfActivityRecord();
//
ActivityRecord ar = new ActivityRecord();
ar.setId(objectFactory.createActivityRecordId(123456L));
ar.setMarketoGUID("ABC-123-DEF");
ar.setMktgAssetName("mktgAssetName");
ar.setActivityDateTime(factory.newXMLGregorianCalendar(gcDateTest));
ar.setActivityType("activityType");
ar.setCampaign(objectFactory.createActivityRecordCampaign("campaign"));
ar.setForeignSysId(objectFactory.createActivityRecordForeignSysId("foreignSysId"));
ar.setForeignSysOrgId(objectFactory.createActivityRecordForeignSysOrgId("foreignSysOrgId"));
ar.setMktPersonId("mktPersonId");
ar.setPersonName(objectFactory.createActivityRecordPersonName("personName"));
ar.setOrgName(objectFactory.createActivityRecordOrgName("orgName"));
ArrayOfAttribute aoa = objectFactory.createArrayOfAttribute();
Attribute attr = new Attribute();
attr.setAttrName("attrName");
attr.setAttrValue("attrValue");
aoa.getAttributes().add(attr);
ar.setActivityAttributes(objectFactory.createActivityRecordActivityAttributes(aoa));
//
arecords.getActivityRecords().add(ar);
res.setActivityRecordList(objectFactory.createLeadActivityListActivityRecordList(arecords));
result.setLeadActivityList(res);
return result;
}
use of com.marketo.mktows.ArrayOfAttribute in project components by Talend.
the class MarketoSOAPClient method convertToLeadRecord.
/*
*
* SyncLeads operations
*
*/
public LeadRecord convertToLeadRecord(IndexedRecord record, Map<String, String> mappings) throws MarketoException {
// first, check if a mandatory field is in the schema
Boolean ok = Boolean.FALSE;
for (Entry<String, String> e : mappings.entrySet()) {
ok |= (e.getKey().equals(FIELD_ID) || e.getKey().equals(FIELD_EMAIL) || e.getKey().equals(FIELD_FOREIGN_SYS_PERSON_ID) || e.getValue().equals(FIELD_ID) || e.getValue().equals(FIELD_EMAIL) || e.getValue().equals(FIELD_FOREIGN_SYS_PERSON_ID)) && record.get(record.getSchema().getField(e.getKey()).pos()) != null;
}
if (!ok) {
MarketoException err = new MarketoException("SOAP", "syncLead error: Missing mandatory field for operation.");
LOG.error(err.toString());
throw err;
}
//
LeadRecord lead = new LeadRecord();
ArrayOfAttribute aoa = new ArrayOfAttribute();
for (Field f : record.getSchema().getFields()) {
// find matching marketo column name
String col = mappings.get(f.name());
if (col.equals(FIELD_ID)) {
final Integer id = (Integer) record.get(f.pos());
if (id != null) {
lead.setId(objectFactory.createLeadRecordId(id));
}
} else if (col.equals(FIELD_EMAIL)) {
final String email = (String) record.get(f.pos());
if (email != null) {
lead.setEmail(objectFactory.createLeadRecordEmail(email));
}
} else if (col.equals(FIELD_FOREIGN_SYS_PERSON_ID)) {
final String fspid = (String) record.get(f.pos());
if (fspid != null) {
lead.setForeignSysPersonId(objectFactory.createLeadRecordForeignSysPersonId(fspid));
}
} else if (col.equals(FIELD_FOREIGN_SYS_TYPE)) {
final String fst = (String) record.get(f.pos());
if (fst != null) {
lead.setForeignSysType(objectFactory.createLeadRecordForeignSysType(ForeignSysType.valueOf(fst)));
}
} else {
// skip status & error fields
if (FIELD_STATUS.equals(col) || FIELD_ERROR_MSG.equals(col)) {
continue;
}
Attribute attr = new Attribute();
Object value = record.get(f.pos());
attr.setAttrName(col);
if (MarketoClientUtils.isDateTypeField(f) && value != null) {
attr.setAttrValue(MarketoClientUtils.formatLongToDateString(Long.valueOf(String.valueOf(value))));
} else {
attr.setAttrValue(String.valueOf(value));
}
aoa.getAttributes().add(attr);
}
}
QName qname = new QName("http://www.marketo.com/mktows/", "leadAttributeList");
JAXBElement<ArrayOfAttribute> attrList = new JAXBElement(qname, ArrayOfAttribute.class, aoa);
lead.setLeadAttributeList(attrList);
return lead;
}
use of com.marketo.mktows.ArrayOfAttribute in project components by Talend.
the class MarketoSOAPClientTest method getGetLeadResult.
public SuccessGetLead getGetLeadResult() {
SuccessGetLead result = new SuccessGetLead();
ResultGetLead res = new ResultGetLead();
res.setCount(1);
ArrayOfLeadRecord leadrecords = new ArrayOfLeadRecord();
LeadRecord r = new LeadRecord();
r.setId(objectFactory.createLeadRecordId(12345));
r.setEmail(objectFactory.createLeadRecordEmail("email@email.com"));
r.setForeignSysPersonId(objectFactory.createLeadRecordForeignSysPersonId("foreignSysPersonId"));
r.setForeignSysType(objectFactory.createLeadRecordForeignSysType(ForeignSysType.SFDC));
ArrayOfAttribute aoa = objectFactory.createArrayOfAttribute();
Attribute attr = new Attribute();
attr.setAttrName("attrName");
attr.setAttrValue("attrValue");
aoa.getAttributes().add(attr);
r.setLeadAttributeList(objectFactory.createActivityRecordActivityAttributes(aoa));
leadrecords.getLeadRecords().add(r);
QName qname = new QName("http://www.marketo.com/mktows/", "leadAttributeList");
JAXBElement<ArrayOfLeadRecord> attrList = new JAXBElement(qname, LeadRecord.class, leadrecords);
res.setLeadRecordList(attrList);
result.setResult(res);
return result;
}
use of com.marketo.mktows.ArrayOfAttribute 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