[ https://issues.apache.org/jira/browse/NIFI-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15392675#comment-15392675 ]
ASF GitHub Bot commented on NIFI-2208: -------------------------------------- Github user JPercivall commented on a diff in the pull request: https://github.com/apache/nifi/pull/571#discussion_r72144814 --- Diff: nifi-api/src/main/java/org/apache/nifi/registry/VariableRegistryUtils.java --- @@ -0,0 +1,63 @@ +/* + * 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.registry; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.nifi.flowfile.FlowFile; + +public class VariableRegistryUtils { + + + public static VariableRegistry createVariableRegistry(){ + VariableRegistry variableRegistry = VariableRegistryFactory.getInstance(); + VariableRegistry envRegistry = VariableRegistryFactory.getInstance(System.getenv()); + VariableRegistry propRegistry = VariableRegistryFactory.getPropertiesInstance(System.getProperties()); + variableRegistry.addRegistry(envRegistry); + variableRegistry.addRegistry(propRegistry); + return variableRegistry; + } + + public static VariableRegistry populateRegistry(VariableRegistry variableRegistry, final FlowFile flowFile, final Map<String, String> additionalAttributes){ + final Map<String, String> flowFileAttributes = flowFile == null ? null : flowFile.getAttributes(); + final Map<String, String> additionalMap = additionalAttributes == null ? null : additionalAttributes; + + Map<String, String> flowFileProps = null; + if (flowFile != null) { + flowFileProps = new HashMap<>(); + flowFileProps.put("flowFileId", String.valueOf(flowFile.getId())); + flowFileProps.put("fileSize", String.valueOf(flowFile.getSize())); + flowFileProps.put("entryDate", String.valueOf(flowFile.getEntryDate())); + flowFileProps.put("lineageStartDate", String.valueOf(flowFile.getLineageStartDate())); + } + VariableRegistry newRegistry = VariableRegistryFactory.getInstance(); + newRegistry.addRegistry(variableRegistry); + + if(flowFileAttributes != null) { + newRegistry.addRegistry(VariableRegistryFactory.getInstance(flowFileAttributes)); --- End diff -- Using VariableRegistryFactory.getInstance to wrap all of theses single maps seems overkill. Should a method be added to VariableRegistry to add a map? > Support Custom Properties in Expression Language - 1.x baseline > --------------------------------------------------------------- > > Key: NIFI-2208 > URL: https://issues.apache.org/jira/browse/NIFI-2208 > Project: Apache NiFi > Issue Type: Bug > Components: Core Framework > Reporter: Mark Payne > Assignee: Yolanda M. Davis > Priority: Blocker > Fix For: 1.0.0 > > > NIFI-1974 addressed this for the 0.x baseline but the PR does not apply > cleanly to the 1.x baseline. Creating a separate JIRA for 1.x so that we can > close out NIFI-1974 since 0.7.0 is ready to be released. -- This message was sent by Atlassian JIRA (v6.3.4#6332)