use of co.cask.cdap.api.plugin.PluginClass in project cdap by caskdata.
the class PluginInstantiator method newInstanceWithoutConfig.
/**
* Create a new instance of plugin class without any config, config will be null in the instantiated plugin.
* @param artifact artifact of the plugin
* @param pluginClass information about plugin class
* @param <T> Type of plugin
* @return a new plugin instance
*/
public <T> T newInstanceWithoutConfig(ArtifactId artifact, PluginClass pluginClass) throws IOException, ClassNotFoundException {
ClassLoader pluginClassLoader = getArtifactClassLoader(artifact);
Class pluginClassLoaded = pluginClassLoader.loadClass(pluginClass.getClassName());
return (T) instantiatorFactory.get(TypeToken.of(pluginClassLoaded)).create();
}
use of co.cask.cdap.api.plugin.PluginClass in project cdap by caskdata.
the class MockSource method getPluginClass.
private static PluginClass getPluginClass() {
Map<String, PluginPropertyField> properties = new HashMap<>();
properties.put("records", new PluginPropertyField("records", "", "string", false, false));
return new PluginClass(RealtimeSource.PLUGIN_TYPE, "Mock", "", MockSource.class.getName(), "config", properties);
}
use of co.cask.cdap.api.plugin.PluginClass in project cdap by caskdata.
the class LookupSource method getPluginClass.
private static PluginClass getPluginClass() {
Map<String, PluginPropertyField> properties = new HashMap<>();
properties.put("fields", new PluginPropertyField("fields", "", "string", true, false));
properties.put("lookupName", new PluginPropertyField("lookupName", "", "string", true, false));
return new PluginClass(RealtimeSource.PLUGIN_TYPE, "Lookup", "", LookupSource.class.getName(), "config", properties);
}
use of co.cask.cdap.api.plugin.PluginClass in project cdap by caskdata.
the class MockSink method getPluginClass.
private static PluginClass getPluginClass() {
Map<String, PluginPropertyField> properties = new HashMap<>();
properties.put("dir", new PluginPropertyField("dir", "", "string", false, false));
return new PluginClass(RealtimeSink.PLUGIN_TYPE, "Mock", "", MockSink.class.getName(), "config", properties);
}
use of co.cask.cdap.api.plugin.PluginClass in project cdap by caskdata.
the class MockRuntimeDatasetSource method getPluginClass.
private static PluginClass getPluginClass() {
Map<String, PluginPropertyField> properties = new HashMap<>();
properties.put("tableName", new PluginPropertyField("tableName", "", "string", true, false));
properties.put("runtimeDatasetName", new PluginPropertyField("runtimeDatasetName", "", "string", true, true));
return new PluginClass(BatchSource.PLUGIN_TYPE, "MockRuntime", "", MockRuntimeDatasetSource.class.getName(), "config", properties);
}
Aggregations