[ 
https://issues.apache.org/jira/browse/NIFI-1850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15285819#comment-15285819
 ] 

ASF GitHub Bot commented on NIFI-1850:
--------------------------------------

Github user mcgilman commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/424#discussion_r63453206
  
    --- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-transform-json-ui/src/main/java/org/apache/nifi/web/standard/api/processor/ProcessorResource.java
 ---
    @@ -0,0 +1,100 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.nifi.web.standard.api.processor;
    +
    +import java.util.Map;
    +
    +import javax.ws.rs.Consumes;
    +import javax.ws.rs.GET;
    +import javax.ws.rs.POST;
    +import javax.ws.rs.Path;
    +import javax.ws.rs.Produces;
    +import javax.ws.rs.QueryParam;
    +import javax.ws.rs.core.MediaType;
    +import javax.ws.rs.core.Response;
    +
    +import org.apache.nifi.web.ComponentDetails;
    +import org.apache.nifi.web.ComponentDescriptor;
    +import org.apache.nifi.web.NiFiWebConfigurationContext;
    +
    +import org.apache.nifi.web.NiFiWebConfigurationRequestContext;
    +import org.apache.nifi.web.standard.api.AbstractStandardResource;
    +import org.apache.nifi.web.util.CustomUIUtils;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +@Path("/standard/processor")
    +public class ProcessorResource extends AbstractStandardResource {
    +
    +    private static final Logger logger = 
LoggerFactory.getLogger(ProcessorResource.class);
    +
    +    @GET
    +    @Produces({MediaType.APPLICATION_JSON})
    +    @Path("/properties")
    +    public Response getProperties(@QueryParam("processorId") final String 
processorId) {
    +        final NiFiWebConfigurationContext nifiWebContext = 
getWebConfigurationContext();
    +        final ComponentDetails componentDetails = 
CustomUIUtils.getComponentDetails(nifiWebContext, processorId, request);
    +        final Response.ResponseBuilder response = 
CustomUIUtils.applyCacheControl(Response.ok(componentDetails.getProperties()));
    +        return response.build();
    +    }
    +
    +    @GET
    +    @Produces({MediaType.APPLICATION_JSON})
    +    @Path("/type")
    +    public Response getType(@QueryParam("processorId") final String 
processorId) {
    +        final NiFiWebConfigurationContext nifiWebContext = 
getWebConfigurationContext();
    +        final ComponentDetails componentDetails = 
CustomUIUtils.getComponentDetails(nifiWebContext, processorId, request);
    +        final Response.ResponseBuilder response = 
CustomUIUtils.applyCacheControl(Response.ok(componentDetails.getType()));
    +        return response.build();
    +    }
    +
    +    @GET
    +    @Produces({MediaType.APPLICATION_JSON})
    +    @Path("/descriptors")
    +    public Response getDescriptors(@QueryParam("processorId") final String 
processorId) {
    +        final NiFiWebConfigurationContext nifiWebContext = 
getWebConfigurationContext();
    +        final ComponentDetails componentDetails = 
CustomUIUtils.getComponentDetails(nifiWebContext, processorId, request);
    +        final Map<String,ComponentDescriptor> descriptors = 
componentDetails.getDescriptors();
    +        final Response.ResponseBuilder response = 
CustomUIUtils.applyCacheControl(Response.ok(descriptors));
    +        return response.build();
    +    }
    +
    +    @GET
    +    @Produces({MediaType.APPLICATION_JSON})
    +    @Path("/details")
    +    public Response getDetails(@QueryParam("processorId") final String 
processorId) {
    +        final NiFiWebConfigurationContext nifiWebContext = 
getWebConfigurationContext();
    +        final ComponentDetails componentDetails = 
CustomUIUtils.getComponentDetails(nifiWebContext, processorId, request);
    +        final Response.ResponseBuilder response = 
CustomUIUtils.applyCacheControl(Response.ok(componentDetails));
    +        return response.build();
    +    }
    +
    +    @POST
    +    @Produces({MediaType.APPLICATION_JSON})
    +    @Consumes({MediaType.APPLICATION_JSON})
    +    @Path("/properties")
    +    public Response setProperties(@QueryParam("processorId") final String 
processorId, @QueryParam("revisionId") final Long revisionId,
    +                                  @QueryParam("clientId") final String 
clientId, Map<String,String> properties){
    +        final NiFiWebConfigurationContext nifiWebContext = 
getWebConfigurationContext();
    +        final NiFiWebConfigurationRequestContext niFiRequestContext = 
CustomUIUtils.getRequestContext(processorId,revisionId,clientId,request);
    +        final ComponentDetails componentDetails = 
nifiWebContext.setProperties(niFiRequestContext,properties);
    +        final Response.ResponseBuilder response = 
CustomUIUtils.applyCacheControl(Response.ok(componentDetails));
    --- End diff --
    
    Depending on the scheme, this should return the appropriate response. 
Created or Ok.


> JSON-to-JSON Schema Converter Editor
> ------------------------------------
>
>                 Key: NIFI-1850
>                 URL: https://issues.apache.org/jira/browse/NIFI-1850
>             Project: Apache NiFi
>          Issue Type: New Feature
>          Components: Core UI
>            Reporter: Yolanda M. Davis
>            Priority: Minor
>             Fix For: 1.0.0, 0.7.0
>
>
> With NIFI-361 implemented, users can embed a JOLT spec into the TransformJSON 
> processor. However, building the spec is not intuitive enough without the 
> ability to obtain real time feedback on spec syntax and preview output data. 
> Would like to have a specification editor and transform  preview view added 
> to the processor configuration screen to  allow users to immediately see the 
> impact on the output JSON data.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to