use of com.thinkbiganalytics.nifi.rest.model.NifiProperty in project kylo by Teradata.
the class NifiRestTest method testUpdateProcessor.
// @Test
public void testUpdateProcessor() {
NifiProperty p = new NifiProperty();
p.setProcessGroupId("0b013850-d6bb-44e4-87c2-1784858e60ab");
p.setProcessorId("795509d5-1433-4e64-b7bd-d05c6adfb95a");
p.setKey("Source Database Connection");
p.setValue("4688ee71-262c-46bc-af35-9e9825507160");
restClient.updateProcessorProperty(p.getProcessGroupId(), p.getProcessorId(), p);
int i = 0;
}
use of com.thinkbiganalytics.nifi.rest.model.NifiProperty in project kylo by Teradata.
the class NifiRestTest method testLoad.
// @Test
public void testLoad() {
// setup constants for the test
String templateName = "Data Ingest";
int num = 10;
String processGroupName = "LoadTest";
String feedPrefix = "LT_";
String inputType = "org.apache.nifi.processors.standard.GetFile";
List<NifiProperty> templateProperties = new ArrayList<>();
String schedulePeriod = "10 sec";
String GET_FILE_PROCESSOR_NAME = "Poll filesystem";
String UPDATE_PARAMETERS_PROCESSOR_NAME = "Update flow parameters";
String INPUT_DIRECTORY_PROPERTY = "Input Directory";
String SOURCE_PROPERTY = "source";
String ENTITY_PROPERTY = "entity";
try {
TemplateDTO template = restClient.getTemplateByName(templateName);
List<NifiProperty> propertyList = restClient.getPropertiesForTemplate(template.getId(), true);
NifiProperty inputDirectory = NifiPropertyUtil.getProperty(GET_FILE_PROCESSOR_NAME, INPUT_DIRECTORY_PROPERTY, propertyList);
NifiProperty entity = NifiPropertyUtil.getProperty(UPDATE_PARAMETERS_PROCESSOR_NAME, SOURCE_PROPERTY, propertyList);
NifiProperty source = NifiPropertyUtil.getProperty(UPDATE_PARAMETERS_PROCESSOR_NAME, ENTITY_PROPERTY, propertyList);
templateProperties.add(inputDirectory);
templateProperties.add(entity);
templateProperties.add(source);
NifiProcessorSchedule schedule = new NifiProcessorSchedule();
schedule.setSchedulingStrategy("TIMER_DRIVEN");
schedule.setSchedulingPeriod(schedulePeriod);
for (int i = 0; i < num; i++) {
String feedName = feedPrefix + i;
List<NifiProperty> instanceProperties = NifiPropertyUtil.copyProperties(templateProperties);
// update the properties
NifiPropertyUtil.getProperty(GET_FILE_PROCESSOR_NAME, INPUT_DIRECTORY_PROPERTY, instanceProperties).setValue("/tmp/" + feedName);
NifiPropertyUtil.getProperty(UPDATE_PARAMETERS_PROCESSOR_NAME, SOURCE_PROPERTY, instanceProperties).setValue(processGroupName);
NifiPropertyUtil.getProperty(UPDATE_PARAMETERS_PROCESSOR_NAME, ENTITY_PROPERTY, instanceProperties).setValue(feedName);
FeedMetadata feedMetadata = new FeedMetadata();
feedMetadata.setCategory(new FeedCategory());
feedMetadata.getCategory().setSystemName(processGroupName);
feedMetadata.setSystemFeedName("feedPrefix + i");
CreateFeedBuilder.newFeed(restClient, nifiFlowCache, feedMetadata, template.getId(), new PropertyExpressionResolver(), propertyDescriptorTransform, createFeedBuilderCache, templateConnectionUtil).inputProcessorType(inputType).feedSchedule(schedule).properties(instanceProperties).build();
}
} catch (Exception e) {
e.printStackTrace();
}
}
Aggregations