[
https://issues.apache.org/jira/browse/NIFI-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15393026#comment-15393026
]
ASF GitHub Bot commented on NIFI-2208:
--------------------------------------
Github user YolandaMDavis commented on a diff in the pull request:
https://github.com/apache/nifi/pull/571#discussion_r72176522
--- 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()));
--- End diff --
@JPercivall this code was actually extracted from Query.java. Below is
the method which was the source:
` static Map<String, String> createExpressionMap(final FlowFile flowFile,
final Map<String, String> additionalAttributes) {
final Map<String, String> attributeMap = flowFile == null ?
Collections.emptyMap() : flowFile.getAttributes();
final Map<String, String> additionalOrEmpty = additionalAttributes
== null ? Collections.emptyMap() : additionalAttributes;
final Map<String, String> envMap = System.getenv();
final Map<?, ?> sysProps = System.getProperties();
final Map<String, String> flowFileProps = new HashMap<>();
if (flowFile != null) {
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()));
}
return wrap(additionalOrEmpty, attributeMap, flowFileProps, envMap,
sysProps);
}
`
I'm not sure why LastQueueDate wasn't included here in the original, but if
you suggestion is to add it will be easy to do.
> 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)