Search in sources :

Example 6 with ComponentDetails

use of org.apache.nifi.web.ComponentDetails in project nifi by apache.

the class ProcessorResource method getDetails.

@GET
@Produces({ MediaType.APPLICATION_JSON })
@Path("/details")
public Response getDetails(@QueryParam("processorId") final String processorId) {
    final NiFiWebConfigurationContext nifiWebContext = getWebConfigurationContext();
    final ComponentDetails componentDetails = ProcessorWebUtils.getComponentDetails(nifiWebContext, processorId, request);
    final Response.ResponseBuilder response = ProcessorWebUtils.applyCacheControl(Response.ok(componentDetails));
    return response.build();
}
Also used : Response(javax.ws.rs.core.Response) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 7 with ComponentDetails

use of org.apache.nifi.web.ComponentDetails in project nifi by apache.

the class TestProcessorResource method testSetProperties.

@Test
public void testSetProperties() {
    final NiFiWebConfigurationContext niFiWebConfigurationContext = mock(NiFiWebConfigurationContext.class);
    final Map<String, String> properties = new HashMap<>();
    properties.put("jolt-transform", "jolt-transform-chain");
    final ComponentDetails componentDetails = new ComponentDetails.Builder().properties(properties).build();
    Mockito.when(servletContext.getAttribute(Mockito.anyString())).thenReturn(niFiWebConfigurationContext);
    Mockito.when(niFiWebConfigurationContext.updateComponent(any(NiFiWebConfigurationRequestContext.class), any(String.class), any(Map.class))).thenReturn(componentDetails);
    Response response = client().target(getBaseUri()).path("/standard/processor/properties").queryParam("processorId", "1").queryParam("clientId", "1").queryParam("revisionId", "1").request().put(Entity.json(JsonUtils.toJsonString(properties)));
    assertNotNull(response);
    JsonNode jsonNode = response.readEntity(JsonNode.class);
    assertNotNull(jsonNode);
    assertTrue(jsonNode.get("properties").get("jolt-transform").asText().equals("jolt-transform-chain"));
}
Also used : Response(javax.ws.rs.core.Response) HashMap(java.util.HashMap) NiFiWebConfigurationRequestContext(org.apache.nifi.web.NiFiWebConfigurationRequestContext) JsonNode(com.fasterxml.jackson.databind.JsonNode) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) HashMap(java.util.HashMap) Map(java.util.Map) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 8 with ComponentDetails

use of org.apache.nifi.web.ComponentDetails in project nifi by apache.

the class TestProcessorResource method testGetProcessorDetails.

@Test
public void testGetProcessorDetails() {
    final NiFiWebConfigurationContext niFiWebConfigurationContext = mock(NiFiWebConfigurationContext.class);
    final Map<String, String> allowableValues = new HashMap<>();
    final ComponentDescriptor descriptor = new ComponentDescriptor.Builder().name("test-name").allowableValues(allowableValues).build();
    final Map<String, ComponentDescriptor> descriptors = new HashMap<>();
    descriptors.put("jolt-transform", descriptor);
    final ComponentDetails componentDetails = new ComponentDetails.Builder().name("mytransform").type("org.apache.nifi.processors.standard.JoltTransformJSON").descriptors(descriptors).build();
    Mockito.when(servletContext.getAttribute(Mockito.anyString())).thenReturn(niFiWebConfigurationContext);
    Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
    JsonNode value = client().target(getBaseUri()).path("/standard/processor/details").queryParam("processorId", "1").request().get(JsonNode.class);
    assertNotNull(value);
    try {
        assertTrue(value.get("name").asText().equals("mytransform"));
    } catch (Exception e) {
        fail("Failed due to: " + e.toString());
    }
}
Also used : HashMap(java.util.HashMap) ComponentDescriptor(org.apache.nifi.web.ComponentDescriptor) JsonNode(com.fasterxml.jackson.databind.JsonNode) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) NiFiWebRequestContext(org.apache.nifi.web.NiFiWebRequestContext) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 9 with ComponentDetails

use of org.apache.nifi.web.ComponentDetails in project nifi by apache.

the class TestTransformJSONResource method testValidateWithCustomSpec.

@Test
public void testValidateWithCustomSpec() {
    final NiFiWebConfigurationContext niFiWebConfigurationContext = mock(NiFiWebConfigurationContext.class);
    final Map<String, String> properties = new HashMap<>();
    properties.put("jolt-transform", "jolt-transform-custom");
    final ComponentDetails componentDetails = new ComponentDetails.Builder().properties(properties).build();
    Mockito.when(servletContext.getAttribute(Mockito.anyString())).thenReturn(niFiWebConfigurationContext);
    Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-custom", "[{ \"operation\": \"default\", \"spec\":{ \"custom-id\" :4 }}]");
    joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
    joltSpecificationDTO.setModules("src/test/resources/TestTransformJSONResource/TestCustomJoltTransform.jar");
    ValidationDTO validate = client().target(getBaseUri()).path("/standard/transformjson/validate").request().post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
    assertNotNull(validate);
    assertTrue(validate.isValid());
}
Also used : HashMap(java.util.HashMap) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) ValidationDTO(org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) NiFiWebRequestContext(org.apache.nifi.web.NiFiWebRequestContext) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Example 10 with ComponentDetails

use of org.apache.nifi.web.ComponentDetails in project nifi by apache.

the class TestTransformJSONResource method testValidateWithInvalidSpec.

@Test
public void testValidateWithInvalidSpec() {
    final NiFiWebConfigurationContext niFiWebConfigurationContext = mock(NiFiWebConfigurationContext.class);
    final Map<String, String> properties = new HashMap<>();
    properties.put("jolt-transform", "jolt-transform-chain");
    final ComponentDetails componentDetails = new ComponentDetails.Builder().properties(properties).build();
    Mockito.when(servletContext.getAttribute(Mockito.anyString())).thenReturn(niFiWebConfigurationContext);
    Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
    JoltSpecificationDTO joltSpecificationDTO = new JoltSpecificationDTO("jolt-transform-chain", "[]");
    ValidationDTO validate = client().target(getBaseUri()).path("/standard/transformjson/validate").request().post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
    assertNotNull(validate);
    assertTrue(!validate.isValid());
}
Also used : HashMap(java.util.HashMap) JoltSpecificationDTO(org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO) ValidationDTO(org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO) NiFiWebConfigurationContext(org.apache.nifi.web.NiFiWebConfigurationContext) ComponentDetails(org.apache.nifi.web.ComponentDetails) NiFiWebRequestContext(org.apache.nifi.web.NiFiWebRequestContext) JerseyTest(org.glassfish.jersey.test.JerseyTest) Test(org.junit.Test)

Aggregations

ComponentDetails (org.apache.nifi.web.ComponentDetails)11 NiFiWebConfigurationContext (org.apache.nifi.web.NiFiWebConfigurationContext)10 Test (org.junit.Test)8 HashMap (java.util.HashMap)6 JerseyTest (org.glassfish.jersey.test.JerseyTest)6 NiFiWebRequestContext (org.apache.nifi.web.NiFiWebRequestContext)5 JoltSpecificationDTO (org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO)4 ValidationDTO (org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO)4 Response (javax.ws.rs.core.Response)3 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 HttpServletRequest (javax.servlet.http.HttpServletRequest)2 Path (javax.ws.rs.Path)2 Produces (javax.ws.rs.Produces)2 NiFiWebConfigurationRequestContext (org.apache.nifi.web.NiFiWebConfigurationRequestContext)2 Map (java.util.Map)1 Consumes (javax.ws.rs.Consumes)1 GET (javax.ws.rs.GET)1 NotFoundException (javax.ws.rs.NotFoundException)1 PUT (javax.ws.rs.PUT)1 WebApplicationException (javax.ws.rs.WebApplicationException)1