in twitter-salesforce/src/main/java/org/apache/camel/example/mention/TwitterSalesforceRoute.java [31:56]
public void configure() throws Exception {
from("twitter-timeline:mentions")
.log("Tweet id ${body.id} mention: ${body}")
.process(exchange -> {
Status status = exchange.getIn().getBody(Status.class);
User user = status.getUser();
String name = user.getName();
String screenName = user.getScreenName();
Class contact = null;
if (Class.forName("org.apache.camel.salesforce.dto.Contact") != null) {
contact = Class.forName("org.apache.camel.salesforce.dto.Contact");
} else {
contact = Contact.class;
}
Object contactObject = contact.newInstance();
Method setLastName = contact.getMethod("setLastName", String.class);
Method setTwitterScreenName__c = contact.getMethod("setTwitterScreenName__c", String.class);
setLastName.invoke(contactObject, name);
setTwitterScreenName__c.invoke(contactObject, screenName);
exchange.getIn().setBody(contactObject);
})
.to("salesforce:upsertSObject?sObjectIdName=TwitterScreenName__c")
.log("SObject ID: ${body?.id}");
}