Search in sources :

Example 6 with SalesforceComponent

use of org.apache.camel.component.salesforce.SalesforceComponent in project camel by apache.

the class SubscriptionHelperTest method precedenceShouldBeFollowed.

@Test
public void precedenceShouldBeFollowed() {
    final SalesforceEndpointConfig componentConfig = new SalesforceEndpointConfig();
    componentConfig.setDefaultReplayId(1L);
    componentConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-1", 2L));
    componentConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-2", 3L));
    final SalesforceEndpointConfig endpointConfig = new SalesforceEndpointConfig();
    endpointConfig.setDefaultReplayId(4L);
    endpointConfig.setInitialReplayIdMap(Collections.singletonMap("my-topic-1", 5L));
    final SalesforceComponent component = mock(SalesforceComponent.class);
    when(component.getConfig()).thenReturn(componentConfig);
    final SalesforceEndpoint endpoint = mock(SalesforceEndpoint.class);
    when(endpoint.getReplayId()).thenReturn(null);
    when(endpoint.getComponent()).thenReturn(component);
    when(endpoint.getConfiguration()).thenReturn(endpointConfig);
    assertEquals("Expecting replayId for `my-topic-1` to be 5, as endpoint configuration has priority", Optional.of(5L), determineReplayIdFor(endpoint, "my-topic-1"));
    assertEquals("Expecting replayId for `my-topic-2` to be 3, as endpoint does not configure it", Optional.of(3L), determineReplayIdFor(endpoint, "my-topic-2"));
    assertEquals("Expecting replayId for `my-topic-3` to be 4, as it is endpoint's default", Optional.of(4L), determineReplayIdFor(endpoint, "my-topic-3"));
    endpointConfig.setDefaultReplayId(null);
    assertEquals("Expecting replayId for `my-topic-3` to be 1, as it is component's default when endpoint does not have a default", Optional.of(1L), determineReplayIdFor(endpoint, "my-topic-3"));
    when(endpoint.getReplayId()).thenReturn(6L);
    assertEquals("Expecting replayId for `my-topic-1` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-1"));
    assertEquals("Expecting replayId for `my-topic-2` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-2"));
    assertEquals("Expecting replayId for `my-topic-3` to be 6, as it is endpoint configured explicitly on the endpoint", Optional.of(6L), determineReplayIdFor(endpoint, "my-topic-3"));
}
Also used : SalesforceEndpoint(org.apache.camel.component.salesforce.SalesforceEndpoint) SalesforceEndpointConfig(org.apache.camel.component.salesforce.SalesforceEndpointConfig) SalesforceComponent(org.apache.camel.component.salesforce.SalesforceComponent) Test(org.junit.Test)

Example 7 with SalesforceComponent

use of org.apache.camel.component.salesforce.SalesforceComponent in project camel by apache.

the class SubscriptionHelper method determineReplayIdFor.

static Optional<Long> determineReplayIdFor(final SalesforceEndpoint endpoint, final String topicName) {
    final String channelName = getChannelName(topicName);
    final Long replayId = endpoint.getReplayId();
    final SalesforceComponent component = endpoint.getComponent();
    final SalesforceEndpointConfig endpointConfiguration = endpoint.getConfiguration();
    final Map<String, Long> endpointInitialReplayIdMap = endpointConfiguration.getInitialReplayIdMap();
    final Long endpointReplayId = endpointInitialReplayIdMap.getOrDefault(topicName, endpointInitialReplayIdMap.get(channelName));
    final Long endpointDefaultReplayId = endpointConfiguration.getDefaultReplayId();
    final SalesforceEndpointConfig componentConfiguration = component.getConfig();
    final Map<String, Long> componentInitialReplayIdMap = componentConfiguration.getInitialReplayIdMap();
    final Long componentReplayId = componentInitialReplayIdMap.getOrDefault(topicName, componentInitialReplayIdMap.get(channelName));
    final Long componentDefaultReplayId = componentConfiguration.getDefaultReplayId();
    // over give topic values
    return Stream.of(replayId, endpointReplayId, componentReplayId, endpointDefaultReplayId, componentDefaultReplayId).filter(Objects::nonNull).findFirst();
}
Also used : AtomicLong(java.util.concurrent.atomic.AtomicLong) SalesforceEndpointConfig(org.apache.camel.component.salesforce.SalesforceEndpointConfig) SalesforceComponent(org.apache.camel.component.salesforce.SalesforceComponent)

Example 8 with SalesforceComponent

use of org.apache.camel.component.salesforce.SalesforceComponent in project wildfly-camel by wildfly-extras.

the class SalesforceIntegrationTest method testSalesforceQueryProducer.

@Test
public void testSalesforceQueryProducer() throws Exception {
    Map<String, Object> salesforceOptions = createSalesforceOptions();
    Assume.assumeTrue("[#1676] Enable Salesforce testing in Jenkins", salesforceOptions.size() == SalesforceOption.values().length);
    SalesforceLoginConfig loginConfig = new SalesforceLoginConfig();
    IntrospectionSupport.setProperties(loginConfig, salesforceOptions);
    SalesforceComponent component = new SalesforceComponent();
    component.setPackages("org.wildfly.camel.test.salesforce.dto");
    component.setLoginConfig(loginConfig);
    CamelContext camelctx = new DefaultCamelContext();
    camelctx.addComponent("salesforce", component);
    camelctx.addRoutes(new RouteBuilder() {

        @Override
        public void configure() throws Exception {
            from("direct:query").to("salesforce:query?sObjectQuery=SELECT id,name from Opportunity&sObjectClass=" + QueryRecordsOpportunity.class.getName());
        }
    });
    camelctx.start();
    try {
        ProducerTemplate template = camelctx.createProducerTemplate();
        QueryRecordsOpportunity queryRecords = template.requestBody("direct:query", null, QueryRecordsOpportunity.class);
        Assert.assertNotNull("Expected query records result to not be null", queryRecords);
    } finally {
        camelctx.stop();
    }
}
Also used : DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) CamelContext(org.apache.camel.CamelContext) ProducerTemplate(org.apache.camel.ProducerTemplate) RouteBuilder(org.apache.camel.builder.RouteBuilder) QueryRecordsOpportunity(org.wildfly.camel.test.salesforce.dto.QueryRecordsOpportunity) SalesforceLoginConfig(org.apache.camel.component.salesforce.SalesforceLoginConfig) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) SalesforceComponent(org.apache.camel.component.salesforce.SalesforceComponent) Test(org.junit.Test)

Aggregations

SalesforceComponent (org.apache.camel.component.salesforce.SalesforceComponent)8 Test (org.junit.Test)6 SalesforceEndpointConfig (org.apache.camel.component.salesforce.SalesforceEndpointConfig)4 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)4 CamelContext (org.apache.camel.CamelContext)3 ProducerTemplate (org.apache.camel.ProducerTemplate)3 RouteBuilder (org.apache.camel.builder.RouteBuilder)3 SalesforceEndpoint (org.apache.camel.component.salesforce.SalesforceEndpoint)3 SalesforceLoginConfig (org.apache.camel.component.salesforce.SalesforceLoginConfig)3 QueryRecordsOpportunity (org.wildfly.camel.test.salesforce.dto.QueryRecordsOpportunity)3 HashMap (java.util.HashMap)2 Opportunity (org.wildfly.camel.test.salesforce.dto.Opportunity)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 Map (java.util.Map)1 AtomicLong (java.util.concurrent.atomic.AtomicLong)1 Exchange (org.apache.camel.Exchange)1 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)1 JobInfo (org.apache.camel.component.salesforce.api.dto.bulk.JobInfo)1 OperationName (org.apache.camel.component.salesforce.internal.OperationName)1 DefaultExchange (org.apache.camel.impl.DefaultExchange)1