Sha256: 9604aadea52e17faf7a56104fe68d2ea4af17ea8c01df77eaa0d967a6a173ac1

Contents?: true

Size: 1.77 KB

Versions: 38

Compression:

Stored size: 1.77 KB

Contents

package org.embulk.input.marketo.delegate;

import com.google.common.collect.FluentIterable;
import org.embulk.base.restclient.ServiceResponseMapper;
import org.embulk.base.restclient.jackson.JacksonServiceResponseMapper;
import org.embulk.base.restclient.record.ServiceRecord;
import org.embulk.base.restclient.record.ValueLocator;
import org.embulk.input.marketo.MarketoService;
import org.embulk.input.marketo.MarketoUtils;
import org.embulk.spi.type.Types;

import java.util.Iterator;

/**
 * Input plugin use to import Campaign
 * Created by tai.khuu on 9/18/17.
 */
public class CampaignInputPlugin extends MarketoBaseInputPluginDelegate<CampaignInputPlugin.PluginTask>
{
    public interface PluginTask extends MarketoBaseInputPluginDelegate.PluginTask
    {
    }

    public CampaignInputPlugin()
    {
    }

    @Override
    protected Iterator<ServiceRecord> getServiceRecords(MarketoService marketoService, PluginTask task)
    {
        return FluentIterable.from(marketoService.getCampaign()).transform(MarketoUtils.TRANSFORM_OBJECT_TO_JACKSON_SERVICE_RECORD_FUNCTION).iterator();
    }

    @Override
    public ServiceResponseMapper<? extends ValueLocator> buildServiceResponseMapper(PluginTask task)
    {
        JacksonServiceResponseMapper.Builder builder = JacksonServiceResponseMapper.builder();
        builder.add("id", Types.LONG)
                .add("name", Types.STRING)
                .add("description", Types.STRING)
                .add("type", Types.STRING)
                .add("workspaceName", Types.STRING)
                .add("createdAt", Types.TIMESTAMP, MarketoUtils.MARKETO_DATE_TIME_FORMAT)
                .add("updatedAt", Types.TIMESTAMP, MarketoUtils.MARKETO_DATE_TIME_FORMAT)
                .add("active", Types.BOOLEAN);
        return builder.build();
    }
}

Version data entries

38 entries across 38 versions & 4 rubygems

Version Path
embulk-input-marketo-through-proxy-0.6.21 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-through-proxy-0.6.20 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.28 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.26 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.25 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.24 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.23 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.22 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.21 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.20 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo_extended-0.6.18 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-extended-0.6.18 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.17 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.16 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.15 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.13 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.12 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.11 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.10 src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java
embulk-input-marketo-0.6.10.alpha src/main/java/org/embulk/input/marketo/delegate/CampaignInputPlugin.java