Search in sources :

Example 6 with Plugin

use of io.cdap.cdap.etl.proto.v1.Plugin in project cdap by caskdata.

the class ETLBatchConfigTest method testUpgrade.

@Test
public void testUpgrade() throws Exception {
    final ArtifactSelectorConfig artifact = new ArtifactSelectorConfig("SYSTEM", "universal", "1.0.0");
    ETLStage source = new ETLStage("DataGenerator", ImmutableMap.of("p1", "v1"), null);
    co.cask.cdap.etl.proto.v1.ETLStage sourceNew = new co.cask.cdap.etl.proto.v1.ETLStage("DataGenerator.1", new Plugin(source.getName(), source.getProperties(), artifact), source.getErrorDatasetName());
    ETLStage transform1 = new ETLStage("Script", ImmutableMap.of("script", "something"), null);
    co.cask.cdap.etl.proto.v1.ETLStage transform1New = new co.cask.cdap.etl.proto.v1.ETLStage("Script.2", new Plugin(transform1.getName(), transform1.getProperties(), artifact), transform1.getErrorDatasetName());
    ETLStage transform2 = new ETLStage("Script", null, null);
    co.cask.cdap.etl.proto.v1.ETLStage transform2New = new co.cask.cdap.etl.proto.v1.ETLStage("Script.3", new Plugin(transform2.getName(), transform2.getProperties(), artifact), transform2.getErrorDatasetName());
    ETLStage transform3 = new ETLStage("Validator", ImmutableMap.of("p1", "v1", "p2", "v2"), "errorDS");
    co.cask.cdap.etl.proto.v1.ETLStage transform3New = new co.cask.cdap.etl.proto.v1.ETLStage("Validator.4", new Plugin(transform3.getName(), transform3.getProperties(), artifact), transform3.getErrorDatasetName());
    ETLStage sink1 = new ETLStage("Table", ImmutableMap.of("rowkey", "xyz"), null);
    co.cask.cdap.etl.proto.v1.ETLStage sink1New = new co.cask.cdap.etl.proto.v1.ETLStage("Table.5", new Plugin(sink1.getName(), sink1.getProperties(), artifact), sink1.getErrorDatasetName());
    ETLStage sink2 = new ETLStage("HDFS", ImmutableMap.of("name", "abc"), null);
    co.cask.cdap.etl.proto.v1.ETLStage sink2New = new co.cask.cdap.etl.proto.v1.ETLStage("HDFS.6", new Plugin(sink2.getName(), sink2.getProperties(), artifact), sink2.getErrorDatasetName());
    ETLStage action = new ETLStage("Email", ImmutableMap.of("email", "slj@example.com"), null);
    co.cask.cdap.etl.proto.v1.ETLStage actionNew = new co.cask.cdap.etl.proto.v1.ETLStage("Email.1", new Plugin(action.getName(), action.getProperties(), artifact), action.getErrorDatasetName());
    List<Connection> connections = new ArrayList<>();
    connections.add(new Connection(sourceNew.getName(), transform1New.getName()));
    connections.add(new Connection(transform1New.getName(), transform2New.getName()));
    connections.add(new Connection(transform2New.getName(), transform3New.getName()));
    connections.add(new Connection(transform3New.getName(), sink1New.getName()));
    connections.add(new Connection(transform3New.getName(), sink2New.getName()));
    String schedule = "*/5 * * * *";
    Resources resources = new Resources(1024, 1);
    ETLBatchConfig config = new ETLBatchConfig(schedule, source, ImmutableList.of(sink1, sink2), ImmutableList.of(transform1, transform2, transform3), resources, ImmutableList.of(action));
    co.cask.cdap.etl.proto.v1.ETLBatchConfig configNew = co.cask.cdap.etl.proto.v1.ETLBatchConfig.builder(schedule).setSource(sourceNew).addSink(sink1New).addSink(sink2New).addTransform(transform1New).addTransform(transform2New).addTransform(transform3New).addConnections(connections).setResources(resources).setDriverResources(resources).addAction(actionNew).build();
    Assert.assertEquals(configNew, config.upgrade(new UpgradeContext() {

        @Nullable
        @Override
        public ArtifactSelectorConfig getPluginArtifact(String pluginType, String pluginName) {
            return new ArtifactSelectorConfig(ArtifactScope.SYSTEM.name(), "universal", "1.0.0");
        }
    }));
}
Also used : ArtifactSelectorConfig(co.cask.cdap.etl.proto.ArtifactSelectorConfig) Connection(co.cask.cdap.etl.proto.Connection) ArrayList(java.util.ArrayList) UpgradeContext(co.cask.cdap.etl.proto.UpgradeContext) Resources(co.cask.cdap.api.Resources) Plugin(co.cask.cdap.etl.proto.v1.Plugin) Test(org.junit.Test)

Example 7 with Plugin

use of io.cdap.cdap.etl.proto.v1.Plugin in project Hyperion-Android by willowtreeapps.

the class PluginLoader method load.

@WorkerThread
List<PluginModule> load() {
    List<PluginModule> plugins = new ArrayList<>();
    ServiceLoader<Plugin> loader = ServiceLoader.load(Plugin.class);
    for (Plugin plugin : loader) {
        PluginModule module = plugin.createPluginModule();
        if (module != null) {
            plugins.add(module);
        }
    }
    return plugins;
}
Also used : ArrayList(java.util.ArrayList) PluginModule(com.willowtreeapps.hyperion.plugin.v1.PluginModule) Plugin(com.willowtreeapps.hyperion.plugin.v1.Plugin) WorkerThread(android.support.annotation.WorkerThread)

Example 8 with Plugin

use of io.cdap.cdap.etl.proto.v1.Plugin in project UVMS-Docker by UnionVMS.

the class MobileTerminalTestHelper method createMobileTerminalType.

public static MobileTerminalType createMobileTerminalType() throws IOException, ClientProtocolException, JsonProcessingException, JsonParseException, JsonMappingException {
    MobileTerminalType mobileTerminalRequest = new MobileTerminalType();
    mobileTerminalRequest.setSource(MobileTerminalSource.INTERNAL);
    mobileTerminalRequest.setType("INMARSAT_C");
    List<MobileTerminalAttribute> attributes = mobileTerminalRequest.getAttributes();
    addAttribute(attributes, "SERIAL_NUMBER", AssetTestHelper.generateARandomStringWithMaxLength(10));
    addAttribute(attributes, "SATELLITE_NUMBER", "S" + AssetTestHelper.generateARandomStringWithMaxLength(4));
    addAttribute(attributes, "ANTENNA", "A");
    addAttribute(attributes, "TRANSCEIVER_TYPE", "A");
    addAttribute(attributes, "SOFTWARE_VERSION", "A");
    List<ComChannelType> channels = mobileTerminalRequest.getChannels();
    ComChannelType comChannelType = new ComChannelType();
    channels.add(comChannelType);
    comChannelType.setGuid(UUID.randomUUID().toString());
    comChannelType.setName("VMS");
    addChannelAttribute(comChannelType, "FREQUENCY_GRACE_PERIOD", "54000");
    addChannelAttribute(comChannelType, "MEMBER_NUMBER", "100");
    addChannelAttribute(comChannelType, "FREQUENCY_EXPECTED", "7200");
    addChannelAttribute(comChannelType, "FREQUENCY_IN_PORT", "10800");
    addChannelAttribute(comChannelType, "LES_DESCRIPTION", "Thrane&Thrane");
    addChannelAttribute(comChannelType, "DNID", "1" + AssetTestHelper.generateARandomStringWithMaxLength(3));
    addChannelAttribute(comChannelType, "INSTALLED_BY", "Mike Great");
    addChannelCapability(comChannelType, "POLLABLE", true);
    addChannelCapability(comChannelType, "CONFIGURABLE", true);
    addChannelCapability(comChannelType, "DEFAULT_REPORTING", true);
    Plugin plugin = new Plugin();
    plugin.setServiceName("eu.europa.ec.fisheries.uvms.plugins.inmarsat");
    plugin.setLabelName("Thrane&Thrane");
    plugin.setSatelliteType("INMARSAT_C");
    plugin.setInactive(false);
    mobileTerminalRequest.setPlugin(plugin);
    final HttpResponse response = Request.Post(getBaseUrl() + "mobileterminal/rest/mobileterminal").setHeader("Content-Type", "application/json").setHeader("Authorization", getValidJwtToken()).bodyByteArray(writeValueAsString(mobileTerminalRequest).getBytes()).execute().returnResponse();
    Map<String, Object> dataMap = checkSuccessResponseReturnMap(response);
    Map<String, Object> assetMap = (Map<String, Object>) dataMap.get("mobileTerminalId");
    assertNotNull(assetMap);
    String mobileTerminalGuid = (String) assetMap.get("guid");
    assertNotNull(mobileTerminalGuid);
    ArrayList channelsList = (ArrayList) dataMap.get("channels");
    assertNotNull(channelsList);
    Map<String, Object> channelMap = (Map<String, Object>) channelsList.get(0);
    assertNotNull(channelMap);
    String channelGuid = (String) channelMap.get("guid");
    comChannelType.setGuid(channelGuid);
    mobileTerminalRequest.setId((Integer) dataMap.get("id"));
    MobileTerminalId mobileTerminalId = new MobileTerminalId();
    mobileTerminalId.setGuid(mobileTerminalGuid);
    mobileTerminalRequest.setMobileTerminalId(mobileTerminalId);
    return mobileTerminalRequest;
}
Also used : ComChannelType(eu.europa.ec.fisheries.schema.mobileterminal.types.v1.ComChannelType) ArrayList(java.util.ArrayList) HttpResponse(org.apache.http.HttpResponse) MobileTerminalId(eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalId) MobileTerminalAttribute(eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalAttribute) MobileTerminalType(eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalType) Map(java.util.Map) Plugin(eu.europa.ec.fisheries.schema.mobileterminal.types.v1.Plugin)

Example 9 with Plugin

use of io.cdap.cdap.etl.proto.v1.Plugin in project cdap by caskdata.

the class ETLBatchConfigTest method testUpgrade.

@Test
public void testUpgrade() throws Exception {
    final ArtifactSelectorConfig artifact = new ArtifactSelectorConfig("SYSTEM", "universal", "1.0.0");
    ETLStage source = new ETLStage("DataGenerator", ImmutableMap.of("p1", "v1"), null);
    io.cdap.cdap.etl.proto.v1.ETLStage sourceNew = new io.cdap.cdap.etl.proto.v1.ETLStage("DataGenerator.1", new Plugin(source.getName(), source.getProperties(), artifact), source.getErrorDatasetName());
    ETLStage transform1 = new ETLStage("Script", ImmutableMap.of("script", "something"), null);
    io.cdap.cdap.etl.proto.v1.ETLStage transform1New = new io.cdap.cdap.etl.proto.v1.ETLStage("Script.2", new Plugin(transform1.getName(), transform1.getProperties(), artifact), transform1.getErrorDatasetName());
    ETLStage transform2 = new ETLStage("Script", null, null);
    io.cdap.cdap.etl.proto.v1.ETLStage transform2New = new io.cdap.cdap.etl.proto.v1.ETLStage("Script.3", new Plugin(transform2.getName(), transform2.getProperties(), artifact), transform2.getErrorDatasetName());
    ETLStage transform3 = new ETLStage("Validator", ImmutableMap.of("p1", "v1", "p2", "v2"), "errorDS");
    io.cdap.cdap.etl.proto.v1.ETLStage transform3New = new io.cdap.cdap.etl.proto.v1.ETLStage("Validator.4", new Plugin(transform3.getName(), transform3.getProperties(), artifact), transform3.getErrorDatasetName());
    ETLStage sink1 = new ETLStage("Table", ImmutableMap.of("rowkey", "xyz"), null);
    io.cdap.cdap.etl.proto.v1.ETLStage sink1New = new io.cdap.cdap.etl.proto.v1.ETLStage("Table.5", new Plugin(sink1.getName(), sink1.getProperties(), artifact), sink1.getErrorDatasetName());
    ETLStage sink2 = new ETLStage("HDFS", ImmutableMap.of("name", "abc"), null);
    io.cdap.cdap.etl.proto.v1.ETLStage sink2New = new io.cdap.cdap.etl.proto.v1.ETLStage("HDFS.6", new Plugin(sink2.getName(), sink2.getProperties(), artifact), sink2.getErrorDatasetName());
    ETLStage action = new ETLStage("Email", ImmutableMap.of("email", "slj@example.com"), null);
    io.cdap.cdap.etl.proto.v1.ETLStage actionNew = new io.cdap.cdap.etl.proto.v1.ETLStage("Email.1", new Plugin(action.getName(), action.getProperties(), artifact), action.getErrorDatasetName());
    List<Connection> connections = new ArrayList<>();
    connections.add(new Connection(sourceNew.getName(), transform1New.getName()));
    connections.add(new Connection(transform1New.getName(), transform2New.getName()));
    connections.add(new Connection(transform2New.getName(), transform3New.getName()));
    connections.add(new Connection(transform3New.getName(), sink1New.getName()));
    connections.add(new Connection(transform3New.getName(), sink2New.getName()));
    String schedule = "*/5 * * * *";
    Resources resources = new Resources(1024, 1);
    ETLBatchConfig config = new ETLBatchConfig(schedule, source, ImmutableList.of(sink1, sink2), ImmutableList.of(transform1, transform2, transform3), resources, ImmutableList.of(action));
    io.cdap.cdap.etl.proto.v1.ETLBatchConfig configNew = io.cdap.cdap.etl.proto.v1.ETLBatchConfig.builder(schedule).setSource(sourceNew).addSink(sink1New).addSink(sink2New).addTransform(transform1New).addTransform(transform2New).addTransform(transform3New).addConnections(connections).setResources(resources).setDriverResources(resources).addAction(actionNew).build();
    Assert.assertEquals(configNew, config.upgrade(new UpgradeContext() {

        @Nullable
        @Override
        public ArtifactSelectorConfig getPluginArtifact(String pluginType, String pluginName) {
            return new ArtifactSelectorConfig(ArtifactScope.SYSTEM.name(), "universal", "1.0.0");
        }
    }));
}
Also used : ArtifactSelectorConfig(io.cdap.cdap.etl.proto.ArtifactSelectorConfig) Connection(io.cdap.cdap.etl.proto.Connection) ArrayList(java.util.ArrayList) UpgradeContext(io.cdap.cdap.etl.proto.UpgradeContext) Resources(io.cdap.cdap.api.Resources) Plugin(io.cdap.cdap.etl.proto.v1.Plugin) Test(org.junit.Test)

Example 10 with Plugin

use of io.cdap.cdap.etl.proto.v1.Plugin in project cdap by caskdata.

the class ETLStage method upgradeStage.

io.cdap.cdap.etl.proto.v1.ETLStage upgradeStage(String name, String pluginType, UpgradeContext upgradeContext) {
    ArtifactSelectorConfig artifactSelectorConfig = upgradeContext.getPluginArtifact(pluginType, this.name);
    Plugin plugin = new Plugin(this.name, getProperties(), artifactSelectorConfig);
    return new io.cdap.cdap.etl.proto.v1.ETLStage(name, plugin, this.errorDatasetName);
}
Also used : ArtifactSelectorConfig(io.cdap.cdap.etl.proto.ArtifactSelectorConfig) Plugin(io.cdap.cdap.etl.proto.v1.Plugin)

Aggregations

ArrayList (java.util.ArrayList)6 Test (org.junit.Test)5 ArtifactSelectorConfig (io.cdap.cdap.etl.proto.ArtifactSelectorConfig)4 Plugin (io.cdap.cdap.etl.proto.v1.Plugin)4 Plugin (co.cask.cdap.etl.proto.v1.Plugin)3 Plugin (com.willowtreeapps.hyperion.plugin.v1.Plugin)3 Resources (co.cask.cdap.api.Resources)2 ArtifactSelectorConfig (co.cask.cdap.etl.proto.ArtifactSelectorConfig)2 Connection (co.cask.cdap.etl.proto.Connection)2 UpgradeContext (co.cask.cdap.etl.proto.UpgradeContext)2 Resources (io.cdap.cdap.api.Resources)2 Connection (io.cdap.cdap.etl.proto.Connection)2 UpgradeContext (io.cdap.cdap.etl.proto.UpgradeContext)2 WorkerThread (android.support.annotation.WorkerThread)1 MainThread (androidx.annotation.MainThread)1 PluginModule (com.willowtreeapps.hyperion.plugin.v1.PluginModule)1 ComChannelType (eu.europa.ec.fisheries.schema.mobileterminal.types.v1.ComChannelType)1 MobileTerminalAttribute (eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalAttribute)1 MobileTerminalId (eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalId)1 MobileTerminalType (eu.europa.ec.fisheries.schema.mobileterminal.types.v1.MobileTerminalType)1