Search in sources :

Example 1 with InvalidIdFault

use of com.sforce.soap.partner.fault.InvalidIdFault in project teiid by teiid.

the class SalesforceConnectionImpl method create.

public int create(DataPayload data) throws ResourceException {
    SObject toCreate = new SObject();
    toCreate.setType(data.getType());
    for (DataPayload.Field field : data.getMessageElements()) {
        toCreate.addField(field.name, field.value);
    }
    SObject[] objects = new SObject[] { toCreate };
    SaveResult[] result;
    try {
        result = partnerConnection.create(objects);
    } catch (InvalidFieldFault e) {
        throw new ResourceException(e);
    } catch (InvalidSObjectFault e) {
        throw new ResourceException(e);
    } catch (InvalidIdFault e) {
        throw new ResourceException(e);
    } catch (UnexpectedErrorFault e) {
        throw new ResourceException(e);
    } catch (ConnectionException e) {
        throw new ResourceException(e);
    }
    return analyzeResult(result);
}
Also used : InvalidFieldFault(com.sforce.soap.partner.fault.InvalidFieldFault) InvalidSObjectFault(com.sforce.soap.partner.fault.InvalidSObjectFault) SObject(com.sforce.soap.partner.sobject.SObject) DataPayload(org.teiid.translator.salesforce.execution.DataPayload) ResourceException(javax.resource.ResourceException) UnexpectedErrorFault(com.sforce.soap.partner.fault.UnexpectedErrorFault) InvalidIdFault(com.sforce.soap.partner.fault.InvalidIdFault) ConnectionException(com.sforce.ws.ConnectionException)

Example 2 with InvalidIdFault

use of com.sforce.soap.partner.fault.InvalidIdFault in project teiid by teiid.

the class SalesforceConnectionImpl method update.

public int update(List<DataPayload> updateDataList) throws ResourceException {
    List<SObject> params = new ArrayList<SObject>(updateDataList.size());
    for (int i = 0; i < updateDataList.size(); i++) {
        DataPayload data = updateDataList.get(i);
        SObject toCreate = new SObject();
        toCreate.setType(data.getType());
        toCreate.setId(data.getID());
        for (DataPayload.Field field : data.getMessageElements()) {
            toCreate.addField(field.name, field.value);
        }
        params.add(i, toCreate);
    }
    SaveResult[] result;
    try {
        result = partnerConnection.update(params.toArray(new SObject[params.size()]));
    } catch (InvalidFieldFault e) {
        throw new ResourceException(e);
    } catch (InvalidSObjectFault e) {
        throw new ResourceException(e);
    } catch (InvalidIdFault e) {
        throw new ResourceException(e);
    } catch (UnexpectedErrorFault e) {
        throw new ResourceException(e);
    } catch (ConnectionException e) {
        throw new ResourceException(e);
    }
    return analyzeResult(result);
}
Also used : InvalidSObjectFault(com.sforce.soap.partner.fault.InvalidSObjectFault) ArrayList(java.util.ArrayList) UnexpectedErrorFault(com.sforce.soap.partner.fault.UnexpectedErrorFault) InvalidFieldFault(com.sforce.soap.partner.fault.InvalidFieldFault) SObject(com.sforce.soap.partner.sobject.SObject) DataPayload(org.teiid.translator.salesforce.execution.DataPayload) ResourceException(javax.resource.ResourceException) InvalidIdFault(com.sforce.soap.partner.fault.InvalidIdFault) ConnectionException(com.sforce.ws.ConnectionException)

Example 3 with InvalidIdFault

use of com.sforce.soap.partner.fault.InvalidIdFault in project teiid by teiid.

the class SalesforceConnectionImpl method upsert.

public int upsert(DataPayload data) throws ResourceException {
    SObject toCreate = new SObject();
    toCreate.setType(data.getType());
    for (DataPayload.Field field : data.getMessageElements()) {
        toCreate.addField(field.name, field.value);
    }
    SObject[] objects = new SObject[] { toCreate };
    UpsertResult[] results;
    try {
        results = partnerConnection.upsert(ID_FIELD_NAME, objects);
    } catch (InvalidFieldFault e) {
        throw new ResourceException(e);
    } catch (InvalidSObjectFault e) {
        throw new ResourceException(e);
    } catch (InvalidIdFault e) {
        throw new ResourceException(e);
    } catch (UnexpectedErrorFault e) {
        throw new ResourceException(e);
    } catch (ConnectionException e) {
        throw new ResourceException(e);
    }
    for (UpsertResult result : results) {
        if (!result.isSuccess()) {
            throw new ResourceException(result.getErrors()[0].getMessage());
        }
    }
    return results.length;
}
Also used : InvalidFieldFault(com.sforce.soap.partner.fault.InvalidFieldFault) InvalidSObjectFault(com.sforce.soap.partner.fault.InvalidSObjectFault) SObject(com.sforce.soap.partner.sobject.SObject) DataPayload(org.teiid.translator.salesforce.execution.DataPayload) ResourceException(javax.resource.ResourceException) UnexpectedErrorFault(com.sforce.soap.partner.fault.UnexpectedErrorFault) InvalidIdFault(com.sforce.soap.partner.fault.InvalidIdFault) ConnectionException(com.sforce.ws.ConnectionException)

Example 4 with InvalidIdFault

use of com.sforce.soap.partner.fault.InvalidIdFault in project teiid by teiid.

the class SalesforceConnectionImpl method query.

public QueryResult query(String queryString, int batchSize, boolean queryAll) throws ResourceException {
    if (batchSize > 2000) {
        batchSize = 2000;
        // $NON-NLS-1$
        LogManager.logDetail(LogConstants.CTX_CONNECTOR, "reduced.batch.size");
    }
    QueryResult qr = null;
    partnerConnection.setQueryOptions(batchSize);
    try {
        if (queryAll) {
            qr = partnerConnection.queryAll(queryString);
        } else {
            partnerConnection.setMruHeader(false);
            qr = partnerConnection.query(queryString);
        }
    } catch (InvalidFieldFault e) {
        throw new ResourceException(e);
    } catch (MalformedQueryFault e) {
        throw new ResourceException(e);
    } catch (InvalidSObjectFault e) {
        throw new ResourceException(e);
    } catch (InvalidIdFault e) {
        throw new ResourceException(e);
    } catch (UnexpectedErrorFault e) {
        throw new ResourceException(e);
    } catch (InvalidQueryLocatorFault e) {
        throw new ResourceException(e);
    } catch (ConnectionException e) {
        throw new ResourceException(e);
    } finally {
        partnerConnection.clearMruHeader();
        partnerConnection.clearQueryOptions();
    }
    return qr;
}
Also used : InvalidFieldFault(com.sforce.soap.partner.fault.InvalidFieldFault) InvalidSObjectFault(com.sforce.soap.partner.fault.InvalidSObjectFault) InvalidQueryLocatorFault(com.sforce.soap.partner.fault.InvalidQueryLocatorFault) ResourceException(javax.resource.ResourceException) UnexpectedErrorFault(com.sforce.soap.partner.fault.UnexpectedErrorFault) MalformedQueryFault(com.sforce.soap.partner.fault.MalformedQueryFault) InvalidIdFault(com.sforce.soap.partner.fault.InvalidIdFault) ConnectionException(com.sforce.ws.ConnectionException)

Aggregations

InvalidFieldFault (com.sforce.soap.partner.fault.InvalidFieldFault)4 InvalidIdFault (com.sforce.soap.partner.fault.InvalidIdFault)4 InvalidSObjectFault (com.sforce.soap.partner.fault.InvalidSObjectFault)4 UnexpectedErrorFault (com.sforce.soap.partner.fault.UnexpectedErrorFault)4 ConnectionException (com.sforce.ws.ConnectionException)4 ResourceException (javax.resource.ResourceException)4 SObject (com.sforce.soap.partner.sobject.SObject)3 DataPayload (org.teiid.translator.salesforce.execution.DataPayload)3 InvalidQueryLocatorFault (com.sforce.soap.partner.fault.InvalidQueryLocatorFault)1 MalformedQueryFault (com.sforce.soap.partner.fault.MalformedQueryFault)1 ArrayList (java.util.ArrayList)1