[
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)