Search in sources :

Example 1 with SuccessListOperation

use of com.marketo.mktows.SuccessListOperation in project components by Talend.

the class MarketoSOAPClientTest method getListOperation.

public SuccessListOperation getListOperation(boolean isSuccess, String status) {
    SuccessListOperation result = new SuccessListOperation();
    ResultListOperation rlo = new ResultListOperation();
    if (isSuccess) {
        rlo.setSuccess(true);
        ArrayOfLeadStatus aols = new ArrayOfLeadStatus();
        LeadStatus ls = new LeadStatus();
        LeadKey lk = new LeadKey();
        lk.setKeyType(LeadKeyRef.IDNUM);
        lk.setKeyValue("12345");
        ls.setLeadKey(lk);
        aols.getLeadStatuses().add(ls);
        rlo.setStatusList(objectFactory.createResultListOperationStatusList(aols));
        result.setResult(rlo);
    } else {
        rlo.setSuccess(false);
        rlo.setStatusList(objectFactory.createResultListOperationStatusList(null));
        result.setResult(rlo);
    }
    return result;
}
Also used : SuccessListOperation(com.marketo.mktows.SuccessListOperation) ResultListOperation(com.marketo.mktows.ResultListOperation) ArrayOfLeadStatus(com.marketo.mktows.ArrayOfLeadStatus) LeadKey(com.marketo.mktows.LeadKey) ArrayOfLeadStatus(com.marketo.mktows.ArrayOfLeadStatus) LeadStatus(com.marketo.mktows.LeadStatus)

Example 2 with SuccessListOperation

use of com.marketo.mktows.SuccessListOperation in project components by Talend.

the class MarketoSOAPClient method listOperation.

public MarketoSyncResult listOperation(ListOperationType operationType, ListOperationParameters parameters) {
    LOG.debug("listOperation : {}", parameters);
    ParamsListOperation paramsListOperation = new ParamsListOperation();
    paramsListOperation.setListOperation(operationType);
    paramsListOperation.setStrict(objectFactory.createParamsListOperationStrict(parameters.getStrict()));
    ListKey listKey = new ListKey();
    listKey.setKeyValue(parameters.getListKeyValue());
    listKey.setKeyType(ListKeyType.valueOf(parameters.getListKeyType()));
    paramsListOperation.setListKey(listKey);
    ArrayOfLeadKey leadKeys = new ArrayOfLeadKey();
    for (String lkv : parameters.getLeadKeyValues()) {
        LeadKey lk = new LeadKey();
        lk.setKeyType(valueOf(parameters.getLeadKeyType()));
        lk.setKeyValue(lkv);
        leadKeys.getLeadKeies().add(lk);
    }
    paramsListOperation.setListMemberList(leadKeys);
    MarketoSyncResult mkto = new MarketoSyncResult();
    mkto.setRequestId(SOAP + "::" + operationType.name());
    try {
        SuccessListOperation result = getPort().listOperation(paramsListOperation, header);
        if (LOG.isDebugEnabled()) {
            try {
                JAXBContext context = JAXBContext.newInstance(SuccessListOperation.class);
                Marshaller m = context.createMarshaller();
                m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
                m.marshal(result, System.out);
            } catch (JAXBException e) {
                LOG.error(e.getMessage());
            }
        }
        mkto.setSuccess(true);
        if (!result.getResult().getStatusList().isNil()) {
            mkto.setRecordCount(result.getResult().getStatusList().getValue().getLeadStatuses().size());
            List<LeadStatus> statuses = result.getResult().getStatusList().getValue().getLeadStatuses();
            List<SyncStatus> resultStatus = new ArrayList<>();
            for (LeadStatus status : statuses) {
                SyncStatus sts = new SyncStatus(Integer.parseInt(status.getLeadKey().getKeyValue()), String.valueOf(status.isStatus()));
                if (!status.isStatus() && !ISMEMBEROFLIST.equals(operationType)) {
                    Map<String, String> reason = new HashMap<>();
                    reason.put("code", "20103");
                    reason.put("message", "Lead Not Found");
                    sts.setReasons(Collections.singletonList(reason));
                }
                resultStatus.add(sts);
            }
            mkto.setRecords(resultStatus);
        } else {
            LOG.debug("No detail about successed operation, building one...");
            String success = String.valueOf(result.getResult().isSuccess());
            mkto.setRecordCount(parameters.getLeadKeyValue().size());
            for (String leadk : parameters.getLeadKeyValue()) {
                SyncStatus status = new SyncStatus(Integer.parseInt(leadk), success);
                mkto.getRecords().add(status);
            }
        }
    } catch (Exception e) {
        LOG.error("[{}] error: {}", operationType.name(), e.getMessage());
        mkto.setSuccess(false);
        mkto.setErrors(Collections.singletonList(new MarketoError(SOAP, e.toString())));
    }
    return mkto;
}
Also used : ArrayOfLeadKey(com.marketo.mktows.ArrayOfLeadKey) SuccessListOperation(com.marketo.mktows.SuccessListOperation) Marshaller(javax.xml.bind.Marshaller) HashMap(java.util.HashMap) JAXBException(javax.xml.bind.JAXBException) SyncStatus(org.talend.components.marketo.runtime.client.rest.type.SyncStatus) ArrayList(java.util.ArrayList) JAXBContext(javax.xml.bind.JAXBContext) ArrayOfString(com.marketo.mktows.ArrayOfString) DatatypeConfigurationException(javax.xml.datatype.DatatypeConfigurationException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) InvalidKeyException(java.security.InvalidKeyException) WebServiceException(javax.xml.ws.WebServiceException) MarketoException(org.talend.components.marketo.runtime.client.type.MarketoException) ParseException(java.text.ParseException) JAXBException(javax.xml.bind.JAXBException) ComponentException(org.talend.components.api.exception.ComponentException) MalformedURLException(java.net.MalformedURLException) MarketoSyncResult(org.talend.components.marketo.runtime.client.type.MarketoSyncResult) LeadStatus(com.marketo.mktows.LeadStatus) MarketoError(org.talend.components.marketo.runtime.client.type.MarketoError) ListKey(com.marketo.mktows.ListKey) ParamsListOperation(com.marketo.mktows.ParamsListOperation) LeadKey(com.marketo.mktows.LeadKey) ArrayOfLeadKey(com.marketo.mktows.ArrayOfLeadKey)

Aggregations

LeadKey (com.marketo.mktows.LeadKey)2 LeadStatus (com.marketo.mktows.LeadStatus)2 SuccessListOperation (com.marketo.mktows.SuccessListOperation)2 ArrayOfLeadKey (com.marketo.mktows.ArrayOfLeadKey)1 ArrayOfLeadStatus (com.marketo.mktows.ArrayOfLeadStatus)1 ArrayOfString (com.marketo.mktows.ArrayOfString)1 ListKey (com.marketo.mktows.ListKey)1 ParamsListOperation (com.marketo.mktows.ParamsListOperation)1 ResultListOperation (com.marketo.mktows.ResultListOperation)1 MalformedURLException (java.net.MalformedURLException)1 InvalidKeyException (java.security.InvalidKeyException)1 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 JAXBContext (javax.xml.bind.JAXBContext)1 JAXBException (javax.xml.bind.JAXBException)1 Marshaller (javax.xml.bind.Marshaller)1 DatatypeConfigurationException (javax.xml.datatype.DatatypeConfigurationException)1 WebServiceException (javax.xml.ws.WebServiceException)1