use of com.salesforce.soap.partner.Error in project tdi-studio-se by Talend.
the class SforceManagementImpl method readResult.
@Override
public Map<String, String> readResult(Object[] results) throws Exception {
Map<String, String> resultMessage = null;
if (results instanceof SaveResult[]) {
for (SaveResult result : (SaveResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
if (error.getFields() != null) {
StringBuffer fields = new StringBuffer();
for (String field : error.getFields()) {
fields.append(field);
fields.append(",");
}
if (fields.length() > 0) {
fields.deleteCharAt(fields.length() - 1);
}
resultMessage.put("Fields", fields.toString());
}
resultMessage.put("Message", error.getMessage());
}
}
}
return resultMessage;
} else if (results instanceof DeleteResult[]) {
for (DeleteResult result : (DeleteResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
resultMessage.put("Message", error.getMessage());
}
}
}
return resultMessage;
} else if (results instanceof UpsertResult[]) {
for (UpsertResult result : (UpsertResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
resultMessage.put("created", String.valueOf(result.getCreated()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
if (error.getFields() != null) {
StringBuffer fields = new StringBuffer();
for (String field : error.getFields()) {
fields.append(field);
fields.append(",");
}
if (fields.length() > 0) {
fields.deleteCharAt(fields.length() - 1);
}
resultMessage.put("Fields", fields.toString());
}
resultMessage.put("Message", error.getMessage());
}
}
}
return resultMessage;
}
return null;
}
use of com.salesforce.soap.partner.Error in project tdi-studio-se by Talend.
the class SforceManagementImpl method addLog.
private StringBuilder addLog(Error[] resultErrors, String row_key) throws Exception {
StringBuilder errors = new StringBuilder("");
if (resultErrors != null) {
for (Error error : resultErrors) {
errors.append(error.getMessage()).append("\n");
if (logWriter != null) {
logWriter.append("\tStatus Code: ").append(error.getStatusCode().toString());
logWriter.newLine();
logWriter.newLine();
logWriter.append("\tRowKey/RowNo: " + row_key);
if (error.getFields() != null) {
logWriter.newLine();
logWriter.append("\tFields: ");
boolean flag = false;
for (String field : error.getFields()) {
if (flag) {
logWriter.append(", ");
} else {
flag = true;
}
logWriter.append(field);
}
}
logWriter.newLine();
logWriter.newLine();
logWriter.append("\tMessage: ").append(error.getMessage());
logWriter.newLine();
logWriter.append("\t--------------------------------------------------------------------------------");
logWriter.newLine();
logWriter.newLine();
}
}
}
return errors;
}
Aggregations