use of com.marketo.mktows.SuccessGetLeadActivity 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.SuccessGetLeadActivity in project components by Talend.
the class MarketoSOAPClient method getLeadActivity.
@Override
public MarketoRecordResult getLeadActivity(TMarketoInputProperties parameters, String offset) {
LOG.debug("MarketoSOAPClient.getLeadActivity with {}", parameters.leadKeyTypeSOAP.getValue());
Schema schema = parameters.schemaInput.schema.getValue();
Map<String, String> mappings = parameters.mappingInput.getNameMappingsForMarketo();
int bSize = parameters.batchSize.getValue();
String lkt = parameters.leadKeyTypeSOAP.getValue().toString();
String lkv = parameters.leadKeyValue.getValue();
//
// Create Request
//
LOG.info("LeadKeySelector - Key type: {} with value : {}.", lkt, lkv);
ParamsGetLeadActivity request = new ParamsGetLeadActivity();
LeadKey key = new LeadKey();
key.setKeyType(valueOf(lkt));
key.setKeyValue(lkv);
request.setLeadKey(key);
// attributes
ArrayOfString attributes = new ArrayOfString();
for (String s : mappings.values()) {
attributes.getStringItems().add(s);
}
// Activity filter
ActivityTypeFilter filter = new ActivityTypeFilter();
if (parameters.setIncludeTypes.getValue()) {
ArrayOfActivityType includes = new ArrayOfActivityType();
for (String a : parameters.includeTypes.type.getValue()) {
includes.getActivityTypes().add(fromValue(a));
}
filter.setIncludeTypes(includes);
}
if (parameters.setExcludeTypes.getValue()) {
ArrayOfActivityType excludes = new ArrayOfActivityType();
for (String a : parameters.excludeTypes.type.getValue()) {
excludes.getActivityTypes().add(fromValue(a));
}
filter.setExcludeTypes(excludes);
}
JAXBElement<ActivityTypeFilter> typeFilter = objectFactory.createParamsGetLeadActivityActivityFilter(filter);
request.setActivityFilter(typeFilter);
// batch size
JAXBElement<Integer> batchSize = objectFactory.createParamsGetMultipleLeadsBatchSize(bSize);
request.setBatchSize(batchSize);
// stream position
if (offset != null && !offset.isEmpty()) {
StreamPosition sposition = new StreamPosition();
sposition.setOffset(objectFactory.createStreamPositionOffset(offset));
JAXBElement<StreamPosition> position = objectFactory.createParamsGetLeadActivityStartPosition(sposition);
request.setStartPosition(position);
}
//
//
// Request execution
//
SuccessGetLeadActivity result = null;
MarketoRecordResult mkto = new MarketoRecordResult();
try {
result = getPort().getLeadActivity(request, header);
mkto.setSuccess(true);
} catch (Exception e) {
LOG.error("getLeadActivity error : {}.", e.getMessage());
mkto.setSuccess(false);
mkto.setRecordCount(0);
mkto.setRemainCount(0);
mkto.setErrors(Collections.singletonList(new MarketoError(SOAP, e.getMessage())));
return mkto;
}
if (result == null || result.getLeadActivityList().getReturnCount() == 0) {
LOG.debug(MESSAGE_REQUEST_RETURNED_0_MATCHING_LEADS);
mkto.setErrors(Collections.singletonList(new MarketoError(SOAP, MESSAGE_NO_LEADS_FOUND)));
return mkto;
}
String streamPos = result.getLeadActivityList().getNewStartPosition().getOffset().getValue();
int recordCount = result.getLeadActivityList().getReturnCount();
int remainCount = result.getLeadActivityList().getRemainingCount();
// Process results
List<IndexedRecord> results = convertLeadActivityRecords(result.getLeadActivityList().getActivityRecordList().getValue().getActivityRecords(), schema, mappings);
mkto.setRecordCount(recordCount);
mkto.setRemainCount(remainCount);
mkto.setStreamPosition(streamPos);
mkto.setRecords(results);
return mkto;
}
Aggregations